jruby-openssl 0.7.2 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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