r509 1.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/{CONTRIBUTING.mdown → CONTRIBUTING.md} +0 -0
  3. data/{README.mdown → README.md} +44 -38
  4. data/doc/R509.html +4 -4
  5. data/doc/R509/ASN1.html +2 -2
  6. data/doc/R509/ASN1/GeneralName.html +2 -2
  7. data/doc/R509/ASN1/GeneralNames.html +2 -2
  8. data/doc/R509/CRL.html +3 -3
  9. data/doc/R509/CRL/Administrator.html +2 -2
  10. data/doc/R509/CRL/FileReaderWriter.html +2 -2
  11. data/doc/R509/CRL/ReaderWriter.html +2 -2
  12. data/doc/R509/CRL/SQLiteReaderWriter.html +2 -2
  13. data/doc/R509/CRL/SignedList.html +2 -2
  14. data/doc/R509/CSR.html +2 -2
  15. data/doc/R509/Cert.html +3 -3
  16. data/doc/R509/Cert/Extensions.html +3 -3
  17. data/doc/R509/Cert/Extensions/AuthorityInfoAccess.html +2 -2
  18. data/doc/R509/Cert/Extensions/AuthorityKeyIdentifier.html +2 -2
  19. data/doc/R509/Cert/Extensions/BasicConstraints.html +2 -2
  20. data/doc/R509/Cert/Extensions/CRLDistributionPoints.html +2 -2
  21. data/doc/R509/Cert/Extensions/CertificatePolicies.html +2 -2
  22. data/doc/R509/Cert/Extensions/ExtendedKeyUsage.html +2 -2
  23. data/doc/R509/Cert/Extensions/GeneralNamesMixin.html +2 -2
  24. data/doc/R509/Cert/Extensions/InhibitAnyPolicy.html +2 -2
  25. data/doc/R509/Cert/Extensions/KeyUsage.html +2 -2
  26. data/doc/R509/Cert/Extensions/NameConstraints.html +2 -2
  27. data/doc/R509/Cert/Extensions/NoticeReference.html +2 -2
  28. data/doc/R509/Cert/Extensions/OCSPNoCheck.html +2 -2
  29. data/doc/R509/Cert/Extensions/PolicyConstraints.html +2 -2
  30. data/doc/R509/Cert/Extensions/PolicyInformation.html +2 -2
  31. data/doc/R509/Cert/Extensions/PolicyQualifiers.html +2 -2
  32. data/doc/R509/Cert/Extensions/SubjectAlternativeName.html +2 -2
  33. data/doc/R509/Cert/Extensions/SubjectKeyIdentifier.html +2 -2
  34. data/doc/R509/Cert/Extensions/UserNotice.html +2 -2
  35. data/doc/R509/Cert/Extensions/ValidationMixin.html +2 -2
  36. data/doc/R509/CertificateAuthority.html +2 -2
  37. data/doc/R509/CertificateAuthority/OptionsBuilder.html +2 -2
  38. data/doc/R509/CertificateAuthority/Signer.html +2 -2
  39. data/doc/R509/Config.html +2 -2
  40. data/doc/R509/Config/CAConfig.html +2 -2
  41. data/doc/R509/Config/CAConfigPool.html +2 -2
  42. data/doc/R509/Config/CertProfile.html +2 -2
  43. data/doc/R509/Config/SubjectItemPolicy.html +2 -2
  44. data/doc/R509/Engine.html +2 -2
  45. data/doc/R509/Helpers.html +2 -2
  46. data/doc/R509/MessageDigest.html +3 -3
  47. data/doc/R509/NameSanitizer.html +2 -2
  48. data/doc/R509/OCSP.html +2 -2
  49. data/doc/R509/OCSP/Request.html +2 -2
  50. data/doc/R509/OCSP/Request/Nonce.html +2 -2
  51. data/doc/R509/OCSP/Response.html +2 -2
  52. data/doc/R509/OIDMapper.html +26 -16
  53. data/doc/R509/PrivateKey.html +2 -2
  54. data/doc/R509/R509Error.html +2 -2
  55. data/doc/R509/SPKI.html +2 -2
  56. data/doc/R509/Subject.html +2 -2
  57. data/doc/R509/Validity.html +2 -2
  58. data/doc/R509/Validity/Checker.html +2 -2
  59. data/doc/R509/Validity/DefaultChecker.html +2 -2
  60. data/doc/R509/Validity/DefaultWriter.html +2 -2
  61. data/doc/R509/Validity/Status.html +2 -2
  62. data/doc/R509/Validity/Writer.html +2 -2
  63. data/doc/_index.html +2 -8
  64. data/doc/file.LICENSE.html +2 -2
  65. data/doc/file.README.html +15 -7
  66. data/doc/file.r509.html +2 -2
  67. data/doc/file_list.html +0 -10
  68. data/doc/index.html +15 -7
  69. data/doc/method_list.html +300 -300
  70. data/doc/top-level-namespace.html +2 -2
  71. data/lib/r509/message_digest.rb +1 -3
  72. data/lib/r509/oid_mapper.rb +6 -1
  73. data/lib/r509/version.rb +1 -1
  74. data/spec/csr_spec.rb +6 -6
  75. data/spec/fixtures/csr4.pem +25 -25
  76. data/spec/message_digest_spec.rb +0 -15
  77. data/spec/oid_mapper_spec.rb +5 -0
  78. data/spec/spki_spec.rb +1 -1
  79. metadata +14 -35
  80. checksums.yaml.gz.sig +0 -1
  81. data.tar.gz.sig +0 -0
  82. metadata.gz.sig +0 -0
