jruby-openssl 0.7.2 → 0.7.3

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.
@@ -1,3 +1,13 @@
1
+ == 0.7.3
2
+
3
+ - JRUBY-5200: Net::IMAP + SSL(imaps) login could hang. Fixed.
4
+ - JRUBY-5253: Allow to load the certificate file which includes private
5
+ key for activemarchant compatibility.
6
+ - JRUBY-5267: Added SSL socket error-checks to avoid busy loop under an
7
+ unknown condition.
8
+ - JRUBY-5316: Improvements for J9's IBMJCE support. Now all testcases
9
+ pass on J9 JDK 6.
10
+
1
11
  == 0.7.2
2
12
 
3
13
  - JRUBY-5126: Ignore Cipher#reset and Cipher#iv= when it's a stream
@@ -4,106 +4,112 @@ Manifest.txt
4
4
  README.txt
5
5
  License.txt
6
6
  lib/jopenssl.jar
7
+ lib/openssl
7
8
  lib/jopenssl
8
9
  lib/jopenssl.jar
9
- lib/openssl
10
10
  lib/openssl.rb
11
- lib/jopenssl/version.rb
12
- lib/openssl/bn.rb
13
- lib/openssl/buffering.rb
14
- lib/openssl/cipher.rb
15
- lib/openssl/config.rb
16
- lib/openssl/digest.rb
17
11
  lib/openssl/dummy.rb
18
12
  lib/openssl/dummyssl.rb
19
- lib/openssl/pkcs7.rb
13
+ lib/openssl/config.rb
14
+ lib/openssl/cipher.rb
20
15
  lib/openssl/ssl.rb
16
+ lib/openssl/bn.rb
21
17
  lib/openssl/x509.rb
22
- test/cert_with_ec_pk.cer
23
- test/fixture
24
- test/java
25
- test/openssl
26
- test/ref
18
+ lib/openssl/digest.rb
19
+ lib/openssl/buffering.rb
20
+ lib/openssl/pkcs7.rb
21
+ lib/jopenssl/version.rb
22
+ test/test_imaps.rb
27
23
  test/test_all.rb
28
- test/test_certificate.rb
29
- test/test_cipher.rb
30
24
  test/test_integration.rb
25
+ test/ut_eof.rb
26
+ test/openssl
31
27
  test/test_java.rb
32
28
  test/test_openssl.rb
33
- test/test_parse_certificate.rb
34
- test/test_pkcs7.rb
35
29
  test/test_pkey.rb
36
- test/test_ssl.rb
30
+ test/ref
31
+ test/test_cipher.rb
32
+ test/cert_with_ec_pk.cer
33
+ test/fixture
34
+ test/test_pkcs7.rb
37
35
  test/test_x509store.rb
38
- test/ut_eof.rb
39
- test/fixture/ca-bundle.crt
40
- test/fixture/ca_path
36
+ test/test_certificate.rb
37
+ test/test_parse_certificate.rb
38
+ test/test_ssl.rb
39
+ test/java
40
+ test/openssl/test_x509name.rb
41
+ test/openssl/test_ns_spki.rb
42
+ test/openssl/test_x509cert.rb
43
+ test/openssl/ssl_server.rb
44
+ test/openssl/test_pair.rb
45
+ test/openssl/test_ec.rb
46
+ test/openssl/test_config.rb
47
+ test/openssl/utils.rb
48
+ test/openssl/test_x509req.rb
49
+ test/openssl/test_cipher.rb
50
+ test/openssl/test_digest.rb
51
+ test/openssl/test_x509ext.rb
52
+ test/openssl/test_asn1.rb
53
+ test/openssl/test_pkcs7.rb
54
+ test/openssl/test_x509store.rb
55
+ test/openssl/test_pkey_rsa.rb
56
+ test/openssl/test_ssl.rb
57
+ test/openssl/test_x509crl.rb
58
+ test/openssl/test_hmac.rb
59
+ test/ref/compile.rb
60
+ test/ref/a.out
61
+ test/ref/pkcs1
62
+ test/ref/pkcs1.c
41
63
  test/fixture/cacert.pem
42
- test/fixture/cert_localhost.pem
64
+ test/fixture/ca-bundle.crt
43
65
  test/fixture/common.pem
44
- test/fixture/keypair.pem
66
+ test/fixture/key_then_cert.pem
67
+ test/fixture/verisign.pem
68
+ test/fixture/cert_localhost.pem
45
69
  test/fixture/localhost_keypair.pem
70
+ test/fixture/verisign_c3.pem
71
+ test/fixture/selfcert.pem
46
72
  test/fixture/max.pem
73
+ test/fixture/keypair.pem
47
74
  test/fixture/purpose
48
- test/fixture/selfcert.pem
49
- test/fixture/verisign.pem
50
- test/fixture/verisign_c3.pem
51
- test/fixture/ca_path/72fa7371.0
52
- test/fixture/ca_path/verisign.pem
53
- test/fixture/purpose/b70a5bc1.0
54
- test/fixture/purpose/ca
75
+ test/fixture/imaps
76
+ test/fixture/ca_path
55
77
  test/fixture/purpose/cacert.pem
56
- test/fixture/purpose/scripts
57
78
  test/fixture/purpose/sslclient
79
+ test/fixture/purpose/b70a5bc1.0
80
+ test/fixture/purpose/ca
58
81
  test/fixture/purpose/sslclient.pem
59
- test/fixture/purpose/sslserver
60
82
  test/fixture/purpose/sslserver.pem
61
- test/fixture/purpose/ca/ca_config.rb
83
+ test/fixture/purpose/scripts
84
+ test/fixture/purpose/sslserver
85
+ test/fixture/purpose/sslclient/sslclient.pem
86
+ test/fixture/purpose/sslclient/csr.pem
87
+ test/fixture/purpose/sslclient/keypair.pem
62
88
  test/fixture/purpose/ca/cacert.pem
