jruby-openssl 0.8.0.pre3 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +5 -124
- data/Rakefile +3 -3
- data/lib/shared/jopenssl.jar +0 -0
- data/lib/shared/jopenssl/version.rb +1 -1
- metadata +10 -116
- data/test/1.8/ssl_server.rb +0 -99
- data/test/1.8/test_asn1.rb +0 -212
- data/test/1.8/test_cipher.rb +0 -193
- data/test/1.8/test_config.rb +0 -290
- data/test/1.8/test_digest.rb +0 -88
- data/test/1.8/test_ec.rb +0 -128
- data/test/1.8/test_hmac.rb +0 -46
- data/test/1.8/test_ns_spki.rb +0 -59
- data/test/1.8/test_pair.rb +0 -149
- data/test/1.8/test_pkcs7.rb +0 -489
- data/test/1.8/test_pkey_rsa.rb +0 -49
- data/test/1.8/test_ssl.rb +0 -1032
- data/test/1.8/test_x509cert.rb +0 -277
- data/test/1.8/test_x509crl.rb +0 -253
- data/test/1.8/test_x509ext.rb +0 -99
- data/test/1.8/test_x509name.rb +0 -290
- data/test/1.8/test_x509req.rb +0 -195
- data/test/1.8/test_x509store.rb +0 -246
- data/test/1.8/utils.rb +0 -144
- data/test/1.9/ssl_server.rb +0 -81
- data/test/1.9/test_asn1.rb +0 -589
- data/test/1.9/test_bn.rb +0 -23
- data/test/1.9/test_buffering.rb +0 -88
- data/test/1.9/test_cipher.rb +0 -107
- data/test/1.9/test_config.rb +0 -288
- data/test/1.9/test_digest.rb +0 -118
- data/test/1.9/test_engine.rb +0 -15
- data/test/1.9/test_hmac.rb +0 -32
- data/test/1.9/test_ns_spki.rb +0 -50
- data/test/1.9/test_ocsp.rb +0 -47
- data/test/1.9/test_pair.rb +0 -257
- data/test/1.9/test_pkcs12.rb +0 -209
- data/test/1.9/test_pkcs7.rb +0 -156
- data/test/1.9/test_pkey_dh.rb +0 -72
- data/test/1.9/test_pkey_dsa.rb +0 -224
- data/test/1.9/test_pkey_ec.rb +0 -182
- data/test/1.9/test_pkey_rsa.rb +0 -244
- data/test/1.9/test_ssl.rb +0 -499
- data/test/1.9/test_ssl_session.rb +0 -327
- data/test/1.9/test_x509cert.rb +0 -217
- data/test/1.9/test_x509crl.rb +0 -221
- data/test/1.9/test_x509ext.rb +0 -69
- data/test/1.9/test_x509name.rb +0 -366
- data/test/1.9/test_x509req.rb +0 -150
- data/test/1.9/test_x509store.rb +0 -229
- data/test/1.9/utils.rb +0 -304
- data/test/cert_with_ec_pk.cer +0 -27
- data/test/fixture/ca-bundle.crt +0 -2794
- data/test/fixture/ca_path/72fa7371.0 +0 -19
- data/test/fixture/ca_path/verisign.pem +0 -19
- data/test/fixture/cacert.pem +0 -23
- data/test/fixture/cert_localhost.pem +0 -19
- data/test/fixture/common.pem +0 -48
- data/test/fixture/ids_in_subject_rdn_set.pem +0 -31
- data/test/fixture/imaps/cacert.pem +0 -60
- data/test/fixture/imaps/server.crt +0 -61
- data/test/fixture/imaps/server.key +0 -15
- data/test/fixture/key_then_cert.pem +0 -34
- data/test/fixture/keypair.pem +0 -27
- data/test/fixture/localhost_keypair.pem +0 -18
- data/test/fixture/max.pem +0 -29
- data/test/fixture/purpose/b70a5bc1.0 +0 -24
- data/test/fixture/purpose/ca/PASSWD_OF_CA_KEY_IS_1234 +0 -0
- data/test/fixture/purpose/ca/ca_config.rb +0 -37
- data/test/fixture/purpose/ca/cacert.pem +0 -24
- data/test/fixture/purpose/ca/newcerts/2_cert.pem +0 -19
- data/test/fixture/purpose/ca/newcerts/3_cert.pem +0 -19
- data/test/fixture/purpose/ca/newcerts/4_cert.pem +0 -19
- data/test/fixture/purpose/ca/private/cakeypair.pem +0 -30
- data/test/fixture/purpose/ca/serial +0 -1
- data/test/fixture/purpose/cacert.pem +0 -24
- data/test/fixture/purpose/scripts/gen_cert.rb +0 -127
- data/test/fixture/purpose/scripts/gen_csr.rb +0 -50
- data/test/fixture/purpose/scripts/init_ca.rb +0 -66
- data/test/fixture/purpose/sslclient.pem +0 -19
- data/test/fixture/purpose/sslclient/csr.pem +0 -10
- data/test/fixture/purpose/sslclient/keypair.pem +0 -15
- data/test/fixture/purpose/sslclient/sslclient.pem +0 -19
- data/test/fixture/purpose/sslserver.pem +0 -19
- data/test/fixture/purpose/sslserver/csr.pem +0 -10
- data/test/fixture/purpose/sslserver/keypair.pem +0 -15
- data/test/fixture/purpose/sslserver/sslserver.pem +0 -19
- data/test/fixture/purpose/sslserver_no_dsig_in_keyUsage.pem +0 -19
- data/test/fixture/selfcert.pem +0 -23
- data/test/fixture/verisign.pem +0 -19
- data/test/fixture/verisign_c3.pem +0 -14
- data/test/ref/a.out +0 -0
- data/test/ref/compile.rb +0 -8
- data/test/ref/pkcs1 +0 -0
- data/test/ref/pkcs1.c +0 -21
- data/test/ruby/envutil.rb +0 -208
- data/test/ruby/ut_eof.rb +0 -128
- data/test/test_all.rb +0 -1
- data/test/test_certificate.rb +0 -132
- data/test/test_cipher.rb +0 -197
- data/test/test_imaps.rb +0 -107
- data/test/test_integration.rb +0 -144
- data/test/test_openssl.rb +0 -4
- data/test/test_parse_certificate.rb +0 -27
- data/test/test_pkcs7.rb +0 -56
- data/test/test_pkey_dsa.rb +0 -180
- data/test/test_pkey_rsa.rb +0 -329
- data/test/test_ssl.rb +0 -97
- data/test/test_x509store.rb +0 -168
data/test/test_openssl.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'openssl'
|
2
|
-
require "test/unit"
|
3
|
-
|
4
|
-
class TestParseCertificate < Test::Unit::TestCase
|
5
|
-
CERT = File.dirname(__FILE__) + '/cert_with_ec_pk.cer'
|
6
|
-
|
7
|
-
def test_certificate_parse_works_with_ec_pk_cert
|
8
|
-
cer = OpenSSL::X509::Certificate.new(File.read(CERT))
|
9
|
-
assert cer.to_s != nil
|
10
|
-
assert cer.issuer.to_s != nil
|
11
|
-
assert cer.subject.to_s != nil
|
12
|
-
assert cer.extensions.to_s != nil
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_certificate_with_ec_pk_cert_fails_requesting_pk
|
16
|
-
cer = OpenSSL::X509::Certificate.new(File.read(CERT))
|
17
|
-
assert_raise(OpenSSL::X509::CertificateError) { cer.public_key }
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_loading_key_raise_certificate_error
|
21
|
-
key_file = File.expand_path('fixture/keypair.pem', File.dirname(__FILE__))
|
22
|
-
assert_raises(OpenSSL::X509::CertificateError) do
|
23
|
-
OpenSSL::X509::Certificate.new(File.read(key_file))
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
data/test/test_pkcs7.rb
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
require 'openssl'
|
2
|
-
require "test/unit"
|
3
|
-
|
4
|
-
class TestPkcs7 < Test::Unit::TestCase
|
5
|
-
|
6
|
-
CERT_PEM = <<END
|
7
|
-
-----BEGIN CERTIFICATE-----
|
8
|
-
MIIC8zCCAdugAwIBAgIBATANBgkqhkiG9w0BAQQFADA9MRMwEQYKCZImiZPyLGQB
|
9
|
-
GRYDb3JnMRkwFwYKCZImiZPyLGQBGRYJcnVieS1sYW5nMQswCQYDVQQDDAJDQTAe
|
10
|
-
Fw0wOTA1MjMxNTAzNDNaFw0wOTA1MjMxNjAzNDNaMD0xEzARBgoJkiaJk/IsZAEZ
|
11
|
-
FgNvcmcxGTAXBgoJkiaJk/IsZAEZFglydWJ5LWxhbmcxCzAJBgNVBAMMAkNBMIIB
|
12
|
-
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuV9ht9J7k4NBs38jOXvvTKY9
|
13
|
-
gW8nLICSno5EETR1cuF7i4pNs9I1QJGAFAX0BEO4KbzXmuOvfCpD3CU+Slp1enen
|
14
|
-
fzq/t/e/1IRW0wkJUJUFQign4CtrkJL+P07yx18UjyPlBXb81ApEmAB5mrJVSrWm
|
15
|
-
qbjs07JbuS4QQGGXLc+Su96DkYKmSNVjBiLxVVSpyZfAY3hD37d60uG+X8xdW5v6
|
16
|
-
8JkRFIhdGlb6JL8fllf/A/blNwdJOhVr9mESHhwGjwfSeTDPfd8ZLE027E5lyAVX
|
17
|
-
9KZYcU00mOX+fdxOSnGqS/8JDRh0EPHDL15RcJjV2J6vZjPb0rOYGDoMcH+94wID
|
18
|
-
AQABMA0GCSqGSIb3DQEBBAUAA4IBAQB8UTw1agA9wdXxHMUACduYu6oNL7pdF0dr
|
19
|
-
w7a4QPJyj62h4+Umxvp13q0PBw0E+mSjhXMcqUhDLjrmMcvvNGhuh5Sdjbe3GI/M
|
20
|
-
3lCC9OwYYIzzul7omvGC3JEIGfzzdNnPPCPKEWp5X9f0MKLMR79qOf+sjHTjN2BY
|
21
|
-
SY3YGsEFxyTXDdqrlaYaOtTAdi/C+g1WxR8fkPLefymVwIFwvyc9/bnp7iBn7Hcw
|
22
|
-
mbxtLPbtQ9mURT0GHewZRTGJ1aiTq9Ag3xXME2FPF04eFRd3mclOQZNXKQ+LDxYf
|
23
|
-
k0X5FeZvsWf4srFxoVxlcDdJtHh91ZRpDDJYGQlsUm9CPTnO+e4E
|
24
|
-
-----END CERTIFICATE-----
|
25
|
-
END
|
26
|
-
|
27
|
-
def test_pkcs7_des3_key_generation_for_encrypt
|
28
|
-
# SunJCE requires DES/DES3 keybits = 21/168 for key generation.
|
29
|
-
# BC allows 24/192 keybits and treats it as 21/168.
|
30
|
-
msg = "Hello World"
|
31
|
-
password = "password"
|
32
|
-
cert = OpenSSL::X509::Certificate.new(CERT_PEM)
|
33
|
-
certs = [cert]
|
34
|
-
cipher = OpenSSL::Cipher.new("des-ede3-cbc")
|
35
|
-
cipher.encrypt
|
36
|
-
cipher.pkcs5_keyivgen(password)
|
37
|
-
p7 = OpenSSL::PKCS7.encrypt(certs, msg, cipher, OpenSSL::PKCS7::BINARY)
|
38
|
-
assert_equal(msg, p7.data)
|
39
|
-
end
|
40
|
-
|
41
|
-
EMPTY_PEM = <<END
|
42
|
-
-----BEGIN PKCS7-----
|
43
|
-
MAMGAQA=
|
44
|
-
-----END PKCS7-----
|
45
|
-
END
|
46
|
-
|
47
|
-
def test_empty_pkcs7
|
48
|
-
p7 = OpenSSL::PKCS7.new
|
49
|
-
assert_equal(EMPTY_PEM, p7.to_pem)
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_load_empty_pkcs7
|
53
|
-
p7 = OpenSSL::PKCS7.new(EMPTY_PEM)
|
54
|
-
assert_equal(EMPTY_PEM, p7.to_pem)
|
55
|
-
end
|
56
|
-
end
|
data/test/test_pkey_dsa.rb
DELETED
@@ -1,180 +0,0 @@
|
|
1
|
-
require "openssl"
|
2
|
-
require "test/unit"
|
3
|
-
|
4
|
-
class TestPKeyDSA < Test::Unit::TestCase
|
5
|
-
def test_can_generate_dsa_key
|
6
|
-
OpenSSL::PKey::DSA.generate(512)
|
7
|
-
end
|
8
|
-
|
9
|
-
# jruby-openssl/0.6 causes NPE
|
10
|
-
def test_generate_pkey_dsa_empty
|
11
|
-
assert_nothing_raised do
|
12
|
-
OpenSSL::PKey::DSA.new.to_pem
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
# jruby-openssl/0.6 ignores fixnum arg => to_pem returned 65 bytes with 'MAA='
|
17
|
-
def test_generate_pkey_dsa_length
|
18
|
-
assert(OpenSSL::PKey::DSA.new(512).to_pem.size > 100)
|
19
|
-
end
|
20
|
-
|
21
|
-
# jruby-openssl/0.6 returns nil for DSA#to_text
|
22
|
-
def test_generate_pkey_dsa_to_text
|
23
|
-
assert_match(
|
24
|
-
/Private-Key: \(512 bit\)/,
|
25
|
-
OpenSSL::PKey::DSA.new(512).to_text
|
26
|
-
)
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_load_pkey_dsa
|
30
|
-
pkey = OpenSSL::PKey::DSA.new(512)
|
31
|
-
assert_equal(pkey.to_pem, OpenSSL::PKey::DSA.new(pkey.to_pem).to_pem)
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_load_pkey_dsa_public
|
35
|
-
pkey = OpenSSL::PKey::DSA.new(512).public_key
|
36
|
-
assert_equal(pkey.to_pem, OpenSSL::PKey::DSA.new(pkey.to_pem).to_pem)
|
37
|
-
end
|
38
|
-
|
39
|
-
def test_load_pkey_dsa_der
|
40
|
-
pkey = OpenSSL::PKey::DSA.new(512)
|
41
|
-
assert_equal(pkey.to_der, OpenSSL::PKey::DSA.new(pkey.to_der).to_der)
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_load_pkey_dsa_public_der
|
45
|
-
pkey = OpenSSL::PKey::DSA.new(512).public_key
|
46
|
-
assert_equal(pkey.to_der, OpenSSL::PKey::DSA.new(pkey.to_der).to_der)
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_load_pkey_dsa_net_ssh
|
50
|
-
blob = "0\201\367\002\001\000\002A\000\203\316/\037u\272&J\265\003l3\315d\324h\372{\t8\252#\331_\026\006\035\270\266\255\343\353Z\302\276\335\336\306\220\375\202L\244\244J\206>\346\b\315\211\302L\246x\247u\a\376\366\345\302\016#\002\025\000\244\274\302\221Og\275/\302+\356\346\360\024\373wI\2573\361\002@\027\215\270r*\f\213\350C\245\021:\350 \006\\\376\345\022`\210b\262\3643\023XLKS\320\370\002\276\347A\nU\204\276\324\256`=\026\240\330\306J\316V\213\024\e\030\215\355\006\037q\337\356ln\002@\017\257\034\f\260\333'S\271#\237\230E\321\312\027\021\226\331\251Vj\220\305\316\036\v\266+\000\230\270\177B\003?t\a\305]e\344\261\334\023\253\323\251\223M\2175)a(\004\"lI8\312\303\307\a\002\024_\aznW\345\343\203V\326\246ua\203\376\201o\350\302\002"
|
51
|
-
pkey = OpenSSL::PKey::DSA.new(blob)
|
52
|
-
assert_equal(blob, pkey.to_der)
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_load_dsa_des_encrypted
|
56
|
-
password = 'pass'
|
57
|
-
pkey = OpenSSL::PKey::DSA.generate(512)
|
58
|
-
cipher = OpenSSL::Cipher::Cipher.new('des-cbc')
|
59
|
-
pem = pkey.to_pem(cipher, password)
|
60
|
-
assert_equal(pkey.g, OpenSSL::PKey::DSA.new(pem, password).g)
|
61
|
-
end
|
62
|
-
|
63
|
-
def test_load_dsa_3des_encrypted
|
64
|
-
password = 'pass'
|
65
|
-
pkey = OpenSSL::PKey::DSA.generate(512)
|
66
|
-
cipher = OpenSSL::Cipher::Cipher.new('des-ede3-cbc')
|
67
|
-
pem = pkey.to_pem(cipher, password)
|
68
|
-
assert_equal(pkey.g, OpenSSL::PKey::DSA.new(pem, password).g)
|
69
|
-
end
|
70
|
-
|
71
|
-
def test_load_dsa_aes_encrypted
|
72
|
-
password = 'pass'
|
73
|
-
pkey = OpenSSL::PKey::DSA.generate(512)
|
74
|
-
cipher = OpenSSL::Cipher::Cipher.new('aes-128-cbc')
|
75
|
-
pem = pkey.to_pem(cipher, password)
|
76
|
-
assert_equal(pkey.g, OpenSSL::PKey::DSA.new(pem, password).g)
|
77
|
-
end
|
78
|
-
|
79
|
-
CRUBY_DES_DSA_PEM = <<END
|
80
|
-
-----BEGIN DSA PRIVATE KEY-----
|
81
|
-
Proc-Type: 4,ENCRYPTED
|
82
|
-
DEK-Info: DES-CBC,55669A6757B8752A
|
83
|
-
|
84
|
-
0DI84kfjNWOmckdBhvraem9LZqx++JRAD0fUB7J2ymLLMKS2wFq32AA3XD6K9kNP
|
85
|
-
Ud1idm0UMtJjxFFtT02ue7USlaSHIb+INbf4m5N/I54cOoMXXdOEFeecWlmDhfMP
|
86
|
-
zSA/6zM1L0iUKXaR30yRtslwZpGi3ZlriLkL6HbZFjBRUk93AL01oVHHIW3OPqLq
|
87
|
-
Mql0jpr9VDLi1OjkIbrRilZKHTx/C7DCeBfwhPS3KUhkyGTqQzTwa6TpA5fiL0vy
|
88
|
-
OXwDr9GqZCUq5sk3Psu+2yrI+dbzUFh+va+0p2EzVnOb7p6oyIhXTyyeqZVy+KRz
|
89
|
-
qK2rRxrZmQv9hJ59G1kJ/A==
|
90
|
-
-----END DSA PRIVATE KEY-----
|
91
|
-
END
|
92
|
-
|
93
|
-
JRUBY_DES_DSA_PEM = <<END
|
94
|
-
-----BEGIN DSA PRIVATE KEY-----
|
95
|
-
Proc-Type: 4,ENCRYPTED
|
96
|
-
DEK-Info: DES-CBC,06b4e0b42bf90db9
|
97
|
-
|
98
|
-
mroGVjL7pb1BSJDtaksk3If8XidwLgv0DJsQcmwG8gc55eBxF65TDmAFZlc1vAp8
|
99
|
-
YlkQx84ZCWufiTlWzeZR/giEPeps0nbzkaNN4tWOEN3ILF7TKfaqFdtJgEwLXMJ8
|
100
|
-
3L5jLZDsESmXpGY51RGp7LXYENoS1WwnJ+ke9kBty/IpFVUYyRtRZ2wpoFqWKfjV
|
101
|
-
rAlYqJLme+PQL1SXoPl3HOMr7NcjaEr9yYeq8mPCAg8YEW1ckyH0Z6j9ZK0spdtM
|
102
|
-
Cam9mftFK1gC4wqZbCSM3bRCrqiVfMr8uWIIZVpBwm1skYh8+yLlG1m0xhTcmMEq
|
103
|
-
Vo/ZKPN3/eLMl2nx5Td8ew==
|
104
|
-
-----END DSA PRIVATE KEY-----
|
105
|
-
END
|
106
|
-
|
107
|
-
CRUBY_3DES_DSA_PEM = <<END
|
108
|
-
-----BEGIN DSA PRIVATE KEY-----
|
109
|
-
Proc-Type: 4,ENCRYPTED
|
110
|
-
DEK-Info: DES-EDE3-CBC,75267DEE9DB19A15
|
111
|
-
|
112
|
-
rWX5EyFJ4n64oHadHhSKmW/wJWTeoA5K/CxdlAzh9sGzNtbJB1qevd7iV3HouQiZ
|
113
|
-
iGeA0b8tJWI8NJZFjYsQyNZgFemnpQ/Nz0kYXR/z0TpJzMHepyDn+3n7WBupRM+J
|
114
|
-
aEmgwSJSiwEDYDInscdIdTNW/zfXt8+wKf72rttV8ocTAHkIbBew1YFQK+hM2OZ5
|
115
|
-
MubNrFaiSwTJisGU0Vc5sAcaq60ZyfI730LN1QSA9FRWn/O8od3O+Ri7w8K2qRXV
|
116
|
-
R/z33GsXqt1dkaQVwH4yFUaUect/fgXfuijZaJrBY7ZT9oBPxsBrAxVIATf2bfQY
|
117
|
-
Vk30SWL9mazMmDcgjD32hg==
|
118
|
-
-----END DSA PRIVATE KEY-----
|
119
|
-
END
|
120
|
-
|
121
|
-
JRUBY_3DES_DSA_PEM = <<END
|
122
|
-
-----BEGIN DSA PRIVATE KEY-----
|
123
|
-
Proc-Type: 4,ENCRYPTED
|
124
|
-
DEK-Info: DES-EDE3-CBC,d795fb005ae84cd7
|
125
|
-
|
126
|
-
iSSWTjX84CqfaBGlds7NNBDNaAIvnbv6WI8uh2Mv4KJ5PLvpAAb2bxQUNLCAHlvP
|
127
|
-
gqWdUbNvC9IVGNfE9exYdW/1bevp9wjcjv6dK+1dH9H+WxFqZtnsuH0fOw5EWrXY
|
128
|
-
+yB0SQQo44UVqy/w+2SbYrYEQ/MAA4ebYqd8ubdi3qFoSjfuUnh/vdAakePqM82a
|
129
|
-
Vb4w35j7ihXr/RrtbP+bCW5rVHPUCKOvBy9XD0UG8wtEQH0wUmJnELWoWM6/xLS8
|
130
|
-
rFBX3EOYR2nItP5XQyHO49RRT3vzLY04cCYIa5/LhBBRbCSWi6oQaydxq6/buGff
|
131
|
-
z//DKy1e6FpeUIFgyjkldQ==
|
132
|
-
-----END DSA PRIVATE KEY-----
|
133
|
-
END
|
134
|
-
|
135
|
-
CRUBY_AES_DSA_PEM = <<END
|
136
|
-
-----BEGIN DSA PRIVATE KEY-----
|
137
|
-
Proc-Type: 4,ENCRYPTED
|
138
|
-
DEK-Info: AES-128-CBC,5F8642885141BB27B7D10E089006BF22
|
139
|
-
|
140
|
-
aBYZIZw67pJFf8voJK2PH6dT2npXL2sGgG4NStgrClAowFF3o0v+p7eAzKwIsfex
|
141
|
-
LSE60JAPtD/ooqGDoGkJqT3VXncpNw0B9dR3l2Z2j79ZCNuH64z8PnQKDCLjIVKj
|
142
|
-
yhqUsifokc/s7Vd96uaIfR8z3S3go+/96gbIr6p34FLD6N2Pi06t0XrN70msURaX
|
143
|
-
Q84edbPto/5Zl8zjVFuV+nvGidozytJ1b6txzyatKeCBQO8doZHihXpW32iyUkJ8
|
144
|
-
1H0047SzKhswP7Xxwob7ukcrPcn2ehPG3+bXC1w7J47jsIi6ihvHKMl6KfgPwVgu
|
145
|
-
a8/ecsqcdOGUXmtRJ2l3dw==
|
146
|
-
-----END DSA PRIVATE KEY-----
|
147
|
-
END
|
148
|
-
|
149
|
-
JRUBY_AES_DSA_PEM = <<END
|
150
|
-
-----BEGIN DSA PRIVATE KEY-----
|
151
|
-
Proc-Type: 4,ENCRYPTED
|
152
|
-
DEK-Info: AES-128-CBC,2327f11cbbaaf0a5f9ec992ae04677b1
|
153
|
-
|
154
|
-
YSG7L3SO9/Z+IgDSGf30oXaqUlwc+/AzKeMfqBCxs0qGP2lMELfHnwz/mwxlbepP
|
155
|
-
W4zDqgTV88Fvg8PpQVsFamrEWjIy2Bldztc+8Aj8ndBON3vqDkSDk9/FIVFnKCsQ
|
156
|
-
xXR/6ixhFVwBsWGJeGSM1PRPcX74JLBbUlY0vzZPk/uUcg7dQO/oGskOlBo/oLnS
|
157
|
-
xVXLvRo2CR+3ydHE9iF+y4Y/66f7uccbIAyUDgaurZLf/3MRihAydlkEUQriK88Q
|
158
|
-
z1fEb60qcDl8N4bQD2HOILUyPcwvT7OZsn01HmfwxtxMvMsfeIO2NnUUqmpCXawW
|
159
|
-
Cj7lDxD1ioXbyqmJyucyVg==
|
160
|
-
-----END DSA PRIVATE KEY-----
|
161
|
-
END
|
162
|
-
|
163
|
-
def test_load_dsa_des_encrypted_compat
|
164
|
-
password = 'pass'
|
165
|
-
assert_equal(2601835381435922300807529879321911722473209798319079426284347845245761126085714618755566626587428986614532580618831696049079493874672683842235950274336046, OpenSSL::PKey::DSA.new(CRUBY_DES_DSA_PEM, password).g)
|
166
|
-
assert_equal(5421644057436475141609648488325705128047428394380474376834667300766108262613900542681289080713724597310673074119355136085795982097390670890367185141189796, OpenSSL::PKey::DSA.new(JRUBY_DES_DSA_PEM, password).g)
|
167
|
-
end
|
168
|
-
|
169
|
-
def test_load_dsa_3des_encrypted_compat
|
170
|
-
password = 'pass'
|
171
|
-
assert_equal(9936878837924433385259546254653845785685748445545516924244160189763997725813126701147586419234217178553350132394993861862023343427937351327849016782576411, OpenSSL::PKey::DSA.new(CRUBY_3DES_DSA_PEM, password).g)
|
172
|
-
assert_equal(5421644057436475141609648488325705128047428394380474376834667300766108262613900542681289080713724597310673074119355136085795982097390670890367185141189796, OpenSSL::PKey::DSA.new(JRUBY_3DES_DSA_PEM, password).g)
|
173
|
-
end
|
174
|
-
|
175
|
-
def test_load_dsa_aes_encrypted_compat
|
176
|
-
password = 'pass'
|
177
|
-
assert_equal(4237872605088828155551665609293446566126489611054397621156235339811966387210852049465706387691172976146024902239923506580469901654107741400464080284215372, OpenSSL::PKey::DSA.new(CRUBY_AES_DSA_PEM, password).g)
|
178
|
-
assert_equal(5421644057436475141609648488325705128047428394380474376834667300766108262613900542681289080713724597310673074119355136085795982097390670890367185141189796, OpenSSL::PKey::DSA.new(JRUBY_AES_DSA_PEM, password).g)
|
179
|
-
end
|
180
|
-
end
|
data/test/test_pkey_rsa.rb
DELETED
@@ -1,329 +0,0 @@
|
|
1
|
-
require "openssl"
|
2
|
-
require "test/unit"
|
3
|
-
|
4
|
-
class TestPKeyRSA < Test::Unit::TestCase
|
5
|
-
def test_has_correct_methods
|
6
|
-
pkey_methods = OpenSSL::PKey::PKey.instance_methods(false).sort.map(&:intern) - [:initialize]
|
7
|
-
assert_equal [:sign, :verify], pkey_methods
|
8
|
-
|
9
|
-
rsa_methods = OpenSSL::PKey::RSA.instance_methods(false).sort.map(&:intern) - [:initialize]
|
10
|
-
assert_equal [:d, :d=, :dmp1, :dmp1=, :dmq1, :dmq1=, :e, :e=, :export, :iqmp, :iqmp=, :n, :n=, :p, :p=, :params, :private?, :private_decrypt, :private_encrypt, :public?, :public_decrypt, :public_encrypt, :public_key, :q, :q=, :to_der, :to_pem, :to_s, :to_text], rsa_methods
|
11
|
-
|
12
|
-
assert_equal [:generate], OpenSSL::PKey::RSA.methods(false).map(&:intern)
|
13
|
-
end
|
14
|
-
|
15
|
-
#iqmp == coefficient
|
16
|
-
#e == public exponent
|
17
|
-
#n == modulus
|
18
|
-
#d == private exponent
|
19
|
-
#p == prime1
|
20
|
-
#q == prime2
|
21
|
-
#dmq1 == exponent2
|
22
|
-
#dmp1 == exponent1
|
23
|
-
|
24
|
-
def test_can_generate_rsa_key
|
25
|
-
OpenSSL::PKey::RSA.generate(512)
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_malformed_rsa_handling
|
29
|
-
pem = <<__EOP__
|
30
|
-
-----BEGIN PUBLIC KEY-----
|
31
|
-
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtiU1/UMzIQ1On9OlZGoV
|
32
|
-
S0yySFYWoXLH12nmP69fg9jwdRbQlb0rxLn7zATbwfqcvGpCcW+8SmdwW74elNrc
|
33
|
-
wRtbKjJKfbJCsVfDssbbj6BF+Bcq3ihi8+CGNXFdJOYhZZ+5Adg2Qc9Qp3Ubw9wu
|
34
|
-
/3Ai87+1aQxoZPMFwdX2BRiZvxch9dwHVyL8EuFGUOYId/8JQepHyZMbTqp/8wlA
|
35
|
-
UAbMcPW+IKp3N0WMgred3CjXKHAqqM0Ira9RLSXdlO2uFV4OrM0ak8rnTN5w1DsI
|
36
|
-
McjvVvOck0aIxfHEEmeadt3YMn4PCW33/j8geulZLvt0ci60/OWMSCcIqByITlvY
|
37
|
-
DwIDAQAB
|
38
|
-
-----END PUBLIC KEY-----
|
39
|
-
__EOP__
|
40
|
-
pkey = OpenSSL::PKey::RSA.new(pem)
|
41
|
-
# jruby-openssl/0.6 raises NativeException
|
42
|
-
assert_raise(OpenSSL::PKey::RSAError, 'JRUBY-4492') do
|
43
|
-
pkey.public_decrypt("rah")
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
# http://github.com/jruby/jruby-openssl/issues#issue/1
|
48
|
-
def test_load_pkey_rsa
|
49
|
-
pem = <<__EOP__
|
50
|
-
-----BEGIN PRIVATE KEY-----
|
51
|
-
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALRiMLAh9iimur8V
|
52
|
-
A7qVvdqxevEuUkW4K+2KdMXmnQbG9Aa7k7eBjK1S+0LYmVjPKlJGNXHDGuy5Fw/d
|
53
|
-
7rjVJ0BLB+ubPK8iA/Tw3hLQgXMRRGRXXCn8ikfuQfjUS1uZSatdLB81mydBETlJ
|
54
|
-
hI6GH4twrbDJCR2Bwy/XWXgqgGRzAgMBAAECgYBYWVtleUzavkbrPjy0T5FMou8H
|
55
|
-
X9u2AC2ry8vD/l7cqedtwMPp9k7TubgNFo+NGvKsl2ynyprOZR1xjQ7WgrgVB+mm
|
56
|
-
uScOM/5HVceFuGRDhYTCObE+y1kxRloNYXnx3ei1zbeYLPCHdhxRYW7T0qcynNmw
|
57
|
-
rn05/KO2RLjgQNalsQJBANeA3Q4Nugqy4QBUCEC09SqylT2K9FrrItqL2QKc9v0Z
|
58
|
-
zO2uwllCbg0dwpVuYPYXYvikNHHg+aCWF+VXsb9rpPsCQQDWR9TT4ORdzoj+Nccn
|
59
|
-
qkMsDmzt0EfNaAOwHOmVJ2RVBspPcxt5iN4HI7HNeG6U5YsFBb+/GZbgfBT3kpNG
|
60
|
-
WPTpAkBI+gFhjfJvRw38n3g/+UeAkwMI2TJQS4n8+hid0uus3/zOjDySH3XHCUno
|
61
|
-
cn1xOJAyZODBo47E+67R4jV1/gzbAkEAklJaspRPXP877NssM5nAZMU0/O/NGCZ+
|
62
|
-
3jPgDUno6WbJn5cqm8MqWhW1xGkImgRk+fkDBquiq4gPiT898jusgQJAd5Zrr6Q8
|
63
|
-
AO/0isr/3aa6O6NLQxISLKcPDk2NOccAfS/xOtfOz4sJYM3+Bs4Io9+dZGSDCA54
|
64
|
-
Lw03eHTNQghS0A==
|
65
|
-
-----END PRIVATE KEY-----
|
66
|
-
__EOP__
|
67
|
-
assert_nothing_raised do
|
68
|
-
pkey = OpenSSL::PKey::RSA.new(pem)
|
69
|
-
pkey2 = OpenSSL::PKey::RSA.new(pkey.to_pem)
|
70
|
-
assert_equal(pkey.n, pkey2.n)
|
71
|
-
assert_equal(pkey.e, pkey2.e)
|
72
|
-
assert_equal(pkey.d, pkey2.d)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
def test_load_pkey_rsa_enc
|
77
|
-
# password is '1234'
|
78
|
-
pem = <<__EOP__
|
79
|
-
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
80
|
-
MIICoTAbBgkqhkiG9w0BBQMwDgQIfvehP6JEg2wCAggABIICgD7kzSr+xWgdAuzG
|
81
|
-
cYNkCEWyKF6V0cJ58AKSoL4FQ59OQvQP/hMnSZEMiUpeGNRE6efC7O02RUjNarIk
|
82
|
-
ciCYIBqd5EFG3OSypK5l777AbCChIkzZHbyE/pIbadr8ZX9C4pkwzPqS0Avzavxi
|
83
|
-
5s1WDX2GggJkBcQUijqG9QuOZcOvoYbojHPT4tdJq+J6s+0LFas9Jp3a6dYkxtgv
|
84
|
-
u8Z6EFDZoLGOSVy/jCSMuZAnhoOxUCYqd9FFo2jryV7tQ/CaYAUApAQFTLgBA9qk
|
85
|
-
4WmyKRpwzIx6EG1pkqulvPXJCcTat9YwllEDVuQ2rKVwDepSl9O7X170Kx1sBecz
|
86
|
-
mGcfqviU9xwP5mkXO/TLoTZExkHF08Y3d/PTMdxGEDZH37/yRqCIb3Uyqv/jLibM
|
87
|
-
/s9fm52aWsfO1ndHEhciovlMJvGXq3+e+9gmq1w2TyNQahRc5fwfhwWKhPKfYDBk
|
88
|
-
7AtjPGfELDX61WZ5m+4Kb70BcGSAEgXCaBydVsMROy0B8jkYgtAnVBb4EMrGOsCG
|
89
|
-
jmNeW9MRIhrhDcifdyq1DMNg7IONMF+5mDdQ3FhK6WzlFU+8cTN517qA8L3A3+ZX
|
90
|
-
asiS+rx5/50InINknjuvVkmTGMzjl89nMNrZCjhx9sIDfXQ3ZKFmh1mvnXq/fLan
|
91
|
-
CgXn/UtLoykrSlobgqIxZslhj3p01kMCgGe62S3kokYrDTQEc57rlKWWR3Xyjy/T
|
92
|
-
LsecXAKEROj95IHSMMnT4jl+TJnbvGKQ2U9tOOB3W+OOOlDEFE59pQlcmQPAwdzr
|
93
|
-
mzI4kupi3QRTFjOgvX29leII9sPtpr4dKMKVIRxKnvMZhUAkS/n3+Szfa6zKexLa
|
94
|
-
4CHVgDo=
|
95
|
-
-----END ENCRYPTED PRIVATE KEY-----
|
96
|
-
__EOP__
|
97
|
-
assert_nothing_raised do
|
98
|
-
pkey = OpenSSL::PKey::RSA.new(pem, '1234')
|
99
|
-
pkey2 = OpenSSL::PKey::RSA.new(pkey.to_pem)
|
100
|
-
assert_equal(pkey.n, pkey2.n)
|
101
|
-
assert_equal(pkey.e, pkey2.e)
|
102
|
-
assert_equal(pkey.d, pkey2.d)
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
# JRUBY-6622
|
107
|
-
def test_load_pkey_rsa_enc_pbes2
|
108
|
-
# password is 'password'
|
109
|
-
pem = <<__EOP__
|
110
|
-
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
111
|
-
MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIaYgszaX31yECAggA
|
112
|
-
MBQGCCqGSIb3DQMHBAij3LmXGCmB8wSCAoDcLnAeXiBugFmwXd3wrvznlKvwHkP2
|
113
|
-
76lIrTiwDRZOLuaKHdBgNQDJ3NP+UPGdM7YEyNqdfdbN/3cLd0qfzeobuU+c/lGI
|
114
|
-
aE5pAwlWm5lK9boTsJnCqaDFEgJz2khZF+7RqYQVSG7MTM9SnIRNScLKjhTk7AaF
|
115
|
-
PD2qSnMVtixw/VfwdzhUknuwP2monLY8Ip/l9abicmBp9HGQ+0WA/nKQLQ/egWG0
|
116
|
-
S6rrXsH91exaxL7gcZL8jF+Ub7VDt4Hvx1RB/3r12k7AQGsK+TyIrKQFUllSnSq/
|
117
|
-
eFwBqpLSKWYyGJZlkJzW5MTHyeXqpTvav6T7e2mKZ4GG/a8THoWxLLrKeODFFoWn
|
118
|
-
LQNOQZ2Axa15E0TdeSkaumsOWPJm5DgFxf/1cRNxhJqYdX68QjWXeNS2SXPZBwlx
|
119
|
-
HCaAYo6OoCHZQ7O/3MpiT3rUAk30fbSa09VSvrenYi5s5lPieKFt3QZI44uGvi9j
|
120
|
-
MXyN4fkjzzXasE0xZzf6bQLS6aM+ucyQ8CMv0oAgAndoeKu10Ha4KmdT5dZf3LHj
|
121
|
-
BUXZDYp3Q5UF6ePyxKBdAqJf4PNKl4+VehYJ4eQ6CIQiSxSuWv9T+2b90PyDuRkz
|
122
|
-
sB1XZpeDD6dhQuU9GjdwCTyatITcm97ZkbdZEoQiDpiWQB4parTvKLKbD4AbP/+E
|
123
|
-
08btPFgXNocFUjLb5lB4Y/6RqaQxY7VoaFOPOfPpWPXF26X9Y5y3y+ymXdYFpkhp
|
124
|
-
wGBGScH+dutQWHoRV1TWUjv9a7CuzUxCX2Hrjooz1BtOnG8CoPA7K43+kvire5jN
|
125
|
-
529p6u+FtUZPUWLm5L5WHBUECEtJGw3ImjosX1HtoM/rW34XDmMHuN0u
|
126
|
-
-----END ENCRYPTED PRIVATE KEY-----
|
127
|
-
__EOP__
|
128
|
-
assert_nothing_raised do
|
129
|
-
pkey = OpenSSL::PKey::RSA.new(pem, 'password')
|
130
|
-
pkey2 = OpenSSL::PKey::RSA.new(pkey.to_pem)
|
131
|
-
assert_equal(pkey.n, pkey2.n)
|
132
|
-
assert_equal(pkey.e, pkey2.e)
|
133
|
-
assert_equal(pkey.d, pkey2.d)
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
# jruby-openssl/0.6 causes NPE
|
138
|
-
def test_generate_pkey_rsa_empty
|
139
|
-
assert_nothing_raised do
|
140
|
-
OpenSSL::PKey::RSA.new.to_pem
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
def test_generate_pkey_rsa_length
|
145
|
-
assert_nothing_raised do
|
146
|
-
OpenSSL::PKey::RSA.new(512).to_pem
|
147
|
-
end
|
148
|
-
end
|
149
|
-
|
150
|
-
def test_generate_pkey_rsa_to_text
|
151
|
-
assert_match(
|
152
|
-
/Private-Key: \(512 bit\)/,
|
153
|
-
OpenSSL::PKey::RSA.new(512).to_text
|
154
|
-
)
|
155
|
-
end
|
156
|
-
|
157
|
-
def test_load_pkey_rsa
|
158
|
-
pkey = OpenSSL::PKey::RSA.new(512)
|
159
|
-
assert_equal(pkey.to_pem, OpenSSL::PKey::RSA.new(pkey.to_pem).to_pem)
|
160
|
-
end
|
161
|
-
|
162
|
-
def test_load_pkey_rsa_public
|
163
|
-
pkey = OpenSSL::PKey::RSA.new(512).public_key
|
164
|
-
assert_equal(pkey.to_pem, OpenSSL::PKey::RSA.new(pkey.to_pem).to_pem)
|
165
|
-
end
|
166
|
-
|
167
|
-
def test_load_pkey_rsa_der
|
168
|
-
pkey = OpenSSL::PKey::RSA.new(512)
|
169
|
-
assert_equal(pkey.to_der, OpenSSL::PKey::RSA.new(pkey.to_der).to_der)
|
170
|
-
end
|
171
|
-
|
172
|
-
def test_load_pkey_rsa_public_der
|
173
|
-
pkey = OpenSSL::PKey::RSA.new(512).public_key
|
174
|
-
assert_equal(pkey.to_der, OpenSSL::PKey::RSA.new(pkey.to_der).to_der)
|
175
|
-
end
|
176
|
-
|
177
|
-
def test_load_rsa_des_encrypted
|
178
|
-
password = 'pass'
|
179
|
-
pkey = OpenSSL::PKey::RSA.generate(1024)
|
180
|
-
cipher = OpenSSL::Cipher::Cipher.new('des-cbc')
|
181
|
-
pem = pkey.to_pem(cipher, password)
|
182
|
-
assert_equal(pkey.n, OpenSSL::PKey::RSA.new(pem, password).n)
|
183
|
-
end
|
184
|
-
|
185
|
-
def test_load_rsa_3des_encrypted
|
186
|
-
password = 'pass'
|
187
|
-
pkey = OpenSSL::PKey::RSA.generate(1024)
|
188
|
-
cipher = OpenSSL::Cipher::Cipher.new('des-ede3-cbc')
|
189
|
-
pem = pkey.to_pem(cipher, password)
|
190
|
-
assert_equal(pkey.n, OpenSSL::PKey::RSA.new(pem, password).n)
|
191
|
-
end
|
192
|
-
|
193
|
-
def test_load_rsa_aes_encrypted
|
194
|
-
password = 'pass'
|
195
|
-
pkey = OpenSSL::PKey::RSA.generate(1024)
|
196
|
-
cipher = OpenSSL::Cipher::Cipher.new('aes-128-cbc')
|
197
|
-
pem = pkey.to_pem(cipher, password)
|
198
|
-
assert_equal(pkey.n, OpenSSL::PKey::RSA.new(pem, password).n)
|
199
|
-
end
|
200
|
-
|
201
|
-
CRUBY_DES_RSA_PEM = <<END
|
202
|
-
-----BEGIN RSA PRIVATE KEY-----
|
203
|
-
Proc-Type: 4,ENCRYPTED
|
204
|
-
DEK-Info: DES-CBC,D22ABA5D7A345AAF
|
205
|
-
|
206
|
-
uSRJRBARry1L2DUZwdLkQ0JA4riJ9CWnsA+Y6M76dznyzJCLK/rLyQSLxZefVWVk
|
207
|
-
CzkRMhi4n4NrSS1hB7qUlphX6y67O5Rv/O0S4SYa3d87hDJKqNpR47gfj35efNUk
|
208
|
-
izIb4rHoVgolRNm/L4joChuIrKqHkQnkusNxp9wReuNT/B2qPbqqEGxiDCcv8jni
|
209
|
-
fq1ifvkJyTlEKnmrdml65fhjHHDuNENVAXVrsPsVJXI6kk7PahJk24rn29qPOAlJ
|
210
|
-
d+E6Q6YDgRM1MDrEQmaXFzNJi8Mco1712LjXIYH9+vkJ5GnXrIk8XrAmY2E4ERgQ
|
211
|
-
XdFx9J6Qncnjj/y18H9WilvoaN4hJiE22OqNI/PeK+nYeeYnxzu2qc2E5QVyjCqA
|
212
|
-
N2nTwx0ZtZRxFakP8CMyrVCn7BVYdIF3ISgX7RT+GwkujKwWAO0xrjkMc3y3Pv2R
|
213
|
-
9MG5PzeFe4EuuwkjN0rWB8ra4HCkaPxk
|
214
|
-
-----END RSA PRIVATE KEY-----
|
215
|
-
END
|
216
|
-
|
217
|
-
JRUBY_DES_RSA_PEM = <<END
|
218
|
-
-----BEGIN RSA PRIVATE KEY-----
|
219
|
-
Proc-Type: 4,ENCRYPTED
|
220
|
-
DEK-Info: DES-CBC,14f319c66f99b413
|
221
|
-
|
222
|
-
JTTxyeEPF9HcOyyLQ0Y+oO91RaVYIoqppxpfKaULXBZwHN8pGSrHFPliCgahgEEC
|
223
|
-
aF39H6/69KrEKw7h8XYKrFK+sinBYd975qWfspexmDHTyMcN7MPBPpbnV5Ha2z+m
|
224
|
-
weenO/2rAzsOxNa6dRBmdCyHYODJrSDq71h6W7255t79E4Tjr1u72/lHPVTO2r9a
|
225
|
-
sv0AhkfM5G95n+qamgNYOYjWODKFaSA6vN4sB08UQZBN7EJeE6Ouv5hw8E0uooLu
|
226
|
-
10iaBJUWkYF9v50+Z+cVd890VlUiQZihybQ8dETHtBtJ6moaMxBzQjkXjGJf6vd+
|
227
|
-
h0YPQOIg0YLwxg+aIC4L+Sh/11DrXSeb6j/7d0HfqGW060AC1b7crits71v2vEGe
|
228
|
-
+9kGgboShossQLoOuFicETEo5UgyhWfJ+ftvKM5DgYfsKJNsegSH9WwISFNWGSsY
|
229
|
-
njt38WTtkSxDQmm1G+VGfdfOIUQWohI9Prol2qodhsN6SvJgd0n9nVYi388bh1IR
|
230
|
-
23jnX9eayTrCm6Ff9EBVIroG8wVr0Qqme36o0GDtmCXtuBY9F3utr/8n03lTBuW7
|
231
|
-
E/Cx4XKlTtA7oBQjDz/ecbSGZXIROQmZh2f4wX6JeDhQH93InvM5DP7nN7qq+bxp
|
232
|
-
aZPRS3QFj0XlcF/QTI5r/GqT+DAWZ4ZXGtuKUg2yEjCNz6+r8xW9zOFSFos+773U
|
233
|
-
MVitdHtRLjfRVV6PT6VyThaHI56f6T9PC7KHgX8e/YcA8cAR0IoOjVsy1Xy0KWn7
|
234
|
-
CLxLcO6qbYRDyoFEpMrYq/O2beA1BH28BXnDkODbOje/lbvL9sSaHg==
|
235
|
-
-----END RSA PRIVATE KEY-----
|
236
|
-
END
|
237
|
-
|
238
|
-
CRUBY_3DES_RSA_PEM = <<END
|
239
|
-
-----BEGIN RSA PRIVATE KEY-----
|
240
|
-
Proc-Type: 4,ENCRYPTED
|
241
|
-
DEK-Info: DES-EDE3-CBC,F4E217EFFC0C21F0
|
242
|
-
|
243
|
-
KblUxUrSn2mJlzZUyZ/QBBWdhDkPwO4bzH6y6XxUmVEhv3DgiiWiOccQoE9s06Gt
|
244
|
-
LguPArk2W61DfksDH7ESeVd5syS+6LVmuVXePrXlef45flNwmdFHXgy+OVM9uLHT
|
245
|
-
y1AvHs6f3NLsDlf+ho8yoKgCTTBWf9lwAxw6EO9iKqUWY4ofRjSefiGxwhIW77Vc
|
246
|
-
MIktK9wMcZL9d8mINqQEY/Pz7pg70bLp3uZlljNFo6i8OA2SnitTOmU97dyknbee
|
247
|
-
+HDzrFFGdwsCg6nJdnjDsOXYeXDW2sul8g258ipUEVpkByWZ7Vy3vpAZKwO2dIrj
|
248
|
-
oEr/6glDvOKd7w2U5DIqmuWo5zvtCBu1taonyyaJKRoxsmJO9PTbDhz38WU3wcbf
|
249
|
-
9AQxDlMY//N5hSICrcnIaXsjMTxiJrERHLPjW+auYSRl7E9qKh4KqjDHsJ2/LyTE
|
250
|
-
dQ7IaJwE9xygO1hVHLJze1pZs+xHsxdR
|
251
|
-
-----END RSA PRIVATE KEY-----
|
252
|
-
END
|
253
|
-
|
254
|
-
JRUBY_3DES_RSA_PEM = <<END
|
255
|
-
-----BEGIN RSA PRIVATE KEY-----
|
256
|
-
Proc-Type: 4,ENCRYPTED
|
257
|
-
DEK-Info: DES-EDE3-CBC,102c5e7fdd051c1a
|
258
|
-
|
259
|
-
u19K4AySBL8KAM9DSLsSJSuxtKLQgmPiawpPRBpYjMITxw2NQtpZMYJKLZOtx/uU
|
260
|
-
kVjbwzJhhr51ciBF2HztLLvrpmh9xPybLZFh4Ew7/yMMOir+GyO3G8pf3sL5roAA
|
261
|
-
+sR4VERTiK6KWdblZQCYOmyJDiffjWBfzSz6MlLdjjTZr+NBQ6d0vGFGdLE1662Y
|
262
|
-
XpjcG6nw3fpUhdTXhXJDYneSBD30P6sfSxzPY0G7TLNU6vv9qlaeZ3nksfY/2Li1
|
263
|
-
aOSzrYtZe9+uzqAd9KxNNO7Eya3GAgdhErwVQGIU/cmtNybYdeaEhOtd80Vx8qY0
|
264
|
-
l9Lz/FtKdbxxoSAFhpRupRY2cFC80LJ2e9hp+TRkYp2k9a9UuPMrTYmK6GoYsPRC
|
265
|
-
SqnL9xIlCrByxhQ3vJaogSseAFlFmLxb+E61cQxCHfc5oBM9XY3e60Cirfsx/POG
|
266
|
-
xvTPXBLS1SuLybLh68wZDpLcqTFk0zG0oSchUt6x5JqK4OImKnI2VpXZ1H7j/rSU
|
267
|
-
ghUJvDcvAiMwiqep/81Ue9KIrP+ouluk81njjFTA636Dx23PdPq0dyBwi4iF+WOf
|
268
|
-
A4EhhISttdb+ZSmS9kPDYn2a79Qvds29yOgEB2OwKIstDzlBNO85CA+E3JbOndBq
|
269
|
-
+zpQklVLA+dWw0dTIbwI5xYKGb7HJJPOpBC0aWcnudr4rda2b2WIFPzH/PTAoIhJ
|
270
|
-
kBuwNoLBA38qh+T6Se66hLWzWyt3yPWaH81KW0WOaHW68LC572+qq7hrsOHp7ya6
|
271
|
-
C4/lMsQ5zUyRI0fwpnSJv1RjYemNJMV+oUiHFDKN5jQ=
|
272
|
-
-----END RSA PRIVATE KEY-----
|
273
|
-
END
|
274
|
-
|
275
|
-
CRUBY_AES_RSA_PEM = <<END
|
276
|
-
-----BEGIN RSA PRIVATE KEY-----
|
277
|
-
Proc-Type: 4,ENCRYPTED
|
278
|
-
DEK-Info: AES-128-CBC,E6FB0DECDE6009CF6EEE61885679905E
|
279
|
-
|
280
|
-
254YnHYZVo139fw1jbztY/v7BbaaCoYAMC27q6NF4k5Qocfe12HYWD/pgpe1YKbX
|
281
|
-
8fmfBhKFpjqTAr8emp0HOOw8VjfcaITiN4MvrnyhT7Ir4yjJjO5mUQVBZQha+i7P
|
282
|
-
CFTsuZhDF1iEkxkyVsHQ56iWT+SL7d0uvWW2eVNZ0L/vRVrdffNG1m+92xIm66Fj
|
283
|
-
0/fMudTSUYJvad2Isj64i1DWKxo6gfxgmukLCwj4DnmjVQvOH/VQT7nUe9oqxCuy
|
284
|
-
VUC+c2FAZgTr+2vSYdpPnU/u//DKjqvDgZHDkRIKDNNDv1yyVRY7giuOfFE9GqbE
|
285
|
-
wQTwaLdJYnu9I4HaS8tWCLHgNYRKbvNcTRX7CMxlV82ndn7aKoIDb/x8O5frObEF
|
286
|
-
2gMnv4H5mxrtHCJVk0ivQf3BgZWTdom/YEBr56RC8R/8y5dWsaGhIbXr9kNW0Lom
|
287
|
-
50oQToYBbM5ulLJxYXV3tA==
|
288
|
-
-----END RSA PRIVATE KEY-----
|
289
|
-
END
|
290
|
-
|
291
|
-
JRUBY_AES_RSA_PEM = <<END
|
292
|
-
-----BEGIN RSA PRIVATE KEY-----
|
293
|
-
Proc-Type: 4,ENCRYPTED
|
294
|
-
DEK-Info: AES-128-CBC,5c6a1d2d24302e15a23bb77483db3966
|
295
|
-
|
296
|
-
2IBvwJDEw3CkZVMp7/ML0qiozHqmkmkZ+XEe3YD8EV8te7rO7zRVNCW+NOxfqUhu
|
297
|
-
TrP5gXNLK2rUrhBairruFz6iXWndtkGs1o8LL2X+dCSRbFpkVOo6d7IEpRi5xJDJ
|
298
|
-
MK1LzWLb1I3EUxlEY/NkpfIaULxldix9QCXejqdlHyuRvDEO11HwT2AO1ND/Pir9
|
299
|
-
510nnDrBF0oGy/y9n5Quw/3F30CLyNUoQ+yb05unRt3MXQ40Qh4qIxE2bEsT5bPV
|
300
|
-
YHQ7Ls4ETxSyqVETpWfghAl2pipU2S6ZhCcPETnv6nfjC72uk/dFRuaMsve4IUTu
|
301
|
-
AnxZCKQ6ICaExlgUzY97lEIj3nJDY5PbDARqE1EQt24nS4wHq+5hrMumDLaiYcFu
|
302
|
-
QqfDYDXJiZt0gUYXlHwezNyv+iH4Y5xhko7fQn0yFhp4ud748zZJVYzULJCMGVWT
|
303
|
-
ObQ6I5JE2UoTeTHl/UfE3UYqKoBPnnElsJkTFzdql8zBS5PGAHgrF06Wg/jp9iCG
|
304
|
-
h0BXTnPw5jBVF8YF15F9oWt6hzLVrBfihTCi1+KxKPYDCoKUVGyeaSmCRTwu/Shp
|
305
|
-
WJpKokBtazrML5gXE2rTho3yHOpiwv/3HLLGKpVxBZk/w+quo5o1dQbuNcdVkXUy
|
306
|
-
uvMFYJGBMXhpFHxWOnrHe5EWmlergjbH6FtDnZ6q9mGKX3Zv0mj16rGTwaC8ojFJ
|
307
|
-
klvWNuzEyQRT2OJNbiJ+w8v4yF9nKcoNnWaLwsTXkdfrPkrUEyG03aNj5UVkJ8cq
|
308
|
-
jfdOf8b35frgdBJrFb1fNxXUDiOmHxBeffidJ7LEHD0zvh8yke9iqCRquRbQw4ua
|
309
|
-
-----END RSA PRIVATE KEY-----
|
310
|
-
END
|
311
|
-
|
312
|
-
def test_load_rsa_des_encrypted_compat
|
313
|
-
password = 'pass'
|
314
|
-
assert_equal(171121679472900958735046240032013822902814135418044632926746858725279957006460484359346082493980272450155346042705805047522822137075000873718614673206839485927470809962483274240113443184049955325778842883884472730809338103721103527723371013427831682847229398280665281140996554391864952366240593334371598093357, OpenSSL::PKey::RSA.new(CRUBY_DES_RSA_PEM, password).n)
|
315
|
-
assert_equal(95186390926176289293448721787465460008681849005943627766414746880750829275325362105354699806095724614833850511391997530422798534550053092884697848715098905298125981139872096315909555296044739053126836027629923201408465604387441696201951345435727705264545384652266958892017406564235498456780610723946372077161, OpenSSL::PKey::RSA.new(JRUBY_DES_RSA_PEM, password).n)
|
316
|
-
end
|
317
|
-
|
318
|
-
def test_load_rsa_3des_encrypted_compat
|
319
|
-
password = 'pass'
|
320
|
-
assert_equal(159891081887610779337613110093558981667630640397086024796277575756132362092191306947719745882625669532365621381440788450544049011459945371880102089907577418294502920328095107337128188112059054500699255092076505828498357575128536918367005034864200777995404401769611478230798677758186716282278489076140546075717, OpenSSL::PKey::RSA.new(CRUBY_3DES_RSA_PEM, password).n)
|
321
|
-
assert_equal(132634270546428248975101416587398035596645524786882670408365466475894396526829329830349264854502825314377251520406282650983030314030180184335663605776194424399755874220996106852804569548140575796496611429489809370931661876941690628312711482612941088835232077828296662784479160183720585553373956579796213039707, OpenSSL::PKey::RSA.new(JRUBY_3DES_RSA_PEM, password).n)
|
322
|
-
end
|
323
|
-
|
324
|
-
def test_load_rsa_aes_encrypted_compat
|
325
|
-
password = 'pass'
|
326
|
-
assert_equal(152164605304862839347386799863418642272176047421496804966498177563653853015174053675480323318393334405555865282832768092329962715390636176200784476670180320842603832200246642618431746763085706624847469867394029459008113763032679106133646348160741974785288005086128311619599829066360227829804048705177001887963, OpenSSL::PKey::RSA.new(CRUBY_AES_RSA_PEM, password).n)
|
327
|
-
assert_equal(120124464337037052596736192517844019014106857114253451267066925743499301063116479220243836708739023567649536721432121286547319736881999977669587689339777273865695637895993003754843628769179367393259439036333237000420047538052601743699164582419555307462460610926941760286052729693393703143580060262101504625743, OpenSSL::PKey::RSA.new(JRUBY_AES_RSA_PEM, password).n)
|
328
|
-
end
|
329
|
-
end
|