@@ -196,9 +196,9 @@
196
196
  </div>
197
197
 
198
198
  <div id="footer">
199
- Generated on Tue Dec 6 17:27:38 2016 by
199
+ Generated on Thu Nov 2 12:48:00 2017 by
200
200
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
201
- 0.9.5 (ruby-2.4.0).
201
+ 0.9.5 (ruby-2.4.2).
202
202
  </div>
203
203
 
204
204
  </div>
@@ -4,7 +4,7 @@ module R509
4
4
  # MessageDigest allows you to specify MDs in a more friendly fashion
5
5
  class MessageDigest
6
6
  # a list of message digests that this class understands
7
- KNOWN_MDS = ['SHA1', 'SHA224', 'SHA256', 'SHA384', 'SHA512', 'DSS1', 'MD5']
7
+ KNOWN_MDS = ['SHA1', 'SHA224', 'SHA256', 'SHA384', 'SHA512', 'MD5']
8
8
 
9
9
  # this constant defines the default message digest if it is not supplied
10
10
  # or an invalid digest is passed
@@ -37,7 +37,6 @@ module R509
37
37
  when 'sha384' then OpenSSL::Digest::SHA384.new
38
38
  when 'sha512' then OpenSSL::Digest::SHA512.new
39
39
  when 'md5' then OpenSSL::Digest::MD5.new
40
- when 'dss1' then OpenSSL::Digest::DSS1.new
41
40
  else
42
41
  @name = DEFAULT_MD.downcase
43
42
  translate_name_to_digest
@@ -53,7 +52,6 @@ module R509
53
52
  when OpenSSL::Digest::SHA384 then 'sha384'
54
53
  when OpenSSL::Digest::SHA512 then 'sha512'
55
54
  when OpenSSL::Digest::MD5 then 'md5'
56
- when OpenSSL::Digest::DSS1 then 'dss1'
57
55
  else
58
56
  raise ArgumentError, "Unknown digest"
59
57
  end
@@ -12,7 +12,12 @@ module R509
12
12
  if long_name.nil?
13
13
  long_name = short_name
14
14
  end
15
- OpenSSL::ASN1::ObjectId.register(oid, short_name, long_name)
15
+
16
+ begin
17
+ OpenSSL::ASN1::ObjectId.register(oid, short_name, long_name)
18
+ rescue OpenSSL::ASN1::ASN1Error
19
+ false
20
+ end
16
21
  end
17
22
 
18
23
  # Register a batch of OIDs so we have friendly short names
@@ -2,5 +2,5 @@
2
2
  # support.
3
3
  module R509
4
4
  # The version of the r509 gem
5
- VERSION = "1.0"
5
+ VERSION = "1.0.1"
6
6
  end
@@ -78,18 +78,18 @@ describe R509::CSR do
78
78
  it "raises an exception if you provide a list of domains with an existing CSR" do