63
89
  test/fixture/purpose/ca/newcerts
64
90
  test/fixture/purpose/ca/PASSWD_OF_CA_KEY_IS_1234
65
- test/fixture/purpose/ca/private
91
+ test/fixture/purpose/ca/ca_config.rb
66
92
  test/fixture/purpose/ca/serial
93
+ test/fixture/purpose/ca/private
67
94
  test/fixture/purpose/ca/newcerts/2_cert.pem
68
95
  test/fixture/purpose/ca/newcerts/3_cert.pem
69
96
  test/fixture/purpose/ca/private/cakeypair.pem
70
97
  test/fixture/purpose/scripts/gen_cert.rb
71
- test/fixture/purpose/scripts/gen_csr.rb
72
98
  test/fixture/purpose/scripts/init_ca.rb
73
- test/fixture/purpose/sslclient/csr.pem
74
- test/fixture/purpose/sslclient/keypair.pem
75
- test/fixture/purpose/sslclient/sslclient.pem
99
+ test/fixture/purpose/scripts/gen_csr.rb
100
+ test/fixture/purpose/sslserver/sslserver.pem
76
101
  test/fixture/purpose/sslserver/csr.pem
77
102
  test/fixture/purpose/sslserver/keypair.pem
78
- test/fixture/purpose/sslserver/sslserver.pem
103
+ test/fixture/imaps/cacert.pem
104
+ test/fixture/imaps/server.crt
105
+ test/fixture/imaps/server.key
106
+ test/fixture/ca_path/verisign.pem
107
+ test/fixture/ca_path/72fa7371.0
79
108
  test/java/pkcs7_mime_enveloped.message
80
109
  test/java/pkcs7_mime_signed.message
81
- test/java/pkcs7_multipart_signed.message
82
- test/java/test_java_attribute.rb
110
+ test/java/test_java_pkcs7.rb
83
111
  test/java/test_java_bio.rb
112
+ test/java/pkcs7_multipart_signed.message
84
113
  test/java/test_java_mime.rb
85
- test/java/test_java_pkcs7.rb
114
+ test/java/test_java_attribute.rb
86
115
  test/java/test_java_smime.rb
87
- test/openssl/ssl_server.rb
88
- test/openssl/test_asn1.rb
89
- test/openssl/test_cipher.rb
90
- test/openssl/test_config.rb
91
- test/openssl/test_digest.rb
92
- test/openssl/test_ec.rb
93
- test/openssl/test_hmac.rb
94
- test/openssl/test_ns_spki.rb
95
- test/openssl/test_pair.rb
96
- test/openssl/test_pkcs7.rb
97
- test/openssl/test_pkey_rsa.rb
98
- test/openssl/test_ssl.rb
99
- test/openssl/test_x509cert.rb
100
- test/openssl/test_x509crl.rb
101
- test/openssl/test_x509ext.rb
102
- test/openssl/test_x509name.rb
103
- test/openssl/test_x509req.rb
104
- test/openssl/test_x509store.rb
105
- test/openssl/utils.rb
106
- test/ref/a.out
107
- test/ref/compile.rb
108
- test/ref/pkcs1
109
- test/ref/pkcs1.c
data/Rakefile CHANGED
@@ -49,12 +49,12 @@ task :clean => :more_clean
49
49
 
50
50
  File.open("Manifest.txt", "w") {|f| MANIFEST.each {|n| f.puts n } }
51
51
 
52
- require File.dirname(__FILE__) + "/lib/jopenssl/version"
53
52
  begin
54
53
  require 'hoe'
55
54
  Hoe.plugin :gemcutter
56
55
  Hoe.add_include_dirs('build_lib')
57
56
  hoe = Hoe.spec("jruby-openssl") do |p|
57
+ load File.dirname(__FILE__) + "/lib/jopenssl/version.rb"
58
58
  p.version = Jopenssl::Version::VERSION
59
59
  p.rubyforge_name = "jruby-extras"
60
60
  p.url = "http://jruby-extras.rubyforge.org/jruby-openssl"
Binary file
@@ -1,5 +1,5 @@
1
1
  module Jopenssl
2
2
  module Version
3
- VERSION = "0.7.2"
3
+ VERSION = "0.7.3"
4
4
  end
5
5
  end
