amazon-archives-certlint的安装、配置与使用(Ubuntu虚拟机,github.com/amazon-archives/certlint)

GitHub - amazon-archives/certlint: X.509 certificate lint

  • bin    修复没有的UTF-8字符串的匹配问题
  • data    更新数据文件
  • ext    再生源
  • lib    在名称比较路程上添加注释
  • spec    Gemize
  • .gitignore    Gemize
  • .rubocop.yml    引入证书错误检查工具
  • CODE_OF_CONDUCT.md    Gemize
  • Gemfile    Gemize
  • LICENSE    初始提交
  • README.md    添加提供者
  • Rakefile    Gemize
  • certlint.gemspec    添加版本
  • make-names.rb    更新数据
  • update-data.sh    通过HTTPS请求所有数据的URL

1. README.md:证书目录说明

说明:.md全程markdown,是一种标记语言,可以用记事本、EditPlus等等文本编辑器打开

2. LICENSE:Apache-2.0 License(阿帕奇许可证)

3. .rubocop.yml:

Metrics/LineLength:      #----auto-correct
  Enabled: false

说明:

1)YAML是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用

2)YAML的语法比较简洁直观,特点是使用空格来表达层次结构,其最大的优势在于数据结构方面的表达,所以YAML更多应用于编写配置文件,其文件一般以.yml为后缀

3)语法部分见:一文看懂 YAML | 菜鸟小栈 (chenpipi.cn)

4)搞定Ruby中的bug:Rubocop是一个代码分析器。它有很多的“Cops",每个”Cops"都是一种不同的检测,都能在代码中体现出来。Cops能够被添加和配置。管理所有选项的最佳方法是使用.rubocop.yml配置文件,即上述框中的代码。它可以集成到你喜欢的编辑器中,有许多的编辑器插件,类似SublimeText。

4.make-names.rb:

 1 #!/usr/bin/ruby
 2 
 3 # Prefill with the CA/B Forum attributes
 4 attrs = {
 5 '1.3.6.1.4.1.311.60.2.1.1' => 'jurisdictionLocalityName',
 6 '1.3.6.1.4.1.311.60.2.1.2' => 'jurisdictionStateOrProvinceName',
 7 '1.3.6.1.4.1.311.60.2.1.3' => 'jurisdictionCountryName'
 8 }
 9 
10 IO.foreach(ARGV[0]) do |line|
11   p = line.strip.split(',')
12   next unless p[1] == 'A' && p[2] =~ /^[0-2]/
13   oid = p[2].strip.split('.').map(&:strip).join('.')
14   name = p[0]
15   if !attrs.key? oid
16     attrs[oid] = name
17   elsif attrs[oid].length < name.length
18     attrs[oid] = name
19   end
20 end
21 
22 def sort_oid(ao, bo)
23   a = ao.split('.').map(&:to_i)
24   b = bo.split('.').map(&:to_i)
25   p = 0
26   a.each do |seg|
27     return 1 if b[p].nil?
28     return 1 if seg > b[p]
29     return -1 if seg < b[p]
30     p += 1
31   end
32   if !b[p].nil?
33     return -1
34   end
35   0
36 end
37   
38 
39 attrs.keys.sort{|a,b|sort_oid(a,b)}.each do |oid|
40   puts "'#{oid}' => '#{attrs[oid]}',"
41 end

说明:

1).rb是一个包含Ruby程序/脚本源代码的文本文件

2)

说明:

1)Ruby环境在Linux中的安装 :https://blog.csdn.net/qq_41690477/article/details/82750530

2)Ruby在Linux中的运行:https://jingyan.baidu.com/article/3065b3b6b32d83becef8a442.html

 

上一篇:进程/线程池、协程、gevent第三方库


下一篇:1221. Split a String in Balanced Strings