79
79
  expect { R509::CSR.new(:csr => @csr, :san_names => ['moredomainsiwanttoadd.com']) }.to raise_error(ArgumentError, 'You can\'t add domains to an existing CSR')
80
80
  end
81
- it "changes the message_digest to DSS1 when passed a DSA key" do
81
+ it "changes the message_digest to SHA256 when passed a DSA key" do
82
82
  csr = R509::CSR.new(:subject => [["CN", "dsasigned.com"]], :key => @dsa_key)
83
- expect(csr.message_digest.name).to eq('dss1')
84
- expect(csr.signature_algorithm).to eq('dsaWithSHA1')
83
+ expect(csr.message_digest.name).to eq('sha256')
84
+ expect(csr.signature_algorithm).to eq('dsa_with_SHA256')
85
85
  # dss1 is actually the same as SHA1
86
86
  # Yes this is confusing
87
87
  # see http://www.ruby-doc.org/stdlib-1.9.3/libdoc/openssl/rdoc/OpenSSL/PKey/DSA.html
88
88
  end
89
- it "changes the message_digest to DSS1 when creating a DSA key" do
89
+ it "changes the message_digest to SHA256 when creating a DSA key" do
90
90
  csr = R509::CSR.new(:subject => [["CN", "dsasigned.com"]], :type => "dsa", :bit_length => 512)
91
- expect(csr.message_digest.name).to eq('dss1')
92
- expect(csr.signature_algorithm).to eq('dsaWithSHA1')
91
+ expect(csr.message_digest.name).to eq('sha256')
92
+ expect(csr.signature_algorithm).to eq('dsa_with_SHA256')
93
93
  # dss1 is actually the same as SHA1
94
94
  # Yes this is confusing
95
95
  # see http://www.ruby-doc.org/stdlib-1.9.3/libdoc/openssl/rdoc/OpenSSL/PKey/DSA.html