@@ -0,0 +1,60 @@
1
+ Certificate:
2
+ Data:
3
+ Version: 3 (0x2)
4
+ Serial Number:
5
+ 9f:dc:f7:94:98:05:43:4c
6
+ Signature Algorithm: sha1WithRSAEncryption
7
+ Issuer: C=JP, ST=Shimane, L=Matz-e city, O=Ruby Core Team, CN=Ruby Test CA/emailAddress=security@ruby-lang.org
8
+ Validity
9
+ Not Before: Dec 23 10:21:33 2010 GMT
10
+ Not After : Jan 1 10:21:33 2014 GMT
11
+ Subject: C=JP, ST=Shimane, L=Matz-e city, O=Ruby Core Team, CN=Ruby Test CA/emailAddress=security@ruby-lang.org
12
+ Subject Public Key Info:
13
+ Public Key Algorithm: rsaEncryption
14
+ Public-Key: (1024 bit)
15
+ Modulus:
16
+ 00:ce:be:2c:9f:47:ba:db:9c:9c:5b:f0:38:3b:f3:
17
+ 74:20:37:76:23:9f:84:1c:81:90:b4:3e:00:20:34:
18
+ 98:7e:81:69:50:a1:c3:65:96:ea:fa:00:da:8c:cc:
19
+ 53:3f:ba:3c:d0:50:7a:5a:b4:6b:ac:d3:2e:18:ca:
20
+ 2a:69:b3:6a:6f:38:c2:32:a8:06:b6:0a:30:a9:ee:
21
+ 03:38:e9:05:a5:19:23:54:a8:3c:b9:08:ad:2b:72:
22
+ 23:df:93:22:c4:46:a8:ea:f1:a6:e9:30:4a:3f:83:
23
+ 39:e9:62:8e:8b:a3:5e:67:89:1d:7c:75:de:05:aa:
24
+ 58:b1:b7:79:7c:10:80:6d:87
25
+ Exponent: 65537 (0x10001)
26
+ X509v3 extensions:
27
+ X509v3 Subject Key Identifier:
28
+ 41:C9:49:37:B1:FA:61:E3:BA:D7:19:3D:D9:DA:8C:B9:82:C9:B4:6A
29
+ X509v3 Authority Key Identifier:
30
+ keyid:41:C9:49:37:B1:FA:61:E3:BA:D7:19:3D:D9:DA:8C:B9:82:C9:B4:6A
31
+
32
+ X509v3 Basic Constraints:
33
+ CA:TRUE
34
+ Signature Algorithm: sha1WithRSAEncryption
35
+ 86:00:33:b9:dd:ff:5f:83:59:5f:c3:29:3c:d7:11:db:10:b3:
36
+ d7:d1:70:fb:0a:c6:74:85:c6:ea:e1:15:c4:92:f8:0e:11:cc:
37
+ ff:a6:3c:31:c2:2c:66:d8:fe:63:93:9f:b0:97:e6:f5:bc:5c:
38
+ 80:68:96:5d:eb:77:b9:23:dd:68:a7:49:03:ff:22:48:55:f1:
39
+ 39:7c:20:21:ff:64:52:e1:f6:cf:3c:b3:4d:2c:5c:03:62:ea:
40
+ c5:49:99:07:fa:8d:ff:7b:c2:75:0c:ca:24:b5:0b:f5:b7:57:
41
+ 3a:10:f0:8a:bb:9a:e8:92:4d:d5:6f:c2:a2:29:36:61:78:a4:
42
+ dc:7b
43
+ -----BEGIN CERTIFICATE-----
44
+ MIIC6DCCAlGgAwIBAgIJAJ/c95SYBUNMMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYD
45
+ VQQGEwJKUDEQMA4GA1UECAwHU2hpbWFuZTEUMBIGA1UEBwwLTWF0ei1lIGNpdHkx
46
+ FzAVBgNVBAoMDlJ1YnkgQ29yZSBUZWFtMRUwEwYDVQQDDAxSdWJ5IFRlc3QgQ0Ex
47
+ JTAjBgkqhkiG9w0BCQEWFnNlY3VyaXR5QHJ1YnktbGFuZy5vcmcwHhcNMTAxMjIz
48
+ MTAyMTMzWhcNMTQwMTAxMTAyMTMzWjCBjDELMAkGA1UEBhMCSlAxEDAOBgNVBAgM
49
+ B1NoaW1hbmUxFDASBgNVBAcMC01hdHotZSBjaXR5MRcwFQYDVQQKDA5SdWJ5IENv
50
+ cmUgVGVhbTEVMBMGA1UEAwwMUnVieSBUZXN0IENBMSUwIwYJKoZIhvcNAQkBFhZz
51
+ ZWN1cml0eUBydWJ5LWxhbmcub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
52
+ gQDOviyfR7rbnJxb8Dg783QgN3Yjn4QcgZC0PgAgNJh+gWlQocNllur6ANqMzFM/
53
+ ujzQUHpatGus0y4Yyipps2pvOMIyqAa2CjCp7gM46QWlGSNUqDy5CK0rciPfkyLE
54
+ Rqjq8abpMEo/gznpYo6Lo15niR18dd4Fqlixt3l8EIBthwIDAQABo1AwTjAdBgNV
55
+ HQ4EFgQUQclJN7H6YeO61xk92dqMuYLJtGowHwYDVR0jBBgwFoAUQclJN7H6YeO6
56
+ 1xk92dqMuYLJtGowDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQCGADO5
57
+ 3f9fg1lfwyk81xHbELPX0XD7CsZ0hcbq4RXEkvgOEcz/pjwxwixm2P5jk5+wl+b1
58
+ vFyAaJZd63e5I91op0kD/yJIVfE5fCAh/2RS4fbPPLNNLFwDYurFSZkH+o3/e8J1
59
+ DMoktQv1t1c6EPCKu5rokk3Vb8KiKTZheKTcew==
60
+ -----END CERTIFICATE-----
@@ -0,0 +1,61 @@
1
+ Certificate:
2
+ Data:
3
+ Version: 3 (0x2)
4
+ Serial Number: 0 (0x0)
5
+ Signature Algorithm: sha1WithRSAEncryption
6
+ Issuer: C=JP, ST=Shimane, L=Matz-e city, O=Ruby Core Team, CN=Ruby Test CA/emailAddress=security@ruby-lang.org
7
+ Validity
8
+ Not Before: Dec 23 10:23:52 2010 GMT
9
+ Not After : Jan 1 10:23:52 2014 GMT
10
+ Subject: C=JP, ST=Shimane, O=Ruby Core Team, OU=Ruby Test, CN=localhost
11
+ Subject Public Key Info:
12
+ Public Key Algorithm: rsaEncryption
13
+ Public-Key: (1024 bit)
14
+ Modulus:
15
+ 00:db:75:d0:45:de:b1:df:bf:71:a0:0e:b0:a5:e6:
16
+ bc:f4:1c:9d:e5:25:67:64:c5:7b:cb:f1:af:c6:be:
17
+ 9a:aa:ea:7e:0f:cc:05:af:ef:40:69:06:b2:c9:13:
18
+ 9d:7e:eb:a2:06:e2:ea:7d:07:c7:c7:99:c7:fb:d5:
19
+ b8:eb:63:77:62:2b:18:12:c3:53:58:d0:f5:c7:40:
20
+ 0c:01:d1:26:82:34:16:09:e3:dc:65:f4:dc:bb:5d:
21
+ a5:41:60:e7:a9:74:ba:d7:4c:b6:a3:9c:c5:8c:89:
22
+ af:cb:e8:9f:05:fe:ea:fe:64:24:bf:e7:ed:e3:f6:
23
+ d0:fc:d6:eb:fc:06:82:10:fb
24
+ Exponent: 65537 (0x10001)
25
+ X509v3 extensions:
26
+ X509v3 Basic Constraints:
27
+ CA:FALSE
28
+ Netscape Comment:
29
+ OpenSSL Generated Certificate
30
+ X509v3 Subject Key Identifier:
31
+ E8:7E:58:AC:13:7B:03:22:8D:9E:AF:32:0B:84:89:80:80:0C:1E:C2
32
+ X509v3 Authority Key Identifier:
33
+ keyid:41:C9:49:37:B1:FA:61:E3:BA:D7:19:3D:D9:DA:8C:B9:82:C9:B4:6A
34
+
35
+ Signature Algorithm: sha1WithRSAEncryption
36
+ ae:ee:cd:fe:c9:af:48:0b:50:37:ac:6a:f6:68:90:9b:67:df:
37
+ 6f:2d:17:c9:3c:a5:da:ad:39:dc:2a:5b:07:88:26:38:19:30:
38
+ d6:95:cf:10:69:c7:92:14:83:be:f1:b5:8e:6f:d9:91:51:c5:
39
+ 63:ae:1c:89:ac:27:bf:4f:2a:8f:4e:0c:57:42:0a:c9:8e:0c:
40
+ f4:f3:02:f7:ea:44:b6:e4:47:05:af:4e:74:e4:87:87:d9:c8:
41
+ 76:ed:ab:32:7c:f0:31:34:10:14:bc:a6:37:cd:d7:dc:33:da:
42
+ 82:d3:d4:9b:e9:d5:cd:38:cc:fa:81:5f:4e:fd:5f:53:05:5d:
43
+ 76:f9
44
+ -----BEGIN CERTIFICATE-----
45
+ MIIC3jCCAkegAwIBAgIBADANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSlAx
46
+ EDAOBgNVBAgMB1NoaW1hbmUxFDASBgNVBAcMC01hdHotZSBjaXR5MRcwFQYDVQQK
47
+ DA5SdWJ5IENvcmUgVGVhbTEVMBMGA1UEAwwMUnVieSBUZXN0IENBMSUwIwYJKoZI
48
+ hvcNAQkBFhZzZWN1cml0eUBydWJ5LWxhbmcub3JnMB4XDTEwMTIyMzEwMjM1MloX
49
+ DTE0MDEwMTEwMjM1MlowYDELMAkGA1UEBhMCSlAxEDAOBgNVBAgMB1NoaW1hbmUx
50
+ FzAVBgNVBAoMDlJ1YnkgQ29yZSBUZWFtMRIwEAYDVQQLDAlSdWJ5IFRlc3QxEjAQ
51
+ BgNVBAMMCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA23XQ
52
+ Rd6x379xoA6wpea89Byd5SVnZMV7y/Gvxr6aqup+D8wFr+9AaQayyROdfuuiBuLq
53
+ fQfHx5nH+9W462N3YisYEsNTWND1x0AMAdEmgjQWCePcZfTcu12lQWDnqXS610y2
54
+ o5zFjImvy+ifBf7q/mQkv+ft4/bQ/Nbr/AaCEPsCAwEAAaN7MHkwCQYDVR0TBAIw
55
+ ADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUw
56
+ HQYDVR0OBBYEFOh+WKwTewMijZ6vMguEiYCADB7CMB8GA1UdIwQYMBaAFEHJSTex
57
+ +mHjutcZPdnajLmCybRqMA0GCSqGSIb3DQEBBQUAA4GBAK7uzf7Jr0gLUDesavZo
58
+ kJtn328tF8k8pdqtOdwqWweIJjgZMNaVzxBpx5IUg77xtY5v2ZFRxWOuHImsJ79P
59
+ Ko9ODFdCCsmODPTzAvfqRLbkRwWvTnTkh4fZyHbtqzJ88DE0EBS8pjfN19wz2oLT
60
+ 1Jvp1c04zPqBX079X1MFXXb5
61
+ -----END CERTIFICATE-----
@@ -0,0 +1,15 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIICXQIBAAKBgQDbddBF3rHfv3GgDrCl5rz0HJ3lJWdkxXvL8a/Gvpqq6n4PzAWv
3
+ 70BpBrLJE51+66IG4up9B8fHmcf71bjrY3diKxgSw1NY0PXHQAwB0SaCNBYJ49xl
4
+ 9Ny7XaVBYOepdLrXTLajnMWMia/L6J8F/ur+ZCS/5+3j9tD81uv8BoIQ+wIDAQAB
5
+ AoGAGtYHR+P5gFDaxiXFuCPFC1zMeg7e29XCU6gURIteQnQ2QhxCvcbV64HkLu51
6
+ HeYWhB0Pa4aeCWxmpgb2e+JH4MEoIjeJSGyZQeqwkQLgWJDdvkgWx5am58QzA60I
7
+ ipkZ9QHcPffSs5RiGx4yfr58KqAmwFphGCY8W7v4LqaENdECQQD9H5VTW9g4gj1c
8
+ j3uNYvSI/D7a9P7gfI+ziczuwMm5xsBx3D/t5TAr3SJKNne3sl1E6ZERCUbzxf+C
9
+ k58EiHx1AkEA3fRLGqDOq7EcQhbjTcA/v/t5MwlGEUsS9+XrqOWn50YuoIwRZJ3v
10
+ qHRQzfQfFNklGtfBvwQ4md3irXjMeGVprwJBAMEAuwiDiHuV+xm/ofKtmE13IKot
11
+ ksYy1BOOp/8IawhHXueyi+BmF/PqOkIiA+jCjNGF0oIN89beizPSQbbgJx0CQG/K
12
+ qL1bu1ys0y/SeWBi8XkP/0aeaCUzq/UiYCTsrzoEll2UzvnftqMhGsXxLGqCyHaR
13
+ r2s3hA6zvIVlL4+AfM8CQQClq+WDrC5VKciLYakZNWJjV1m+H2Ut/0fXdUjKHajE
14
+ FWLcsrOhADf6bkTb71GwPxnKRkkRmud5upP0ZYYTqM4X
15
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,34 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIICXAIBAAKBgQDc7Lu/9x5FSdmq2tHkUy7qx+83PchU5iiFY20rWrH2yRBLGfbB
3
+ GgmEXimSo2VdNG3QhHgg/Pvr5ZydtJX/z6Yb9NK8h+a5/mHfMS1mkXaM3PXgCLtk
4
+ E/Ra91uQYR5nhTg8h8gepnXULXJEld//jYw+rqIWsj7VSPmSm5+sD1RL1wIDAQAB
5
+ AoGAf//9S9zOwhBmt/IuV97GOSt78wKt1lq/sYEI2Gyk3bpi4VB6wijmyLWR2q8m
6
+ 5Jii44RM4bgR8fxIAKuHmP5jW42BMmconeeviMgGGKdnJ+U1kJcO4LuE7dg7RRbk
7
+ 6nhu56a8R/+ACaiMmqOl4TxpLxVqjho+BjFredn7YBpuRWECQQD2Hl1/DFT1nrFQ
8
+ 47NW2rTNZGj50J607uFBVevo8daTsbWAlBEvqA63r2+aTkd/TEvJPbIxTXMm7470
9
+ hGJGPRKHAkEA5ctsNnghOKXVvbj41+TUqskwXv7IWTSQ1b/CdOkyoloQQA8YReB/
10
+ 3zsfCPSOqiYQIBHytQDw3w9I4FunRW5AMQJAOY0+NcBPeaQjOJQWUsAPuVu6hHg5
11
+ NHwLpniOEsnCcIUEuU1me2tkDaXzhfS6GVVg/2zy5z6CJ9+q4Ri31k7frwJBAJxu
12
+ fL4fzU3I5tZ+wzgFWRjiWQFyJGVFuYspPXFlBskq0oEpRXbcO3B1yMzJ3wzJWJTc
13
+ YwMBHvhaaVwCSL6lLSECQDSyqJ4CUp6jZcb9oYJs+xymiY954lPlWeSiYLwFWFUB
14
+ 7yhmFaUAbqscQLpqddS292gyaDbOsIkOBynrJd99b/s=
15
+ -----END RSA PRIVATE KEY-----
16
+ -----BEGIN CERTIFICATE-----
17
+ MIIDEjCCAfqgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEP
18
+ MA0GA1UECgwGU2FyaW9uMRQwEgYDVQQLDAtEZXZlbG9wbWVudDENMAsGA1UEAwwE
19
+ U3ViMTAeFw0xMDEyMDcwNDM0NTRaFw0xMjEyMDYwNDM0NTRaMFIxCzAJBgNVBAYT
20
+ AkpQMQ8wDQYDVQQKDAZTYXJpb24xFDASBgNVBAsMC0RldmVsb3BtZW50MRwwGgYD
21
+ VQQDDBNzZXJ2ZXIxLmV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
22
+ iQKBgQDc7Lu/9x5FSdmq2tHkUy7qx+83PchU5iiFY20rWrH2yRBLGfbBGgmEXimS
23
+ o2VdNG3QhHgg/Pvr5ZydtJX/z6Yb9NK8h+a5/mHfMS1mkXaM3PXgCLtkE/Ra91uQ
24
+ YR5nhTg8h8gepnXULXJEld//jYw+rqIWsj7VSPmSm5+sD1RL1wIDAQABo4GFMIGC
25
+ MAwGA1UdEwEB/wQCMAAwMQYJYIZIAYb4QgENBCQWIlJ1YnkvT3BlblNTTCBHZW5l
26
+ cmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFOF3EGASJTlqfvwR6KJlgBdNiPOP
27
+ MAsGA1UdDwQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0BAQUF
28
+ AAOCAQEAQC9ZrlG9oayqKQ5HPq0QZVi+w7tb6HtErP39JEr0BsH+Wsja9/SND/bK
29
+ VnbjmyiGXnazSPQRHkDWoEV1z8Tq8QwRoA5RgjDD5u1NU1wHQ95Um7NxhMcsjBMo
30
+ 0J/0dCI99XD8No4epKBWJNbTNB+C/3ZvF8gB/E7o9XNtj/hut6vpOXKRXDNwzz3g
31
+ vQYPyKld+aKov9+9+AqXhZkpzVFc3CaKrOiYCnEIRmz6YLeWgN0xrBuqRCIpMNA5
32
+ upUY06kQ9cuj4xpQwfxz8dx9DP6ht+W7bJOAFUGN8VcMca1vkcsQIWYf2Vf4Yrgi
33
+ gLfQZXvROdjvHM4atTr0JVEPOEw2yw==
34
+ -----END CERTIFICATE-----
@@ -7,10 +7,7 @@ require 'test/unit'
7
7
  if defined?(OpenSSL)
