r509 0.8.1 → 0.9
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.
- data/README.md +343 -151
- data/Rakefile +26 -23
- data/bin/r509 +126 -112
- data/bin/r509-parse +24 -24
- data/doc/R509.html +169 -7
- data/doc/R509/ASN1.html +370 -0
- data/doc/R509/ASN1/GeneralName.html +1121 -0
- data/doc/R509/ASN1/GeneralNames.html +843 -0
- data/doc/R509/ASN1/NoticeReference.html +392 -0
- data/doc/R509/ASN1/PolicyInformation.html +387 -0
- data/doc/R509/ASN1/PolicyQualifiers.html +455 -0
- data/doc/R509/ASN1/UserNotice.html +386 -0
- data/doc/R509/{Crl.html → CRL.html} +7 -7
- data/doc/R509/CRL/Administrator.html +1559 -0
- data/doc/R509/{Crl/Parser.html → CRL/SignedList.html} +501 -210
- data/doc/R509/{Csr.html → CSR.html} +444 -314
- data/doc/R509/Cert.html +866 -617
- data/doc/R509/Cert/Extensions.html +52 -41
- data/doc/R509/Cert/Extensions/AuthorityInfoAccess.html +70 -35
- data/doc/R509/Cert/Extensions/AuthorityKeyIdentifier.html +387 -4
- data/doc/R509/Cert/Extensions/BasicConstraints.html +61 -25
- data/doc/R509/Cert/Extensions/CRLDistributionPoints.html +354 -0
- data/doc/R509/Cert/Extensions/CertificatePolicies.html +340 -0
- data/doc/R509/Cert/Extensions/ExtendedKeyUsage.html +440 -49
- data/doc/R509/Cert/Extensions/{CrlDistributionPoints.html → InhibitAnyPolicy.html} +52 -35
- data/doc/R509/Cert/Extensions/KeyUsage.html +247 -121
- data/doc/R509/Cert/Extensions/NameConstraints.html +445 -0
- data/doc/R509/Cert/Extensions/OCSPNoCheck.html +239 -0
- data/doc/R509/Cert/Extensions/PolicyConstraints.html +424 -0
- data/doc/R509/Cert/Extensions/SubjectAlternativeName.html +437 -62
- data/doc/R509/Cert/Extensions/SubjectKeyIdentifier.html +52 -10
- data/doc/R509/CertificateAuthority.html +4 -4
- data/doc/R509/CertificateAuthority/Signer.html +154 -187
- data/doc/R509/Config.html +6 -6
- data/doc/R509/Config/{CaConfig.html → CAConfig.html} +451 -348
- data/doc/R509/Config/{CaConfigPool.html → CAConfigPool.html} +47 -47
- data/doc/R509/Config/CAProfile.html +1015 -0
- data/doc/R509/Config/SubjectItemPolicy.html +86 -86
- data/doc/R509/IOHelpers.html +22 -22
- data/doc/R509/MessageDigest.html +14 -14
- data/doc/R509/NameSanitizer.html +53 -53
- data/doc/R509/{Ocsp.html → OCSP.html} +9 -9
- data/doc/R509/{Ocsp → OCSP}/Request.html +7 -7
- data/doc/R509/{Ocsp → OCSP}/Request/Nonce.html +56 -11
- data/doc/R509/{Ocsp → OCSP}/Response.html +44 -44
- data/doc/R509/{OidMapper.html → OIDMapper.html} +23 -39
- data/doc/R509/PrivateKey.html +415 -168
- data/doc/R509/R509Error.html +3 -3
- data/doc/R509/{Spki.html → SPKI.html} +354 -192
- data/doc/R509/Subject.html +224 -113
- data/doc/R509/Validity.html +27 -5
- data/doc/R509/Validity/Checker.html +13 -13
- data/doc/R509/Validity/DefaultChecker.html +13 -13
- data/doc/R509/Validity/DefaultWriter.html +14 -14
- data/doc/R509/Validity/Status.html +39 -39
- data/doc/R509/Validity/Writer.html +18 -18
- data/doc/_index.html +138 -35
- data/doc/class_list.html +1 -1
- data/doc/css/style.css +10 -0
- data/doc/file.README.html +368 -171
- data/doc/file.r509.html +92 -69
- data/doc/frames.html +1 -1
- data/doc/index.html +368 -171
- data/doc/method_list.html +910 -390
- data/doc/top-level-namespace.html +3 -3
- data/lib/r509.rb +32 -16
- data/lib/r509/asn1.rb +375 -0
- data/lib/r509/cert.rb +381 -364
- data/lib/r509/cert/extensions.rb +443 -76
- data/lib/r509/certificate_authority.rb +407 -0
- data/lib/r509/config.rb +547 -351
- data/lib/r509/crl.rb +336 -366
- data/lib/r509/csr.rb +278 -289
- data/lib/r509/ec-hack.rb +37 -0
- data/lib/r509/exceptions.rb +3 -3
- data/lib/r509/io_helpers.rb +44 -44
- data/lib/r509/message_digest.rb +53 -0
- data/lib/r509/ocsp.rb +80 -70
- data/lib/r509/oid_mapper.rb +32 -0
- data/lib/r509/private_key.rb +228 -0
- data/lib/r509/spki.rb +145 -93
- data/lib/r509/subject.rb +203 -110
- data/lib/r509/validity.rb +70 -68
- data/lib/r509/version.rb +2 -2
- data/r509.yaml +92 -69
- data/spec/asn1_spec.rb +402 -0
- data/spec/cert/extensions_spec.rb +957 -494
- data/spec/cert_spec.rb +382 -307
- data/spec/certificate_authority_spec.rb +668 -250
- data/spec/config_spec.rb +515 -302
- data/spec/crl_spec.rb +197 -198
- data/spec/csr_spec.rb +334 -289
- data/spec/fixtures.rb +247 -171
- data/spec/fixtures/cert1.der +0 -0
- data/spec/fixtures/cert1.pem +0 -0
- data/spec/fixtures/cert1_public_key_modulus.txt +0 -0
- data/spec/fixtures/cert3.p12 +0 -0
- data/spec/fixtures/cert3.pem +0 -0
- data/spec/fixtures/cert3_key.pem +0 -0
- data/spec/fixtures/cert3_key_des3.pem +0 -0
- data/spec/fixtures/cert4.pem +0 -0
- data/spec/fixtures/cert5.pem +0 -0
- data/spec/fixtures/cert6.pem +0 -0
- data/spec/fixtures/cert_expired.pem +0 -0
- data/spec/fixtures/cert_inhibit.pem +24 -0
- data/spec/fixtures/cert_name_constraints.pem +29 -0
- data/spec/fixtures/cert_not_yet_valid.pem +0 -0
- data/spec/fixtures/cert_ocsp_no_check.pem +18 -0
- data/spec/fixtures/cert_policy_constraints.pem +31 -0
- data/spec/fixtures/cert_san.pem +0 -0
- data/spec/fixtures/cert_san2.pem +0 -0
- data/spec/fixtures/cert_unknown_extension.pem +28 -0
- data/spec/fixtures/config_pool_test_minimal.yaml +11 -11
- data/spec/fixtures/config_test.yaml +54 -36
- data/spec/fixtures/config_test_dsa.yaml +35 -0
- data/spec/fixtures/config_test_ec.yaml +35 -0
- data/spec/fixtures/config_test_engine_key.yaml +5 -5
- data/spec/fixtures/config_test_engine_no_key_name.yaml +4 -4
- data/spec/fixtures/config_test_minimal.yaml +4 -4
- data/spec/fixtures/config_test_password.yaml +5 -5
- data/spec/fixtures/config_test_various.yaml +111 -74
- data/spec/fixtures/crl_list_file.txt +0 -0
- data/spec/fixtures/crl_with_reason.pem +0 -0
- data/spec/fixtures/csr1.der +0 -0
- data/spec/fixtures/csr1.pem +0 -0
- data/spec/fixtures/csr1_key.der +0 -0
- data/spec/fixtures/csr1_key.pem +0 -0
- data/spec/fixtures/csr1_key_encrypted_des3.pem +0 -0
- data/spec/fixtures/csr1_newlines.pem +0 -0
- data/spec/fixtures/csr1_no_begin_end.pem +0 -0
- data/spec/fixtures/csr1_public_key_modulus.txt +0 -0
- data/spec/fixtures/csr2.pem +0 -0
- data/spec/fixtures/csr2_key.pem +0 -0
- data/spec/fixtures/csr3.pem +0 -0
- data/spec/fixtures/csr4.pem +0 -0
- data/spec/fixtures/csr_dsa.pem +0 -0
- data/spec/fixtures/csr_invalid_signature.pem +0 -0
- data/spec/fixtures/dsa_key.pem +0 -0
- data/spec/fixtures/dsa_root.cer +28 -0
- data/spec/fixtures/dsa_root.key +20 -0
- data/spec/fixtures/ec_csr2.der +0 -0
- data/spec/fixtures/ec_csr2.pem +8 -0
- data/spec/fixtures/ec_key1.der +0 -0
- data/spec/fixtures/ec_key1.pem +6 -0
- data/spec/fixtures/ec_key1_encrypted.pem +9 -0
- data/spec/fixtures/ec_key2.pem +6 -0
- data/spec/fixtures/hmacsha1.sig +1 -0
- data/spec/fixtures/hmacsha512.sig +1 -0
- data/spec/fixtures/key4.pem +0 -0
- data/spec/fixtures/key4_encrypted_des3.pem +0 -0
- data/spec/fixtures/missing_key_identifier_ca.cer +0 -0
- data/spec/fixtures/missing_key_identifier_ca.key +0 -0
- data/spec/fixtures/ocsptest.r509.local.pem +0 -0
- data/spec/fixtures/ocsptest.r509.local_ocsp_request.der +0 -0
- data/spec/fixtures/ocsptest2.r509.local.pem +0 -0
- data/spec/fixtures/second_ca.cer +0 -0
- data/spec/fixtures/second_ca.key +0 -0
- data/spec/fixtures/spkac.der +0 -0
- data/spec/fixtures/spkac.txt +0 -0
- data/spec/fixtures/spkac_dsa.txt +1 -1
- data/spec/fixtures/spkac_dsa_no_verify.txt +1 -0
- data/spec/fixtures/spkac_ec.txt +1 -0
- data/spec/fixtures/spkac_rsa_newlines.txt +13 -0
- data/spec/fixtures/stca.pem +0 -0
- data/spec/fixtures/stca_ocsp_request.der +0 -0
- data/spec/fixtures/stca_ocsp_response.der +0 -0
- data/spec/fixtures/test1.csr +0 -0
- data/spec/fixtures/test_ca.cer +0 -0
- data/spec/fixtures/test_ca.key +0 -0
- data/spec/fixtures/test_ca.p12 +0 -0
- data/spec/fixtures/test_ca_des3.key +0 -0
- data/spec/fixtures/test_ca_ec.cer +14 -0
- data/spec/fixtures/test_ca_ec.key +6 -0
- data/spec/fixtures/test_ca_ec_ee.cer +22 -0
- data/spec/fixtures/test_ca_ec_ee.key +6 -0
- data/spec/fixtures/test_ca_ocsp.cer +0 -0
- data/spec/fixtures/test_ca_ocsp.key +0 -0
- data/spec/fixtures/test_ca_ocsp.p12 +0 -0
- data/spec/fixtures/test_ca_ocsp_chain.txt +0 -0
- data/spec/fixtures/test_ca_ocsp_response.der +0 -0
- data/spec/fixtures/test_ca_subroot.cer +0 -0
- data/spec/fixtures/test_ca_subroot.key +0 -0
- data/spec/fixtures/test_ca_subroot_ocsp.cer +0 -0
- data/spec/fixtures/test_ca_subroot_ocsp.key +0 -0
- data/spec/fixtures/test_ca_subroot_ocsp_response.der +0 -0
- data/spec/fixtures/unknown_oid.csr +0 -0
- data/spec/message_digest_spec.rb +104 -84
- data/spec/ocsp_spec.rb +105 -105
- data/spec/oid_mapper_spec.rb +21 -21
- data/spec/private_key_spec.rb +275 -0
- data/spec/r509_spec.rb +35 -0
- data/spec/spec_helper.rb +15 -6
- data/spec/spki_spec.rb +221 -142
- data/spec/subject_spec.rb +232 -164
- data/spec/validity_spec.rb +91 -91
- metadata +79 -25
- data/doc/R509/Config/CaProfile.html +0 -651
- data/doc/R509/Crl/Administrator.html +0 -2073
- data/lib/r509/certificateauthority.rb +0 -290
- data/lib/r509/messagedigest.rb +0 -49
- data/lib/r509/oidmapper.rb +0 -32
- data/lib/r509/privatekey.rb +0 -185
- data/spec/privatekey_spec.rb +0 -198
File without changes
|
File without changes
|
data/spec/fixtures/csr1.der
CHANGED
File without changes
|
data/spec/fixtures/csr1.pem
CHANGED
File without changes
|
data/spec/fixtures/csr1_key.der
CHANGED
File without changes
|
data/spec/fixtures/csr1_key.pem
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/spec/fixtures/csr2.pem
CHANGED
File without changes
|
data/spec/fixtures/csr2_key.pem
CHANGED
File without changes
|
data/spec/fixtures/csr3.pem
CHANGED
File without changes
|
data/spec/fixtures/csr4.pem
CHANGED
File without changes
|
data/spec/fixtures/csr_dsa.pem
CHANGED
File without changes
|
File without changes
|
data/spec/fixtures/dsa_key.pem
CHANGED
File without changes
|
@@ -0,0 +1,28 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIE1jCCBH2gAwIBAgITBhgK1HP+y01CN6gLKGvT1Ay+OjAJBgcqhkjOOAQDMFsx
|
3
|
+
CzAJBgNVBAYTAlVTMREwDwYDVQQIDAhJbGxpbm9pczEQMA4GA1UEBwwHQ2hpY2Fn
|
4
|
+
bzERMA8GA1UECgwIcjUwOSBMTEMxFDASBgNVBAMMC3I1MDkgRFNBIENBMB4XDTEz
|
5
|
+
MDEyMzE4NDgzMloXDTMzMDExOTAwNDgzMlowWzELMAkGA1UEBhMCVVMxETAPBgNV
|
6
|
+
BAgMCElsbGlub2lzMRAwDgYDVQQHDAdDaGljYWdvMREwDwYDVQQKDAhyNTA5IExM
|
7
|
+
QzEUMBIGA1UEAwwLcjUwOSBEU0EgQ0EwggNGMIICOQYHKoZIzjgEATCCAiwCggEB
|
8
|
+
AI/L+u9/bYsvJFq1bG5R8E2lAvpTzgIl41E1iBKo0nbaygMqOo3LsICkMA5a1/5B
|
9
|
+
WKVpJ7ru+baOhrbQ9MfqUS1jMiKYrdFQE+38kd4RzNIpDQTesH/0NWHCSQO1//PX
|
10
|
+
GL+QtvE6K0EvJy6nUgquDuCpSyIDFi2DdmHNZsI+tf7I6sDjCrvPWo+haWHoZkp6
|
11
|
+
ElE1BDZl/tfhyXRbxXssfx0Sf0OdjxJIsXSkZptjyLIpbtyw61TXrp7GW09D9dCM
|
12
|
+
AdHxirWn9I0zt7lR28grEFcS8D0+qgcaBF0Tyvcqh6zamZtgvT8T5dtWVUTkE1lu
|
13
|
+
A641GKQGZxBKFzEgqPLKAzMCIQCcAskwfGVpQIkwv9vGFHff6p/ys4HnXOMtan06
|
14
|
+
0aTRoQKCAQAbNhiR+dEkr0eoMH3ObKi5Qt4H6aJFM15Dv+4y6FOcKjhq9AU5nerQ
|
15
|
+
HqmgPtgAeieR+9nheC4o5ijWpTBYw28aT7+svJy1Qu2oEuFmFNOnlkLtm5GPxoU3
|
16
|
+
IzUqikRDlGQExWbIGPAmrh/iXVtBpzRw3/GdhWCqvgtVGumIEeKougSFFK4CnWfF
|
17
|
+
g6/PyVSbbNY97m+goAhliELcKTXJRwX89SqfVBdHAIcFAYt7jc8DZp3aBtQEQTxV
|
18
|
+
EJL8S3YIq1xE46iQD9qhmS2d2enn3ooN0JaNZzXSVYr811gk3187eb6KMl8IoKGo
|
19
|
+
OaCaR6jELgEqdazRzmtBsx6eV+NJ5Ri6A4IBBQACggEAV2bO5agD5P6hApVFqTft
|
20
|
+
UjqHLtZxlGMy0R3PaF3WSQOjCXoBiCrs3fA5WJMaQcQs3CgMFQrMAfsym6x9tCif
|
21
|
+
BYnYDN67/OE9B2SW7UBKUGD1DIKNPTNzNApaHNKgd75TnSIE40aMrB/achiHCuS7
|
22
|
+
9OIJb29soq/3NXCUL86BK/OKy6ZNlasH74+y+7yDEHeOeP21lzLAE3UNXAAIhU3y
|
23
|
+
6Q0JfXSCL3O+OLGlWZGU0pdRKGFIvDT1IUY+2FQGTlkFl1/PCm07NxDXPC9KlhKr
|
24
|
+
hgBU4hRTbeYOaSFLMeyl81L9XcKzKbWKocEual6xNlMfEADxnISMocMW3DZZUROx
|
25
|
+
RaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUTEO7z1ZVIF5Z09S3tz01
|
26
|
+
ThzCewswCQYHKoZIzjgEAwNIADBFAiAaSZyJzZ87joF64KfDtTO24NXUFZRDLrAa
|
27
|
+
xV3VlyyUrgIhAJEZJ4OB5ziXZHHi8bW6ePoAA2WMuVoHKcpRuj7dgb/2
|
28
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,20 @@
|
|
1
|
+
-----BEGIN DSA PRIVATE KEY-----
|
2
|
+
MIIDVQIBAAKCAQEAj8v6739tiy8kWrVsblHwTaUC+lPOAiXjUTWIEqjSdtrKAyo6
|
3
|
+
jcuwgKQwDlrX/kFYpWknuu75to6GttD0x+pRLWMyIpit0VAT7fyR3hHM0ikNBN6w
|
4
|
+
f/Q1YcJJA7X/89cYv5C28TorQS8nLqdSCq4O4KlLIgMWLYN2Yc1mwj61/sjqwOMK
|
5
|
+
u89aj6FpYehmSnoSUTUENmX+1+HJdFvFeyx/HRJ/Q52PEkixdKRmm2PIsilu3LDr
|
6
|
+
VNeunsZbT0P10IwB0fGKtaf0jTO3uVHbyCsQVxLwPT6qBxoEXRPK9yqHrNqZm2C9
|
7
|
+
PxPl21ZVROQTWW4DrjUYpAZnEEoXMSCo8soDMwIhAJwCyTB8ZWlAiTC/28YUd9/q
|
8
|
+
n/Kzgedc4y1qfTrRpNGhAoIBABs2GJH50SSvR6gwfc5sqLlC3gfpokUzXkO/7jLo
|
9
|
+
U5wqOGr0BTmd6tAeqaA+2AB6J5H72eF4LijmKNalMFjDbxpPv6y8nLVC7agS4WYU
|
10
|
+
06eWQu2bkY/GhTcjNSqKREOUZATFZsgY8CauH+JdW0GnNHDf8Z2FYKq+C1Ua6YgR
|
11
|
+
4qi6BIUUrgKdZ8WDr8/JVJts1j3ub6CgCGWIQtwpNclHBfz1Kp9UF0cAhwUBi3uN
|
12
|
+
zwNmndoG1ARBPFUQkvxLdgirXETjqJAP2qGZLZ3Z6efeig3Qlo1nNdJVivzXWCTf
|
13
|
+
Xzt5vooyXwigoag5oJpHqMQuASp1rNHOa0GzHp5X40nlGLoCggEAV2bO5agD5P6h
|
14
|
+
ApVFqTftUjqHLtZxlGMy0R3PaF3WSQOjCXoBiCrs3fA5WJMaQcQs3CgMFQrMAfsy
|
15
|
+
m6x9tCifBYnYDN67/OE9B2SW7UBKUGD1DIKNPTNzNApaHNKgd75TnSIE40aMrB/a
|
16
|
+
chiHCuS79OIJb29soq/3NXCUL86BK/OKy6ZNlasH74+y+7yDEHeOeP21lzLAE3UN
|
17
|
+
XAAIhU3y6Q0JfXSCL3O+OLGlWZGU0pdRKGFIvDT1IUY+2FQGTlkFl1/PCm07NxDX
|
18
|
+
PC9KlhKrhgBU4hRTbeYOaSFLMeyl81L9XcKzKbWKocEual6xNlMfEADxnISMocMW
|
19
|
+
3DZZUROxRQIgAjscZsAddwQTxoQob5lNxlaqDmNJ8Z9ccpwJ3985Y0Y=
|
20
|
+
-----END DSA PRIVATE KEY-----
|
Binary file
|
@@ -0,0 +1,8 @@
|
|
1
|
+
-----BEGIN CERTIFICATE REQUEST-----
|
2
|
+
MIIBCDCBkQIBADASMRAwDgYDVQQDDAdlYy10ZXN0MHYwEAYHKoZIzj0CAQYFK4EE
|
3
|
+
ACIDYgAEKEBA2qgDKNLOAWJ6hl5xtabcdeCH2rJGr39M9aWGo0z3zk746RSwI7Vm
|
4
|
+
rev6yRbIwJ/1Yn5ScRwiD8esdGQ0BCbF8gPr8wgdlFfpo8I9OYHRC0tav/gdvl+h
|
5
|
+
VUCkoQ+toAAwCQYHKoZIzj0EAQNnADBkAjBROBJwraCXt0UfSyeAKQGuLpYSvBAH
|
6
|
+
DNMcTe0R7SmRi3jbbtPFq/BoiDRGSgm8iDwCMBHsD9ffUJAosVHKh3Re+HrgVdPk
|
7
|
+
xNO6R2WTttC6UjOi2Hx5pciuYQFBhEDSdssS0g==
|
8
|
+
-----END CERTIFICATE REQUEST-----
|
Binary file
|
@@ -0,0 +1,6 @@
|
|
1
|
+
-----BEGIN EC PRIVATE KEY-----
|
2
|
+
MIGkAgEBBDC3557PgR8IoKQQbdWXxCmJFkwhZovgm/qNnHt675cDKrsEjF9efI9G
|
3
|
+
l6uGQmFVyoigBwYFK4EEACKhZANiAARihDoG7rIlGjAWLlOKRtNbdE+q5ypm0JbQ
|
4
|
+
bEG3KN7sJTGFuMIN7Bk44iFwr3XsmWiem+1X84zoyU1RzDUnptpI/MclKCeVJ+1O
|
5
|
+
dLVCyUjBVILf2tvEvz1L/vAOZXUlriI=
|
6
|
+
-----END EC PRIVATE KEY-----
|
@@ -0,0 +1,9 @@
|
|
1
|
+
-----BEGIN EC PRIVATE KEY-----
|
2
|
+
Proc-Type: 4,ENCRYPTED
|
3
|
+
DEK-Info: AES-256-CBC,E531E3D165966F62B139CB819A720F8A
|
4
|
+
|
5
|
+
tnrhm1mkRbQeORVBxQE7z2Jr3jNLOFhF1nWr9HGz2VZmHkoPafJJHma5CJsVbo0g
|
6
|
+
xCw9CdNbhWYDJgtIcsorW6jCGG4QFDHdrXy9dFOC8d6DGeNkd/Ov7u3kSo9JcgRY
|
7
|
+
WFjcfp3/t/1NvpmdDJ7d4uqQekjgSuNXJCOnxsHTKIARtkNUl/2lnNCwVeotPMAd
|
8
|
+
o9b4V3kq9GI3uKh3ur1EeRXhhs3OFDf4+lQ8szJeAew=
|
9
|
+
-----END EC PRIVATE KEY-----
|
@@ -0,0 +1,6 @@
|
|
1
|
+
-----BEGIN EC PRIVATE KEY-----
|
2
|
+
MIGkAgEBBDBBfAGetVeCcM/4L9ZSHPEfuu+OK/CI8F5KP6Js1ZVX1/TZSG0O0fq2
|
3
|
+
qxOzGT0qJEygBwYFK4EEACKhZANiAAQoQEDaqAMo0s4BYnqGXnG1ptx14Ifaskav
|
4
|
+
f0z1pYajTPfOTvjpFLAjtWat6/rJFsjAn/ViflJxHCIPx6x0ZDQEJsXyA+vzCB2U
|
5
|
+
V+mjwj05gdELS1q/+B2+X6FVQKShD60=
|
6
|
+
-----END EC PRIVATE KEY-----
|
@@ -0,0 +1 @@
|
|
1
|
+
��}D�寡@{��G��Z`&*
|
@@ -0,0 +1 @@
|
|
1
|
+
���l�=���1�;+f��3��l����j�Y��T4m�廮��"%^��ozVz(��+��
|
data/spec/fixtures/key4.pem
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/spec/fixtures/second_ca.cer
CHANGED
File without changes
|
data/spec/fixtures/second_ca.key
CHANGED
File without changes
|
data/spec/fixtures/spkac.der
CHANGED
File without changes
|
data/spec/fixtures/spkac.txt
CHANGED
File without changes
|
data/spec/fixtures/spkac_dsa.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
MIIDpDCCA0wwggNGMIICOQYHKoZIzjgEATCCAiwCggEBALKEaCb9bfPzRqwDvOEUCH9v/suup+oTLwthHtJi5i8QnT2e30ZR/0MBaWuADaWyeFZGxAnSohpDyyGYr1EzbDQNQapfcFFF5vciLbhdlcMPygwHAjdyndorkEPvsx5V7JuWcoTeNYW25nOsE5RxWbFphYZDFPu40bjdktNF2XNAk5GDEyzbAASypwSLroweWQlKVETOlV3Fnam825MqM8nt1ov7B5pCzqkNoZ6fy4Z4HEbRXHwZcSIWh0JtVJMZTVykHMQB7DBgjlPdE599Yhjlk1zV5DOAmIg3lGjw1Mx545HY/97M3n002yZtCm4LnIzE43aKmvz3Y4mZbzecmRUCIQDRJU1TnZ3+VpON3aGMCl6EumsSB2QW8rM0PMYx1j2PiQKCAQBD1KDmebuGnF6pdUHictFED/fObIn349/G+S2bywR3uzYvS+XWp8XWKzOm1H33RzolGio6U3uOYad65AS+4lYf198RkEG9YVGkrfGcrAUKaoWLp6UxMxD/RDvC0yO6qN5Q3BZXfkZoPTc9G0NKYmIIsjul2uzsOmAVSSLrZDIsrltLxuhslC2s2iz0qo/WzspEl8ciipQC4y3dBWpsjJBnRkxtR7bHCJOXlKhb60BpBJyKzIrvx534586vMm4PziRgOTVpfbTJ0UflXijkoS24OgS/r1pe0z/m4d/C9GVzdNkRMWK6E0o2SLgF379H6TvGHItafUAA4YwlS4DvYbxfA4IBBQACggEACRNiSaYayP4FJaVEWVPIFy1/l7ExfopK5Nskkxk7712GuHFmS12oqmG/DYZ4fhb1KqtNEG64H529wpK6HQIQyxic65s/0oYoALzHNrIGzDhjxcUH8Z0Hwl6HJQ6iRG7syXT5dZFcOQJ6Aq4XwqNHJLGsrAtyLF8V4wVZcCDYIpfeVMCIIC3T6FwqmNc+i5WRsoF1c9kFUOSD2puh89pF4xwyplYxhCe26CEPt2WAzKw63p+I/ymT6uKPuSFyZZWKX9ZOI7ZAgf68dTD86jPHf/4A8kmNtrCSK2PFmNOZLcFlMth5YYNjLHM3Tnim2UerRF/w5og9348ThvdC3SJ+ChYAMAkGByqGSM44BAMDRwAwRAIgbG8pmutgpsOO8uOI65zhMsW5R89mo+k+eOZzkJlS5kYCIBBAvUTwcU7aZED7MBdzNERyPAQ1CfjF22RBftHNRKMM
|
@@ -0,0 +1 @@
|
|
1
|
+
MIIDVjCCA0AwggM6MIICLQYHKoZIzjgEATCCAiACggEBAL+t5gSONzzU5ItnfoeMjlsIwCECrgTrLLXEalI6OvHHPRayTzSklkeBrn5QUA4hd3dUpnC9GadCDWMwhOVVbjPKLA59VH6l9GoHoBv4ZprjvewELZsq5ebs9J8Aup2smatu/xQNLO33Iu5iwvlzaFeXFETCXQoz0gF9w21oKhBU/iqUKN2jVahRzm5tYeA+QZ/Uyk5wMxN0PYbKqIWTD2LtW/NC2BZWJ2genMMkS6cqoiFIQAprvoAVToVdBCydwqNAXx5Re+nepQVi9W2pP2CF+ESn5wXB8EPmV1HFg7gNKRA+WQzLJu/aoIk9gz42Ro85B8/KeIo8t5DwNByKMb8CFQCCL/XSNOBzuQHPWUH1jh9TjnHUDQKCAQBLfO1x3DU5ZezBDUQamgb8JJQ6MtZkKd1e9E1D5n14nZl3CuwywEFdySlwiAhy2kX++N0eEVo+SAE4e6bXVYYfBi/TtunqjiZBFSM5uCgxWxUo7mx7eUWNIfPblz9vwwP5OXF0wnmd0jUSgqotiELDV6c0lbuqxJMnhkFMVeYNcxafV2EDb7op6e6/sEn4o7G3zubz+/oTYgXxML7iz1ucONwQldQAby5zM1wHNSxkEwoasrifE7SPYo08w4aL7s6bt76t6fgw6sxvokFCXAs/zA30FqDIn3vzVmjXZeyVzc++nK/0nPwVbGaMdvpiR2dqbTrJRYRKCDUJxqG0NrrKA4IBBQACggEATAi/5fLXZknICs99Qx9q4hJLIXq8jJ9qyndt36lFO2ZW8T5UNoTNX2QxoxQ3fSq/oGi3CAy43cBlr8LepVnwtYTJeisjW5tptGvG3hrtQipvNBgyYYvKriGYq6OICZ2vsF/wte/ss7CuFppi4ccgIq9QrmivOwM8GObuwfffRpLEVsyvt5zH4I2gpXhumBbO2mUdYbS7e4HCeD2pfOpi32evXoWZH9wTr/EPxg4GWGOGuWu3jWV1D1QvhpUeBabYG6rbzTWi5crUEZkjrmogAgkaPRcBf5PFKXARPNwRmXC5B0ylBurJHD3TdjJd9K9rORHvJn0mYjpaHF30ptE/HBYAMA0GCSqGSIb3DQEBBAUAAwEA
|
@@ -0,0 +1 @@
|
|
1
|
+
MIGEMHowdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASScOL9ocL2zWwGhTk6eh9WVWylBASaeOj8p7pxY0svQvDpjvu0P8h+8B+1S11DSUYqLidE1pStpMBRL8bc82xF6DMutInlOUMoDNfyitjX7jeBzcS33X17G5/uHoJZuQ4WADADBgEAAwEA
|
@@ -0,0 +1,13 @@
|
|
1
|
+
MIICQDCCASgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1Jr6ZBmTj
|
2
|
+
uvdQhn5n/Ywg1gSsCtdBtwbZD5Ylc7budhmbeaE9Y5IRiJZ+CE0a1Ez8ez0Q5K9R
|
3
|
+
Bwb8A5lUTmsr8J20A5gddmrmY65f9yhTZt98BlmuFfxtL60sTyPr2dgFvUf2FSsP
|
4
|
+
Y4SXKpB9XQF12SN/Ime7HvgHWKfwQwRKxFjBUm8pwROxrukIdsMTELadLKgo01lO
|
5
|
+
ctVMZgzSIzDTOwdyyimZNPilbZAL9w509mMMt6HwAiWSl7vSxoOJAna0xoM6FA+Q
|
6
|
+
nG9v+r1FdDU2JAVbBLKw6+1+MX9Yp5aCJEl5OtHDIvTQaKaQ4y0yTZb1VIz3NQjc
|
7
|
+
kux/JOmrytnLAgMBAAEWADANBgkqhkiG9w0BAQQFAAOCAQEAKA7Pri+xjq1AUM93
|
8
|
+
v2QakHO/ZcuOwx7bim/v/mF8ZF4khCO+m20qf1hsWuaz9e1WNff1e4W8APdOIvbd
|
9
|
+
5ZP2MjjJU3K1e5/cXFHSLFxbiM3RPqQsMGLkh9K5qP4s8AVYSGtHk4OaE7shbF6p
|
10
|
+
wETlQ4Mbwl6t3Xg+M4wpe1ZnePfzwXQ6pku07ceiG9zC7WKeJ+O4F4ShZ5zR8RLd
|
11
|
+
dA4hf0GgKDUDmp4JEV+6v3+SOgg7n5YEh7zqtqtEVJwU0ZWe2o/G1LSfEXpilg5C
|
12
|
+
czonZ4RtAYFtWfxeQed9+LVaVbm5mRvEqfoMbdFxEpK3/PWpLraPgm3hXmcmx+O5
|
13
|
+
ACewiw==
|
data/spec/fixtures/stca.pem
CHANGED
File without changes
|
File without changes
|
File without changes
|
data/spec/fixtures/test1.csr
CHANGED
File without changes
|
data/spec/fixtures/test_ca.cer
CHANGED
File without changes
|
data/spec/fixtures/test_ca.key
CHANGED
File without changes
|
data/spec/fixtures/test_ca.p12
CHANGED
File without changes
|
File without changes
|
@@ -0,0 +1,14 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIICJzCCAaygAwIBAgITBhgGAz3nZpKHtz6KQjnGF3l8IzAKBggqhkjOPQQDAjBb
|
3
|
+
MQswCQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNh
|
4
|
+
Z28xETAPBgNVBAoMCHI1MDkgTExDMRQwEgYDVQQDDAtyNTA5IEVDQyBDQTAeFw0x
|
5
|
+
MzAxMjMxNDE1MjBaFw0zMzAxMTgyMDE1MjBaMFsxCzAJBgNVBAYTAlVTMREwDwYD
|
6
|
+
VQQIDAhJbGxpbm9pczEQMA4GA1UEBwwHQ2hpY2FnbzERMA8GA1UECgwIcjUwOSBM
|
7
|
+
TEMxFDASBgNVBAMMC3I1MDkgRUNDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE
|
8
|
+
FoGSwxFhGtPcBRnmKSwVnYRhniE86GmTTCGyb02ch5ZENzmjdTuR4MoeBmG5RXzH
|
9
|
+
mX1I6rcFW5sJWnmOncE0zcl7qGxash/+3wFm3qwwR1YUpDZ+TeYtezqkEegN+I2T
|
10
|
+
ozIwMDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS27qtirnzRTXfTrJOA46dI
|
11
|
+
r1hc4jAKBggqhkjOPQQDAgNpADBmAjEAgy6c00RdXZ5wmRo5uFOu9aa5kUJo912+
|
12
|
+
hiHmddmFVCyQcvsX+hq2GvFKLhwxty9jAjEA4e4WY48QArCidovB/iYXRkvE5efL
|
13
|
+
oqXZOHh/QzwiNz66ZIGR8tv2iLoRXoG4fiWG
|
14
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,6 @@
|
|
1
|
+
-----BEGIN EC PRIVATE KEY-----
|
2
|
+
MIGkAgEBBDCVvOkiIED5VN04e0/zOjv2UHZ94vRt4NP939/UnPkxxoy8yQRCDW9v
|
3
|
+
vJp4kJ2uz12gBwYFK4EEACKhZANiAAQWgZLDEWEa09wFGeYpLBWdhGGeITzoaZNM
|
4
|
+
IbJvTZyHlkQ3OaN1O5Hgyh4GYblFfMeZfUjqtwVbmwlaeY6dwTTNyXuobFqyH/7f
|
5
|
+
AWberDBHVhSkNn5N5i17OqQR6A34jZM=
|
6
|
+
-----END EC PRIVATE KEY-----
|
@@ -0,0 +1,22 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDjzCCAxWgAwIBAgITBhgHDloQ4BfASRTlBAefPs+XLzAKBggqhkjOPQQDAzBb
|
3
|
+
MQswCQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNh
|
4
|
+
Z28xETAPBgNVBAoMCHI1MDkgTExDMRQwEgYDVQQDDAtyNTA5IEVDQyBDQTAeFw0x
|
5
|
+
MzAxMjMxNTE0MzFaFw0xNDAxMjMxNTE0MzFaMFwxCzAJBgNVBAYTAlVTMREwDwYD
|
6
|
+
VQQIEwhJbGxpbm9pczEQMA4GA1UEBxMHQ2hpY2FnbzEUMBIGA1UEChMLUGF1bCBL
|
7
|
+
ZWhyZXIxEjAQBgNVBAMTCWxhbmd1aS5zaDB2MBAGByqGSM49AgEGBSuBBAAiA2IA
|
8
|
+
BF9oorzs61uer+zuEtj1JAq0BdxFRZkDjJ+arZyYzGW33Z9uMNo+ypu5foDkKSOT
|
9
|
+
sVo5munzTa6NeCOwME+/0OfThnBRypTyz51KMKQALjCQpLOn5NmI8deTflu35Fsz
|
10
|
+
rKOCAZgwggGUMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgWgMBMGA1UdJQQMMAoG
|
11
|
+
CCsGAQUFBwMBMB0GA1UdDgQWBBRed7yB58nmh2TYUt1BWqG3ZqF9kjCBlwYDVR0j
|
12
|
+
BIGPMIGMgBS27qtirnzRTXfTrJOA46dIr1hc4qFfpF0wWzELMAkGA1UEBhMCVVMx
|
13
|
+
ETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdDaGljYWdvMREwDwYDVQQKDAhy
|
14
|
+
NTA5IExMQzEUMBIGA1UEAwwLcjUwOSBFQ0MgQ0GCEwYYBgM952aSh7c+ikI5xhd5
|
15
|
+
fCMwQQYDVR0gBDowODA2Bg5ghkgBpaCvx38BAgMEATAkMCIGCCsGAQUFBwIBFhZo
|
16
|
+
dHRwOi8vZXhhbXBsZS5jb20vY3BzMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9j
|
17
|
+
cmwuZG9tYWluLmNvbS90ZXN0X2NhLmNybDAyBggrBgEFBQcBAQQmMCQwIgYIKwYB
|
18
|
+
BQUHMAGGFmh0dHA6Ly9vY3NwLmRvbWFpbi5jb20wCgYIKoZIzj0EAwMDaAAwZQIx
|
19
|
+
AJBaXZ9p//wB5iKqkGq3nC58uPthG6tlMQvPq/BQdrXLU4VIWfJd782ftoDg4fP7
|
20
|
+
8wIwB/mY5Cc3D2ECSV3nb8rHSXjBVKFA2ws7zdzwmw34IWPip2BwLxFDdKgoAHUg
|
21
|
+
wTt5
|
22
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,6 @@
|
|
1
|
+
-----BEGIN EC PRIVATE KEY-----
|
2
|
+
MIGkAgEBBDBNN72sSNzoHoBOztMvl2yD2THgIU4YF39ZbcbW8KJDSQDpJ/XFmjT8
|
3
|
+
9qDcPECSoAWgBwYFK4EEACKhZANiAARfaKK87Otbnq/s7hLY9SQKtAXcRUWZA4yf
|
4
|
+
mq2cmMxlt92fbjDaPsqbuX6A5Ckjk7FaOZrp802ujXgjsDBPv9Dn04ZwUcqU8s+d
|
5
|
+
SjCkAC4wkKSzp+TZiPHXk35bt+RbM6w=
|
6
|
+
-----END EC PRIVATE KEY-----
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/spec/message_digest_spec.rb
CHANGED
@@ -1,89 +1,109 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'r509/
|
2
|
+
require 'r509/message_digest'
|
3
3
|
require 'openssl'
|
4
4
|
|
5
5
|
describe R509::MessageDigest do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
6
|
+
it "translates sha1 name -> digest" do
|
7
|
+
md = R509::MessageDigest.new("sha1")
|
8
|
+
md.name.should == "sha1"
|
9
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA1).should == true
|
10
|
+
end
|
11
|
+
it "translates SHA1 name -> digest" do
|
12
|
+
md = R509::MessageDigest.new("SHA1")
|
13
|
+
md.name.should == "sha1"
|
14
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA1).should == true
|
15
|
+
end
|
16
|
+
it "translates sha224 name -> digest" do
|
17
|
+
md = R509::MessageDigest.new("sha224")
|
18
|
+
md.name.should == "sha224"
|
19
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA224).should == true
|
20
|
+
end
|
21
|
+
it "translates sha256 name -> digest" do
|
22
|
+
md = R509::MessageDigest.new("sha256")
|
23
|
+
md.name.should == "sha256"
|
24
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA256).should == true
|
25
|
+
end
|
26
|
+
it "translates SHA256 name -> digest" do
|
27
|
+
md = R509::MessageDigest.new("SHA256")
|
28
|
+
md.name.should == "sha256"
|
29
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA256).should == true
|
30
|
+
end
|
31
|
+
it "translates SHA384 name -> digest" do
|
32
|
+
md = R509::MessageDigest.new("SHA384")
|
33
|
+
md.name.should == "sha384"
|
34
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA384).should == true
|
35
|
+
end
|
36
|
+
it "translates sha512 name -> digest" do
|
37
|
+
md = R509::MessageDigest.new("sha512")
|
38
|
+
md.name.should == "sha512"
|
39
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA512).should == true
|
40
|
+
end
|
41
|
+
it "translates SHA512 name -> digest" do
|
42
|
+
md = R509::MessageDigest.new("SHA512")
|
43
|
+
md.name.should == "sha512"
|
44
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA512).should == true
|
45
|
+
end
|
46
|
+
it "translates md5 name -> digest" do
|
47
|
+
md = R509::MessageDigest.new("md5")
|
48
|
+
md.name.should == "md5"
|
49
|
+
md.digest.kind_of?(OpenSSL::Digest::MD5).should == true
|
50
|
+
end
|
51
|
+
it "translates MD5 name -> digest" do
|
52
|
+
md = R509::MessageDigest.new("MD5")
|
53
|
+
md.name.should == "md5"
|
54
|
+
md.digest.kind_of?(OpenSSL::Digest::MD5).should == true
|
55
|
+
end
|
56
|
+
it "translates dss1 name -> digest" do
|
57
|
+
md = R509::MessageDigest.new("dss1")
|
58
|
+
md.name.should == "dss1"
|
59
|
+
md.digest.kind_of?(OpenSSL::Digest::DSS1).should == true
|
60
|
+
end
|
61
|
+
it "translates DSS1 name -> digest" do
|
62
|
+
md = R509::MessageDigest.new("DSS1")
|
63
|
+
md.name.should == "dss1"
|
64
|
+
md.digest.kind_of?(OpenSSL::Digest::DSS1).should == true
|
65
|
+
end
|
66
|
+
it "translates unknown name -> digest" do
|
67
|
+
md = R509::MessageDigest.new("unknown")
|
68
|
+
md.name.should == "sha1"
|
69
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA1).should == true
|
70
|
+
end
|
71
|
+
it "translates sha1 digest -> name" do
|
72
|
+
md = R509::MessageDigest.new(OpenSSL::Digest::SHA1.new)
|
73
|
+
md.name.should == "sha1"
|
74
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA1).should == true
|
75
|
+
end
|
76
|
+
it "translates sha224 digest -> name" do
|
77
|
+
md = R509::MessageDigest.new(OpenSSL::Digest::SHA224.new)
|
78
|
+
md.name.should == "sha224"
|
79
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA224).should == true
|
80
|
+
end
|
81
|
+
it "translates sha256 digest -> name" do
|
82
|
+
md = R509::MessageDigest.new(OpenSSL::Digest::SHA256.new)
|
83
|
+
md.name.should == "sha256"
|
84
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA256).should == true
|
85
|
+
end
|
86
|
+
it "translates sha384 digest -> name" do
|
87
|
+
md = R509::MessageDigest.new(OpenSSL::Digest::SHA384.new)
|
88
|
+
md.name.should == "sha384"
|
89
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA384).should == true
|
90
|
+
end
|
91
|
+
it "translates sha512 digest -> name" do
|
92
|
+
md = R509::MessageDigest.new(OpenSSL::Digest::SHA512.new)
|
93
|
+
md.name.should == "sha512"
|
94
|
+
md.digest.kind_of?(OpenSSL::Digest::SHA512).should == true
|
95
|
+
end
|
96
|
+
it "translates md5 digest -> name" do
|
97
|
+
md = R509::MessageDigest.new(OpenSSL::Digest::MD5.new)
|
98
|
+
md.name.should == "md5"
|
99
|
+
md.digest.kind_of?(OpenSSL::Digest::MD5).should == true
|
100
|
+
end
|
101
|
+
it "translates dss1 digest -> name" do
|
102
|
+
md = R509::MessageDigest.new(OpenSSL::Digest::DSS1.new)
|
103
|
+
md.name.should == "dss1"
|
104
|
+
md.digest.kind_of?(OpenSSL::Digest::DSS1).should == true
|
105
|
+
end
|
106
|
+
it "exception on unknown digest -> name" do
|
107
|
+
expect{ R509::MessageDigest.new(12345) }.to raise_error(ArgumentError)
|
108
|
+
end
|
89
109
|
end
|