@@ -1,25 +1,25 @@
1
- -----BEGIN CERTIFICATE REQUEST-----
2
- MIIETDCCAzQCADCBijELMAkGA1UEBhMCVVMxHTAbBgNVBAgMFERpc3RyaWN0IE9m
3
- IENvbHVtYmlhMRMwEQYDVQQHDApXYXNoaW5ndG9uMRMwEQYDVQQKDApNeSBDb21w
4
- YW55MREwDwYDVQQLDAhPcmcgVW5pdDEfMB0GA1UEAwwWY29uY2VudHJhdG9yLnZw
5
- bi5sb2NhbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALZFopgI+Obo
6
- neQN7AWiPRqFxT380fja+eua38n7BkGIadRPtnrolaMMOJQq9u4n8f1lMlCxddCD
7
- C5nvw+wUP8lDPXZ+47m5eypW21Anw+sGum58edoGtXmVoTMEH+MtYvtzj97ZqI2Z
8
- yVaph+zivIH5Bz2hKIf2fFnxCeQgaYECryfzWc135WgPwiNhCIOvUqYeRV6PI9PY
9
- u23QeM8JPuYAHHC87NsEnosRsWzTxF1VF+beS23wgR3BSL8VW3wkGnRnaaukSyVg
10
- zfJRW/75yhny/4JiHzJYA1uY272fcbpTRbVKH2Vk0IjewjJIj9xthrqLl1Y0KV19
11
- 3PX4StZvi+sCAwEAAaCCAXswGgYKKwYBBAGCNw0CAzEMFgo2LjEuNzYwMC4yMEwG
12
- CSsGAQQBgjcVFDE/MD0CAQkMIHBkZ2xtdmNpdG1ncjAxLmNvcnAuc2lyaXVzeG0u
13
- Y29tDA1DT1JQXGZtb25yb2V4DAdjZXJ0cmVxMEwGCisGAQQBgjcNAgExPjA8HiYA
14
- QwBlAHIAdABpAGYAaQBjAGEAdABlAFQAZQBtAHAAbABhAHQAZR4SAFcAZQBiAFMA
15
- ZQByAHYAZQByME0GCSqGSIb3DQEJDjFAMD4wPAYDVR0RBDUwM4ILYWRvbWFpbi5j
16
- b22CEWFub3RoZXJkb21haW4uY29tghFqdXN0YW5leGFtcGxlLmNvbTByBgorBgEE
17
- AYI3DQICMWQwYgIBAR5aAE0AaQBjAHIAbwBzAG8AZgB0ACAAUgBTAEEAIABTAEMA
18
- aABhAG4AbgBlAGwAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8A
19
- dgBpAGQAZQByAwEAMA0GCSqGSIb3DQEBBQUAA4IBAQB3PRUUAwKJ7JC8GnssEf37
20
- hpFZ3x8WGbuRDmKfeSiKtH/JQpWqFKYn9e0sv9W2/gWxYU02ykPUgMu+ccgh2uqi
21
- 6dp/EmtSBw1sIb41/ie1QcQ9lnrOls6ft6unUAQk/FjKWgsPTPhJCaJiCeFWJj81
22
- E3zn/2dCoz9K2XTCFGTBBq8Z8V2dmQwZQTa7Gn2hZN7ZqB3Y6MoI77oMTjJV4Gqm
23
- lqvyW46szlMjAbBFikuy5BftD7xL1s/s+4dJPRroitNTeWgcS7hu41k6FQHbSPff
24
- 9S/qFLRt8NxcukZClkjnDIFpuA5e+eZdL/SX/klALO/Zn1oeeIe3fUii0ihkdHE1
25
- -----END CERTIFICATE REQUEST-----
1
+ -----BEGIN NEW CERTIFICATE REQUEST-----
2
+ MIIEKjCCAxICAQAwgYoxCzAJBgNVBAYTAlVTMR0wGwYDVQQIDBREaXN0cmljdCBP
3
+ ZiBDb2x1bWJpYTETMBEGA1UEBwwKV2FzaGluZ3RvbjERMA8GA1UECwwIT3JnIFVu
4
+ aXQxEzARBgNVBAoMCk15IENvbXBhbnkxHzAdBgNVBAMMFmNvbmNlbnRyYXRvci52
5
+ cG4ubG9jYWwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5WNJl0Oxh
6
+ pu8A5uybAWjjOyQDr/UXeu+/xylNR3C7y7WEPsA5IUv8aa83lw8ag5+OZjN1lpIw
7
+ dy2yHCm9wzfBaxwd4GnU1jQf8hi9wAQsGrJI194eG0gUEHtVVUEmZAEvbiySfGH8
8
+ 9+tL+iemD9Ua1YwDOCErSeqNg9ROZLHw31NuzJawByf5EoKwbZ0G7Rm0T5qUXGW2
9
+ Is8iIq74o2l7haEPSpWeQEXAigyEhB8l2Rr8icuhmVC/IEdz6B2rPe20psMO6vzF
10
+ Apx+WTgm7XzuSfqz0Tv7NABy63dRwGUW3yZn+3yN6EfC5CtkOzm1w2Na1I6wRlVH
11
+ XDJZlj3UxwzTAgMBAAGgggFYMBoGCisGAQQBgjcNAgMxDBYKNi4xLjc2MDEuMjBL
12
+ BgkrBgEEAYI3FRQxPjA8AgEFDBxWQ0hJLUVOLVJHRkZUMS50cnVzdHdhdmUuY29t
13
+ DBBUUlVTVFdBVkVcZGxhbXBhDAdNTUMuRVhFMHIGCisGAQQBgjcNAgIxZDBiAgEB
14
+ HloATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMAQwBoAGEAbgBuAGUAbAAg
15
+ AEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIDAQAw
16
+ eQYJKoZIhvcNAQkOMWwwajA8BgNVHREENTAzggthZG9tYWluLmNvbYIRYW5vdGhl
17
+ cmRvbWFpbi5jb22CEWp1c3RhbmV4YW1wbGUuY29tMB0GA1UdDgQWBBQ6Y8EqbqGM
18
+ hQZOg6Z8u5ro9HvFwTALBgNVHQ8EBAMCBSAwDQYJKoZIhvcNAQEFBQADggEBAGdu
19
+ Cz9tnTWtkGSdUjG3u8RlIWtnwNI+lsw2wYperb2r/eWMYCa8o2k/HsmWbISWiqWO
20
+ HmS5VHoItUTimItRpaMwjDHpz1xrpILRW5vY2RZMh6+/DbZJFnXHuIIQF2gk1G8f
21
+ Z4rYm71EGnvETy7xdbQfMIZegvzyBCdWuT/67OrbBWhPL2VIqkqAn5eEfl2nKv30
22
+ SFyz9Yy63b4bBqYDOkmGlAZxFuPIMuxeiwlqzmXavV4mIB8e+qZnvjTzTjk7VnGb
23
+ b9r4r/Dl4nzFq1c6iii5EBGBcPTDBa/6uanM03nPXSudPEDpT33epUotM9+rsQX9
24
+ dPth/F/Do0QBAyOCyS0=
25
+ -----END NEW CERTIFICATE REQUEST-----
@@ -53,16 +53,6 @@ describe R509::MessageDigest do
53
53
  expect(md.name).to eq("md5")