8
8
 
9
9
  require 'socket'
10
- dir = File.expand_path(__FILE__)
11
- 2.times {dir = File.dirname(dir)}
12
- $:.replace([File.join(dir, "ruby")] | $:)
13
- require 'ut_eof'
10
+ require File.join(File.dirname(__FILE__), "../ut_eof")
14
11
 
15
12
  module SSLPair
16
13
  def server
@@ -57,9 +57,27 @@ nTA=
57
57
  END
58
58
 
59
59
  cert = OpenSSL::X509::Certificate.new(pem_cert)
60
- key_id = cert.extensions[2]
61
-
62
- assert_equal "24:D1:34:18:66:91:2A:63:76:AA:19:CE:17:20:56:56:5E:10:8F:AA", key_id.value
60
+ cert.extensions.each do |ext|
61
+ value = ext.value
62
+ crit = ext.critical?
63
+ case ext.oid
64
+ when "keyUsage"
65
+ assert_equal true, crit
66
+ assert_equal "Key Cert Sign, cRLSign", value
67
+ when "basicConstraints"
68
+ assert_equal true, crit
69
+ assert_equal "CA:TRUE", value
70
+ when "authorityKeyIdentifier"
71
+ assert_equal false, crit
72
+ assert_equal "keyid:80:14:24:D1:34:18:66:91:2A:63:76:AA:19:CE:17:20:56:56:5E:10:8F:AA", value
73
+ when "subjectKeyIdentifier"
74
+ assert_equal false, crit
75
+ assert_equal "24:D1:34:18:66:91:2A:63:76:AA:19:CE:17:20:56:56:5E:10:8F:AA", value
76
+ when "nsComment"
77
+ assert_equal false, crit
78
+ assert_equal "Ruby/OpenSSL Generated Certificate", value
79
+ end
80
+ end
63
81
  end
64
82
 
65
83
  # JRUBY-5060
@@ -93,4 +111,13 @@ END
93
111
  assert(@cert.public_key.verify(digester, sig, msg))
94
112
  assert(@cert.verify(@cert.public_key))
95
113
  end
114
+
115
+ # JRUBY-5253
116
+ def test_load_key_and_cert_in_one_file
117
+ file = File.read(File.expand_path('fixture/key_then_cert.pem', File.dirname(__FILE__)))
118
+ cert = OpenSSL::X509::Certificate.new(file)
119
+ key = OpenSSL::PKey::RSA.new(file)
120
+ assert_equal("Tue Dec 7 04:34:54 2010", cert.not_before.asctime)
121
+ assert_equal(155138628173305760586484923990788939560020632428367464748448028799529480209574373402763304069949574437177088605664104864141770364385183263453740781162330879666907894314877641447552442838727890327086630369910941911916802731723019019303432276515402934176273116832204529025371212188573318159421452591783377914839, key.n)
122
+ end
96
123
  end
@@ -0,0 +1,107 @@
1
+ require "net/imap"
2
+ require "test/unit"
3
+
4
+ # This testcase is made for 1.8 based on test_imap.rb in CRuby 1.9
5
+ class IMAPTest < Test::Unit::TestCase
6
+ CA_FILE = File.expand_path("fixture/imaps/cacert.pem", File.dirname(__FILE__))
7
+ SERVER_KEY = File.expand_path("fixture/imaps/server.key", File.dirname(__FILE__))
8
+ SERVER_CERT = File.expand_path("fixture/imaps/server.crt", File.dirname(__FILE__))
9
+
10
+ SERVER_ADDR = "127.0.0.1"
11
+
12
+ def setup
13
+ @do_not_reverse_lookup = Socket.do_not_reverse_lookup
14
+ Socket.do_not_reverse_lookup = true
15
+ end
16
+
17
+ def teardown
18
+ Socket.do_not_reverse_lookup = @do_not_reverse_lookup
19
+ end
20
+
21
+ def test_imaps_unknown_ca
22
+ assert_raise(OpenSSL::SSL::SSLError) do
23
+ imaps_test do |port|
24
+ Net::IMAP.new("localhost", port, true, nil, true)
25
+ end
26
+ end
27
+ end
28
+
29
+ def test_imaps_with_ca_file
30
+ assert_nothing_raised do
31
+ imaps_test do |port|
32
+ Net::IMAP.new("localhost", port, true, CA_FILE, true)
33
+ end
34
+ end
35
+ end
36
+
37
+ def test_imaps_login
38
+ assert_raises(Net::IMAP::ByeResponseError) do
39
+ imaps_test do |port|
40
+ imaps = Net::IMAP.new("localhost", port, true, CA_FILE, true)
41
+ imaps.login('foo@bar.com', 'wrong password')
42
+ imaps
43
+ end
44
+ end
45
+ end
46
+
47
+ def test_imaps_verify_none
48
+ assert_nothing_raised do
49
+ imaps_test do |port|
50
+ Net::IMAP.new(SERVER_ADDR, port, true, nil, false)
51
+ end
52
+ end
53
+ end
54
+
55
+ def test_imaps_post_connection_check
56
+ assert_raise(OpenSSL::SSL::SSLError) do
57
+ imaps_test do |port|
58
+ # SERVER_ADDR is different from the hostname in the certificate,
59
+ # so the following code should raise a SSLError.
60
+ Net::IMAP.new(SERVER_ADDR, port, true, CA_FILE, true)
61
+ end
62
+ end
63
+ end
64
+
65
+ private
66
+
67
+ def imaps_test
68
+ server = create_tcp_server
69
+ port = server.addr[1]
70
+ ctx = OpenSSL::SSL::SSLContext.new
71
+ ctx.ca_file = CA_FILE
72
+ ctx.key = OpenSSL::PKey::RSA.new(File.read(SERVER_KEY))
73
+ ctx.cert = OpenSSL::X509::Certificate.new(File.read(SERVER_CERT))
74
+ ssl_server = OpenSSL::SSL::SSLServer.new(server, ctx)
75
+ Thread.start do
76
+ begin
77
+ sock = ssl_server.accept
78
+ begin
79
+ sock.print("* OK test server\r\n")
80
+ sock.read(10) # emulates half-read for JRUBY-5200
81
+ sock.print("* BYE terminating connection\r\n")
82
+ sock.print("RUBY0001 OK LOGOUT completed\r\n")
83
+ sock.gets
84
+ ensure
85
+ sock.close
86
+ end
87
+ rescue
88
+ end
89
+ end
90
+ begin
91
+ begin
92
+ imap = yield(port)
93
+ imap.logout if !imap.disconnected?
94
+ ensure
95
+ imap.disconnect if imap && !imap.disconnected?
96
+ end
97
+ rescue IOError
98
+ # ignore
99
+ ensure
100
+ ssl_server.close
101
+ end
102
+ end
103
+
104
+ def create_tcp_server
105
+ return TCPServer.new(SERVER_ADDR, 0)
106
+ end
107
+ end
@@ -112,7 +112,9 @@ class TestIntegration < Test::Unit::TestCase
112
112
  str = "string abc foo bar baxz"