54
54
  expect(md.digest.is_a?(OpenSSL::Digest::MD5)).to eq(true)
55
55
  end
56
- it "translates dss1 name -> digest" do
57
- md = R509::MessageDigest.new("dss1")
58
- expect(md.name).to eq("dss1")
59
- expect(md.digest.is_a?(OpenSSL::Digest::DSS1)).to eq(true)
60
- end
61
- it "translates DSS1 name -> digest" do
62
- md = R509::MessageDigest.new("DSS1")
63
- expect(md.name).to eq("dss1")
64
- expect(md.digest.is_a?(OpenSSL::Digest::DSS1)).to eq(true)
65
- end
66
56
  it "translates unknown name -> digest" do
67
57
  md = R509::MessageDigest.new("unknown")
68
58
  expect(md.name).to eq("sha256")
@@ -98,11 +88,6 @@ describe R509::MessageDigest do
98
88
  expect(md.name).to eq("md5")
99
89
  expect(md.digest.is_a?(OpenSSL::Digest::MD5)).to eq(true)
100
90
  end
101
- it "translates dss1 digest -> name" do
102
- md = R509::MessageDigest.new(OpenSSL::Digest::DSS1.new)
103
- expect(md.name).to eq("dss1")
104
- expect(md.digest.is_a?(OpenSSL::Digest::DSS1)).to eq(true)
105
- end
106
91
  it "creates a default digest with no params or nil" do
107
92
  md = R509::MessageDigest.new
108
93
  expect(md.name).to eq(R509::MessageDigest::DEFAULT_MD.downcase)
@@ -17,6 +17,11 @@ describe R509::OIDMapper do
17
17
  expect(subject_new['myOIDName']).to eq('random_oid')
18
18
  end
19
19
 
20
+ it "returns false when registering an oid that already exists" do
21
+ allow(OpenSSL::ASN1::ObjectId).to receive(:register).and_raise(OpenSSL::ASN1::ASN1Error)
22
+ expect(R509::OIDMapper.register('1.4.3.2.1.2.7.4.4.4.4', 'someOtherName')).to eq(false)
23
+ end
24
+
20
25
  it "registers a batch of new oids" do
21
26
  expect { R509::Subject.new [['testOIDName', 'random_oid']] }.to raise_error(OpenSSL::X509::NameError, 'invalid field name')
22
27
  expect { R509::Subject.new [['anotherOIDName', 'second_random']] }.to raise_error(OpenSSL::X509::NameError, 'invalid field name')
@@ -22,7 +22,7 @@ shared_examples_for "create spki with private key" do
22
22
  when @key.rsa?
23
23
  expect(spki.signature_algorithm).to(match(/sha256/i))
24
24
  when @key.dsa?
25
- expect(spki.signature_algorithm).to(match(/sha1/i))
25
+ expect(spki.signature_algorithm).to(match(/sha256/i))
26
26
  end
27
27
  spki.verify_signature
28
28
  end