113
113
 
114
114
  cipher = OpenSSL::Cipher::Cipher.new(alg)
115
- cipher.encrypt(key, iv)
115
+ cipher.encrypt
116
+ cipher.key = key
117
+ cipher.iv = iv
116
118
  cipher.padding = 32
117
119
  cipher.key = key
118
120
  cipher.iv = iv
@@ -1,4 +1,4 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', 'mocha', 'lib')
1
+ $:.unshift File.join(File.dirname(__FILE__), '..', 'build_lib', 'mocha', 'lib')
2
2
 
3
3
  require "test/unit"
4
4
  require 'mocha'
@@ -3,7 +3,7 @@ require 'test/unit'
3
3
  require 'webrick/https'
4
4
  require 'net/https'
5
5
  require 'logger'
6
- require File.expand_path('openssl/utils', File.dirname(__FILE__))
6
+ require File.join(File.dirname(__FILE__), "openssl/utils.rb")
7
7
 
8
8
 
9
9
  class TestSSL < Test::Unit::TestCase
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jruby-openssl
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 7
8
- - 2
9
- version: 0.7.2
4
+ prerelease:
5
+ version: 0.7.3
10
6
  platform: ruby
11
7
  authors:
12
8
  - Ola Bini and JRuby contributors
@@ -14,7 +10,7 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2010-11-03 00:00:00 -05:00
13
+ date: 2011-01-21 00:00:00 +09:00
18
14
  default_executable:
19
15
  dependencies:
20
16
  - !ruby/object:Gem::Dependency
@@ -25,26 +21,9 @@ dependencies:
25
21
  requirements:
26
22
  - - ">="
27
23
  - !ruby/object:Gem::Version
28
- segments:
29
- - 0
30
24
  version: "0"
31
25
  type: :runtime
32
26
  version_requirements: *id001
33
- - !ruby/object:Gem::Dependency
34
- name: rubyforge
35
- prerelease: false
36
- requirement: &id002 !ruby/object:Gem::Requirement
37
- none: false
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- segments:
42
- - 2
43
- - 0
44
- - 4
45
- version: 2.0.4
46
- type: :development
47
- version_requirements: *id002
48
27
  description: JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL native library.
49
28
  email: ola.bini@gmail.com
50
29
  executables: []
@@ -64,93 +43,98 @@ files:
64
43
  - License.txt
65
44
  - lib/jopenssl.jar
66
45
  - lib/openssl.rb
67
- - lib/jopenssl/version.rb
68
- - lib/openssl/bn.rb
69
- - lib/openssl/buffering.rb
70
- - lib/openssl/cipher.rb
71
- - lib/openssl/config.rb
72
- - lib/openssl/digest.rb
73
46
  - lib/openssl/dummy.rb
74
47
  - lib/openssl/dummyssl.rb
75
- - lib/openssl/pkcs7.rb
48
+ - lib/openssl/config.rb
49
+ - lib/openssl/cipher.rb
76
50
  - lib/openssl/ssl.rb
51
+ - lib/openssl/bn.rb
77
52
  - lib/openssl/x509.rb
78
- - test/cert_with_ec_pk.cer
53
+ - lib/openssl/digest.rb
54
+ - lib/openssl/buffering.rb
55
+ - lib/openssl/pkcs7.rb
56
+ - lib/jopenssl/version.rb
57
+ - test/test_imaps.rb
79
58
  - test/test_all.rb
80
- - test/test_certificate.rb
81
- - test/test_cipher.rb
82
59
  - test/test_integration.rb
60
+ - test/ut_eof.rb
83
61
  - test/test_java.rb
84
62
  - test/test_openssl.rb
85
- - test/test_parse_certificate.rb
86
- - test/test_pkcs7.rb
87
63
  - test/test_pkey.rb
88
- - test/test_ssl.rb
64
+ - test/test_cipher.rb
65
+ - test/cert_with_ec_pk.cer
66
+ - test/test_pkcs7.rb
89
67
  - test/test_x509store.rb
90
- - test/ut_eof.rb
91
- - test/fixture/ca-bundle.crt
68
+ - test/test_certificate.rb
69
+ - test/test_parse_certificate.rb
70
+ - test/test_ssl.rb
71
+ - test/openssl/test_x509name.rb
72
+ - test/openssl/test_ns_spki.rb
73
+ - test/openssl/test_x509cert.rb
74
+ - test/openssl/ssl_server.rb
75
+ - test/openssl/test_pair.rb
76
+ - test/openssl/test_ec.rb
77
+ - test/openssl/test_config.rb
78
+ - test/openssl/utils.rb
79
+ - test/openssl/test_x509req.rb
80
+ - test/openssl/test_cipher.rb
81
+ - test/openssl/test_digest.rb
82
+ - test/openssl/test_x509ext.rb
83
+ - test/openssl/test_asn1.rb
84
+ - test/openssl/test_pkcs7.rb
85
+ - test/openssl/test_x509store.rb
86
+ - test/openssl/test_pkey_rsa.rb
87
+ - test/openssl/test_ssl.rb
88
+ - test/openssl/test_x509crl.rb
89
+ - test/openssl/test_hmac.rb
90
+ - test/ref/compile.rb
91
+ - test/ref/a.out
92
+ - test/ref/pkcs1
93
+ - test/ref/pkcs1.c
92
94
  - test/fixture/cacert.pem