metadata CHANGED
@@ -1,35 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: r509
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Kehrer
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDPDCCAiSgAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMRYwFAYDVQQDDA1wYXVs
14
- Lmwua2VocmVyMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZ
15
- FgNjb20wHhcNMTYxMjA2MTUzMDAyWhcNMTcxMjA2MTUzMDAyWjBEMRYwFAYDVQQD
16
- DA1wYXVsLmwua2VocmVyMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJ
17
- k/IsZAEZFgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDLVC6U
18
- 0ZyX4C4HllJxHW0Uq39bvRvfNXc0RXMSvIRklxjupx3EICVATpAJzg4qBxbpxRTe
19
- XcsmuYfaZAriSH2M97C2sBJnVEAr63ws2vmBQKw9cXHV3RjQTeqQUTQudE790DTI
20
- 7pc1ObprB4pM2j3O6JtPVzmJ/PGACjtyg4bys6bx7JQJW5liunK26mS6w6mAAcAV
21
- scAz7oh6fmOI0OSS45l3ycOEh5sb42cZzs7TNzcvVmEppTRa4wBP4/eDTuohxlPH
22
- skuIPWcdU6YTo2LWwqEaGgUItj8lRqXGDcEZ1FhKyZ6HUD3l1zPGxojW8BKr0Svj
23
- /cMP+y0YH5OeoD+vAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0G
24
- A1UdDgQWBBRG/XG7L1orNzHDGQaIv97hRgJYajANBgkqhkiG9w0BAQUFAAOCAQEA
25
- nhyFPJjIrxxka6vXSxaeSSLAJ6q/oeRqHxoJtT46JYPWeeT7j/vjFwS96oY5gWJk
26
- STjSuGp+wFKKrdttswO2+GzpoTrOabQMw6kg1Y0hYXjJ5O52EDHmDPFKXK+yOYkK
27
- GOAQZ8KXEnczOXTWiigLkwkEI5eH+vCMYSSvVpYlSmsgj6nYjl0K+XxWfXseBLv2
28
- rLKOPJOyqpW2fuOxutEfQ3ZvgjeuzUnjXSuOuwZNrQSOODC2sYXyebd7UbjU+AsD
29
- eJKxcHs4mnzJUqy/5FZbS/i8lMYMDy0elcc44zd+qDsY7zreRzpoB2XinMWV99vd
30
- rHOwDzJDt8KFQ4zf0Bsrvg==
31
- -----END CERTIFICATE-----
32
- date: 2016-12-06 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2017-11-02 00:00:00.000000000 Z
33
12
  dependencies:
34
13
  - !ruby/object:Gem::Dependency
35
14
  name: rspec
@@ -82,9 +61,9 @@ executables:
82
61
  extensions: []
83
62
  extra_rdoc_files: []
84
63
  files:
85
- - CONTRIBUTING.mdown
64
+ - CONTRIBUTING.md
86
65
  - LICENSE
87
- - README.mdown
66
+ - README.md
88
67
  - Rakefile
89
68
  - bin/r509
90
69
  - bin/r509-parse
@@ -356,7 +335,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
356
335
  requirements:
357
336
  - - ">="
358
337
  - !ruby/object:Gem::Version
359
- version: 1.9.3
338
+ version: '2.0'
360
339
  required_rubygems_version: !ruby/object:Gem::Requirement
361
340
  requirements:
362
341
  - - ">="
@@ -364,20 +343,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
364
343
  version: '0'
365
344
  requirements: []
366
345
  rubyforge_project:
367
- rubygems_version: 2.6.8
346
+ rubygems_version: 2.6.14
368
347
  signing_key:
369
348
  specification_version: 4
370
349
  summary: A (relatively) simple X.509 certification authority API
371
350
  test_files:
351
+ - spec/oid_mapper_spec.rb
372
352
  - spec/asn1_spec.rb
373
353
  - spec/cert_spec.rb
374
- - spec/csr_spec.rb
375
- - spec/engine_spec.rb
376
- - spec/message_digest_spec.rb
377
- - spec/ocsp_spec.rb
378
- - spec/oid_mapper_spec.rb
379
354
  - spec/private_key_spec.rb
355
+ - spec/ocsp_spec.rb
356
+ - spec/validity_spec.rb
357
+ - spec/subject_spec.rb
380
358
  - spec/r509_spec.rb
359
+ - spec/engine_spec.rb
360
+ - spec/csr_spec.rb
361
+ - spec/message_digest_spec.rb
381
362
  - spec/spki_spec.rb
382
- - spec/subject_spec.rb
383
- - spec/validity_spec.rb
@@ -1 +0,0 @@
1
- ���EwX�Y�����թ"�}R'֔W2`���:ՙnL5�CW���ڼB����N�q+�y.wYFR!&C�*=}= uY�[�':�e����c��Z�K`�T'W��F�y��F%�^ KUZ��+�+�&��ؙ�����贳�P��UN8+I8��n�Ctp�'9ۨ(���Z��P�8/`���2���{H���n �D��YO�
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
Binary file