93
- - test/fixture/cert_localhost.pem
95
+ - test/fixture/ca-bundle.crt
94
96
  - test/fixture/common.pem
95
- - test/fixture/keypair.pem
96
- - test/fixture/localhost_keypair.pem
97
- - test/fixture/max.pem
98
- - test/fixture/selfcert.pem
97
+ - test/fixture/key_then_cert.pem
99
98
  - test/fixture/verisign.pem
99
+ - test/fixture/cert_localhost.pem
100
+ - test/fixture/localhost_keypair.pem
100
101
  - test/fixture/verisign_c3.pem
101
- - test/fixture/ca_path/72fa7371.0
102
- - test/fixture/ca_path/verisign.pem
103
- - test/fixture/purpose/b70a5bc1.0
102
+ - test/fixture/selfcert.pem
103
+ - test/fixture/max.pem
104
+ - test/fixture/keypair.pem
104
105
  - test/fixture/purpose/cacert.pem
106
+ - test/fixture/purpose/b70a5bc1.0
105
107
  - test/fixture/purpose/sslclient.pem
106
108
  - test/fixture/purpose/sslserver.pem
107
- - test/fixture/purpose/ca/ca_config.rb
109
+ - test/fixture/purpose/sslclient/sslclient.pem
110
+ - test/fixture/purpose/sslclient/csr.pem
111
+ - test/fixture/purpose/sslclient/keypair.pem
108
112
  - test/fixture/purpose/ca/cacert.pem
109
113
  - test/fixture/purpose/ca/PASSWD_OF_CA_KEY_IS_1234
114
+ - test/fixture/purpose/ca/ca_config.rb
110
115
  - test/fixture/purpose/ca/serial
111
116
  - test/fixture/purpose/ca/newcerts/2_cert.pem
112
117
  - test/fixture/purpose/ca/newcerts/3_cert.pem
113
118
  - test/fixture/purpose/ca/private/cakeypair.pem
114
119
  - test/fixture/purpose/scripts/gen_cert.rb
115
- - test/fixture/purpose/scripts/gen_csr.rb
116
120
  - test/fixture/purpose/scripts/init_ca.rb
117
- - test/fixture/purpose/sslclient/csr.pem
118
- - test/fixture/purpose/sslclient/keypair.pem
119
- - test/fixture/purpose/sslclient/sslclient.pem
121
+ - test/fixture/purpose/scripts/gen_csr.rb
122
+ - test/fixture/purpose/sslserver/sslserver.pem
120
123
  - test/fixture/purpose/sslserver/csr.pem
121
124
  - test/fixture/purpose/sslserver/keypair.pem
122
- - test/fixture/purpose/sslserver/sslserver.pem
125
+ - test/fixture/imaps/cacert.pem
126
+ - test/fixture/imaps/server.crt
127
+ - test/fixture/imaps/server.key
128
+ - test/fixture/ca_path/verisign.pem
129
+ - test/fixture/ca_path/72fa7371.0
123
130
  - test/java/pkcs7_mime_enveloped.message
124
131
  - test/java/pkcs7_mime_signed.message
125
- - test/java/pkcs7_multipart_signed.message
126
- - test/java/test_java_attribute.rb
132
+ - test/java/test_java_pkcs7.rb
127
133
  - test/java/test_java_bio.rb
134
+ - test/java/pkcs7_multipart_signed.message
128
135
  - test/java/test_java_mime.rb
129
- - test/java/test_java_pkcs7.rb
136
+ - test/java/test_java_attribute.rb
130
137
  - test/java/test_java_smime.rb
131
- - test/openssl/ssl_server.rb
132
- - test/openssl/test_asn1.rb
133
- - test/openssl/test_cipher.rb
134
- - test/openssl/test_config.rb
135
- - test/openssl/test_digest.rb
136
- - test/openssl/test_ec.rb
137
- - test/openssl/test_hmac.rb
138
- - test/openssl/test_ns_spki.rb
139
- - test/openssl/test_pair.rb
140
- - test/openssl/test_pkcs7.rb
141
- - test/openssl/test_pkey_rsa.rb
142
- - test/openssl/test_ssl.rb
143
- - test/openssl/test_x509cert.rb
144
- - test/openssl/test_x509crl.rb
145
- - test/openssl/test_x509ext.rb
146
- - test/openssl/test_x509name.rb
147
- - test/openssl/test_x509req.rb
148
- - test/openssl/test_x509store.rb
149
- - test/openssl/utils.rb
150
- - test/ref/a.out
151
- - test/ref/compile.rb
152
- - test/ref/pkcs1
153
- - test/ref/pkcs1.c
154
138
  has_rdoc: true
155
139
  homepage: http://jruby-extras.rubyforge.org/jruby-openssl
156
140
  licenses: []
@@ -166,21 +150,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
166
150
  requirements:
167
151
  - - ">="
168
152
  - !ruby/object:Gem::Version
169
- segments:
170
- - 0
171
153
  version: "0"
172
154
  required_rubygems_version: !ruby/object:Gem::Requirement
173
155
  none: false
174
156
  requirements:
175
157
  - - ">="
176
158
  - !ruby/object:Gem::Version
177
- segments:
178
- - 0
179
159
  version: "0"
180
160
  requirements: []
181
161
 
182
162
  rubyforge_project: jruby-extras
183
- rubygems_version: 1.3.7
163
+ rubygems_version: 1.4.2
184
164
  signing_key:
185
165
  specification_version: 3
186
166
  summary: OpenSSL add-on for JRuby