jruby-openssl 0.9.4 → 0.14.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/History.md +652 -0
  3. data/LICENSE.txt +37 -0
  4. data/Mavenfile +163 -5
  5. data/README.md +75 -0
  6. data/Rakefile +52 -2
  7. data/lib/jopenssl/_compat23.rb +71 -0
  8. data/lib/jopenssl/load.rb +75 -16
  9. data/lib/jopenssl/version.rb +9 -4
  10. data/lib/jopenssl.jar +0 -0
  11. data/lib/openssl/bn.rb +40 -5
  12. data/lib/openssl/buffering.rb +477 -4
  13. data/lib/openssl/cipher.rb +67 -5
  14. data/lib/openssl/config.rb +500 -4
  15. data/lib/openssl/digest.rb +73 -5
  16. data/lib/openssl/hmac.rb +13 -0
  17. data/lib/openssl/marshal.rb +30 -0
  18. data/lib/openssl/pkcs12.rb +60 -99
  19. data/lib/openssl/pkcs5.rb +22 -0
  20. data/lib/openssl/pkey.rb +42 -0
  21. data/lib/openssl/ssl.rb +542 -4
  22. data/lib/openssl/x509.rb +368 -4
  23. data/lib/openssl.rb +3 -1
  24. data/lib/org/bouncycastle/bcpkix-jdk18on/1.71/bcpkix-jdk18on-1.71.jar +0 -0
  25. data/lib/org/bouncycastle/bcprov-jdk18on/1.71/bcprov-jdk18on-1.71.jar +0 -0
  26. data/lib/org/bouncycastle/bctls-jdk18on/1.71/bctls-jdk18on-1.71.jar +0 -0
  27. data/lib/org/bouncycastle/bcutil-jdk18on/1.71/bcutil-jdk18on-1.71.jar +0 -0
  28. data/pom.xml +772 -0
  29. metadata +40 -107
  30. data/History.txt +0 -218
  31. data/License.txt +0 -30
  32. data/README.txt +0 -13
  33. data/TODO-1_9-support.txt +0 -23
  34. data/lib/jopenssl18/openssl/bn.rb +0 -35
  35. data/lib/jopenssl18/openssl/buffering.rb +0 -241
  36. data/lib/jopenssl18/openssl/cipher.rb +0 -65
  37. data/lib/jopenssl18/openssl/config.rb +0 -316
  38. data/lib/jopenssl18/openssl/digest.rb +0 -61
  39. data/lib/jopenssl18/openssl/pkcs7.rb +0 -25
  40. data/lib/jopenssl18/openssl/ssl-internal.rb +0 -179
  41. data/lib/jopenssl18/openssl/ssl.rb +0 -1
  42. data/lib/jopenssl18/openssl/x509-internal.rb +0 -153
  43. data/lib/jopenssl18/openssl/x509.rb +0 -1
  44. data/lib/jopenssl18/openssl.rb +0 -67
  45. data/lib/jopenssl19/openssl/bn.rb +0 -35
  46. data/lib/jopenssl19/openssl/buffering.rb +0 -449
  47. data/lib/jopenssl19/openssl/cipher.rb +0 -65
  48. data/lib/jopenssl19/openssl/config.rb +0 -313
  49. data/lib/jopenssl19/openssl/digest.rb +0 -72
  50. data/lib/jopenssl19/openssl/ssl-internal.rb +0 -177
  51. data/lib/jopenssl19/openssl/ssl.rb +0 -2
  52. data/lib/jopenssl19/openssl/x509-internal.rb +0 -158
  53. data/lib/jopenssl19/openssl/x509.rb +0 -2
  54. data/lib/jopenssl19/openssl.rb +0 -23
  55. data/lib/openssl/pkcs7.rb +0 -5
  56. data/lib/openssl/ssl-internal.rb +0 -5
  57. data/lib/openssl/x509-internal.rb +0 -5
  58. data/test/java/pkcs7_mime_enveloped.message +0 -19
  59. data/test/java/pkcs7_mime_signed.message +0 -30
  60. data/test/java/pkcs7_multipart_signed.message +0 -45
  61. data/test/java/test_java_attribute.rb +0 -25
  62. data/test/java/test_java_bio.rb +0 -42
  63. data/test/java/test_java_mime.rb +0 -173
  64. data/test/java/test_java_pkcs7.rb +0 -772
  65. data/test/java/test_java_smime.rb +0 -177
  66. data/test/test_java.rb +0 -98
  67. data/test/ut_eof.rb +0 -128
@@ -1,2 +0,0 @@
1
- warn 'deprecated openssl/x509 use: require "openssl" instead of "openssl/x509"'
2
- require 'openssl'
@@ -1,23 +0,0 @@
1
- =begin
2
- = $RCSfile$ -- Loader for all OpenSSL C-space and Ruby-space definitions
3
-
4
- = Info
5
- 'OpenSSL for Ruby 2' project
6
- Copyright (C) 2002 Michal Rokos <m.rokos@sh.cvut.cz>
7
- All rights reserved.
8
-
9
- = Licence
10
- This program is licenced under the same licence as Ruby.
11
- (See the file 'LICENCE'.)
12
-
13
- = Version
14
- $Id$
15
- =end
16
-
17
- require 'openssl/bn'
18
- require 'openssl/cipher'
19
- require 'openssl/config'
20
- require 'openssl/digest'
21
- require 'openssl/ssl-internal'
22
- require 'openssl/x509-internal'
23
- require 'krypt/ossl'
data/lib/openssl/pkcs7.rb DELETED
@@ -1,5 +0,0 @@
1
- if RUBY_VERSION >= '1.9.0'
2
- raise LoadError, "no such library in 1.9 mode: openssl/pkcs7"
3
- else
4
- load('jopenssl18/openssl/pkcs7.rb')
5
- end
@@ -1,5 +0,0 @@
1
- if RUBY_VERSION >= '1.9.0'
2
- load('jopenssl19/openssl/ssl-internal.rb')
3
- else
4
- load('jopenssl18/openssl/ssl-internal.rb')
5
- end
@@ -1,5 +0,0 @@
1
- if RUBY_VERSION >= '1.9.0'
2
- load('jopenssl19/openssl/x509-internal.rb')
3
- else
4
- load('jopenssl18/openssl/x509-internal.rb')
5
- end
@@ -1,19 +0,0 @@
1
- MIME-Version: 1.0
2
- Message-Id: <00103112005203.00349@amyemily.ig.com>
3
- Date: Tue, 31 Oct 2000 12:00:52 -0600 (Central Standard Time)
4
- From: User1
5
- To: User2
6
- Subject: Example 5.3
7
- Content-Type: application/pkcs7-mime;
8
- name=smime.p7m;
9
- smime-type=enveloped-data
10
- Content-Transfer-Encoding: base64
11
- Content-Disposition: attachment; filename=smime.p7m
12
-
13
-
14
- MIIBHgYJKoZIhvcNAQcDoIIBDzCCAQsCAQAxgcAwgb0CAQAwJjASMRAwDgYDVQQDEwdDYXJ
15
- sUlNBAhBGNGvHgABWvBHTbi7NXXHQMA0GCSqGSIb3DQEBAQUABIGAC3EN5nGIiJi2lsGPcP
16
- 2iJ97a4e8kbKQz36zg6Z2i0yx6zYC4mZ7mX7FBs3IWg+f6KgCLx3M1eCbWx8+MDFbbpXadC
17
- DgO8/nUkUNYeNxJtuzubGgzoyEd8Ch4H/dd9gdzTd+taTEgS0ipdSJuNnkVY4/M652jKKHR
18
- LFf02hosdR8wQwYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAgtaMXpRwZRNYAgDsiSf8Z9P43
19
- LrY4OxUk660cu1lXeCSFOSOpOJ7FuVyU=
@@ -1,30 +0,0 @@
1
- MIME-Version: 1.0
2
- To: User2@examples.com
3
- From: aliceDss@examples.com
4
- Subject: Example 4.9
5
- Message-Id: <021031164540300.304@examples.com>
6
- Date: Thu, 31 Oct 2002 16:45:14 -0300
7
- Content-Type: application/pkcs7-mime; smime-type=signed-data;
8
- name=smime.p7m
9
- Content-Transfer-Encoding: base64
10
- Content-Disposition: attachment; filename=smime.p7m
11
-
12
-
13
- MIIDmQYJKoZIhvcNAQcCoIIDijCCA4YCAQExCTAHBgUrDgMCGjAtBgkqhkiG9w0BBwGgIAQ
14
- eDQpUaGlzIGlzIHNvbWUgc2FtcGxlIGNvbnRlbnQuoIIC4DCCAtwwggKboAMCAQICAgDIMA
15
- kGByqGSM44BAMwEjEQMA4GA1UEAxMHQ2FybERTUzAeFw05OTA4MTcwMTEwNDlaFw0zOTEyM
16
- zEyMzU5NTlaMBMxETAPBgNVBAMTCEFsaWNlRFNTMIIBtjCCASsGByqGSM44BAEwggEeAoGB
17
- AIGNze2D6gqeOT7CSCij5EeT3Q7XqA7sU8WrhAhP/5Thc0h+DNbzREjR/p+vpKGJL+HZMMg
18
- 23j+bv7dM3F9piuR10DcMkQiVm96nXvn89J8v3UOoi1TxP7AHCEdNXYjDw7Wz41UIddU5dh
19
- DEeL3/nbCElzfy5FEbteQJllzzflvbAhUA4kemGkVmuBPG2o+4NyErYov3k80CgYAmONAUi
20
- TKqOfs+bdlLWWpMdiM5BAI1XPLLGjDDHlBd3ZtZ4s2qBT1YwHuiNrhuB699ikIlp/R1z0oI
21
- Xks+kPht6pzJIYo7dhTpzi5dowfNI4W4LzABfG1JiRGJNkS9+MiVSlNWteL5c+waYTYfEX/
22
- Cve3RUP+YdMLRgUpgObo2OQOBhAACgYBc47ladRSWC6l63eM/qeysXty9txMRNKYWiSgRI9
23
- k0hmd1dRMSPUNbb+VRv/qJ8qIbPiR9PQeNW2PIu0WloErjhdbOBoA/6CN+GvIkq1MauCcNH
24
- u8Iv2YUgFxirGX6FYvxuzTU0pY39mFHssQyhPB+QUD9RqdjTjPypeL08oPluKOBgTB/MAwG
25
- A1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgbAMB8GA1UdIwQYMBaAFHBEPoIub4feStN14z0
26
- gvEMrk/EfMB0GA1UdDgQWBBS+bKGz48H37UNwpM4TAeL945f+zTAfBgNVHREEGDAWgRRBbG
27
- ljZURTU0BleGFtcGxlLmNvbTAJBgcqhkjOOAQDAzAAMC0CFFUMpBkfQiuJcSIzjYNqtT1na
28
- 79FAhUAn2FTUlQLXLLd2ud2HeIQUltDXr0xYzBhAgEBMBgwEjEQMA4GA1UEAxMHQ2FybERT
29
- UwICAMgwBwYFKw4DAhowCQYHKoZIzjgEAwQuMCwCFD1cSW6LIUFzeXle3YI5SKSBer/sAhQ
30
- mCq7s/CTFHOEjgASeUjbMpx5g6A==
@@ -1,45 +0,0 @@
1
- MIME-Version: 1.0
2
- To: User2@examples.com
3
- From: aliceDss@examples.com
4
- Subject: Example 4.8
5
- Message-Id: <020906002550300.249@examples.com>
6
- Date: Fri, 06 Sep 2002 00:25:21 -0300
7
- Content-Type: multipart/signed;
8
- micalg=SHA1;
9
- boundary="----=_NextBoundry____Fri,_06_Sep_2002_00:25:21";
10
- protocol="application/pkcs7-signature"
11
-
12
-
13
- This is a multi-part message in MIME format.
14
-
15
-
16
- ------=_NextBoundry____Fri,_06_Sep_2002_00:25:21
17
-
18
- This is some sample content.
19
-
20
- ------=_NextBoundry____Fri,_06_Sep_2002_00:25:21
21
- Content-Type: application/pkcs7-mime; name=smime.p7s
22
- Content-Transfer-Encoding: base64
23
- Content-Disposition: attachment; filename=smime.p7s
24
-
25
-
26
- MIIDdwYJKoZIhvcNAQcCoIIDaDCCA2QCAQExCTAHBgUrDgMCGjALBgkqhkiG9w0BBwGgggL
27
- gMIIC3DCCApugAwIBAgICAMgwCQYHKoZIzjgEAzASMRAwDgYDVQQDEwdDYXJsRFNTMB4XDT
28
- k5MDgxNzAxMTA0OVoXDTM5MTIzMTIzNTk1OVowEzERMA8GA1UEAxMIQWxpY2VEU1MwggG2M
29
- IIBKwYHKoZIzjgEATCCAR4CgYEAgY3N7YPqCp45PsJIKKPkR5PdDteoDuxTxauECE//lOFz
30
- SH4M1vNESNH+n6+koYkv4dkwyDbeP5u/t0zcX2mK5HXQNwyRCJWb3qde+fz0ny/dQ6iLVPE
31
- /sAcIR01diMPDtbPjVQh11Tl2EMR4vf+dsISXN/LkURu15AmWXPN+W9sCFQDiR6YaRWa4E8
32
- baj7g3IStii/eTzQKBgCY40BSJMqo5+z5t2UtZakx2IzkEAjVc8ssaMMMeUF3dm1nizaoFP
33
- VjAe6I2uG4Hr32KQiWn9HXPSgheSz6Q+G3qnMkhijt2FOnOLl2jB80jhbgvMAF8bUmJEYk2
34
- RL34yJVKU1a14vlz7BphNh8Rf8K97dFQ/5h0wtGBSmA5ujY5A4GEAAKBgFzjuVp1FJYLqXr
35
- d4z+p7Kxe3L23ExE0phaJKBEj2TSGZ3V1ExI9Q1tv5VG/+onyohs+JH09B41bY8i7RaWgSu
36
- OF1s4GgD/oI34a8iSrUxq4Jw0e7wi/ZhSAXGKsZfoVi/G7NNTSljf2YUeyxDKE8H5BQP1Gp
37
- 2NOM/Kl4vTyg+W4o4GBMH8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwHwYDVR0j
38
- BBgwFoAUcEQ+gi5vh95K03XjPSC8QyuT8R8wHQYDVR0OBBYEFL5sobPjwfftQ3CkzhMB4v3
39
- jl/7NMB8GA1UdEQQYMBaBFEFsaWNlRFNTQGV4YW1wbGUuY29tMAkGByqGSM44BAMDMAAwLQ
40
- IUVQykGR9CK4lxIjONg2q1PWdrv0UCFQCfYVNSVAtcst3a53Yd4hBSW0NevTFjMGECAQEwG
41
- DASMRAwDgYDVQQDEwdDYXJsRFNTAgIAyDAHBgUrDgMCGjAJBgcqhkjOOAQDBC4wLAIUM/mG
42
- f6gkgp9Z0XtRdGimJeB/BxUCFGFFJqwYRt1WYcIOQoGiaowqGzVI
43
-
44
-
45
- ------=_NextBoundry____Fri,_06_Sep_2002_00:25:21--
@@ -1,25 +0,0 @@
1
- module PKCS7Test
2
- class TestJavaAttribute < Test::Unit::TestCase
3
- def test_attributes
4
- val = ASN1::OctetString.new("foo".to_java_bytes)
5
- val2 = ASN1::OctetString.new("bar".to_java_bytes)
6
- attr = Attribute.create(123, 444, val)
7
- assert_raise NoMethodError do
8
- attr.type = 12
9
- end
10
- assert_raise NoMethodError do
11
- attr.value = val2
12
- end
13
-
14
- assert_equal 123, attr.type
15
- assert_equal val, attr.set.get(0)
16
-
17
- attr2 = Attribute.create(123, 444, val)
18
-
19
- assert_equal attr, attr2
20
-
21
- assert_not_equal Attribute.create(124, 444, val), attr
22
- assert_not_equal Attribute.create(123, 444, val2), attr
23
- end
24
- end
25
- end
@@ -1,42 +0,0 @@
1
- module PKCS7Test
2
- class TestJavaBIO < Test::Unit::TestCase
3
- def test_string_bio_simple
4
- bio = BIO::from_string("abc")
5
- arr = Java::byte[20].new
6
- read = bio.gets(arr, 10)
7
- assert_equal 3, read
8
- assert_equal "abc".to_java_bytes.to_a, arr.to_a[0...read]
9
- end
10
-
11
- def test_string_bio_simple_with_newline
12
- bio = BIO::from_string("abc\n")
13
- arr = Java::byte[20].new
14
- read = bio.gets(arr, 10)
15
- assert_equal 4, read
16
- assert_equal "abc\n".to_java_bytes.to_a, arr.to_a[0...read]
17
- end
18
-
19
- def test_string_bio_simple_with_newline_and_more_data
20
- bio = BIO::from_string("abc\nfoo\n\nbar")
21
- arr = Java::byte[20].new
22
- read = bio.gets(arr, 10)
23
- assert_equal 4, read
24
- assert_equal "abc\n".to_java_bytes.to_a, arr.to_a[0...read]
25
-
26
- read = bio.gets(arr, 10)
27
- assert_equal 4, read
28
- assert_equal "foo\n".to_java_bytes.to_a, arr.to_a[0...read]
29
-
30
- read = bio.gets(arr, 10)
31
- assert_equal 1, read
32
- assert_equal "\n".to_java_bytes.to_a, arr.to_a[0...read]
33
-
34
- read = bio.gets(arr, 10)
35
- assert_equal 3, read
36
- assert_equal "bar".to_java_bytes.to_a, arr.to_a[0...read]
37
-
38
- read = bio.gets(arr, 10)
39
- assert_equal 0, read
40
- end
41
- end
42
- end
@@ -1,173 +0,0 @@
1
- module PKCS7Test
2
- class TestJavaMime < Test::Unit::TestCase
3
- def test_find_header_returns_null_on_nonexisting_header
4
- headers = []
5
- assert_nil Mime::DEFAULT.find_header(headers, "foo")
6
-
7
- headers = [MimeHeader.new("blarg", "bluff")]
8
- assert_nil Mime::DEFAULT.find_header(headers, "foo")
9
- end
10
-
11
- def test_find_header_returns_the_header_with_the_same_name
12
- hdr = MimeHeader.new("one", "two")
13
- assert_equal hdr, Mime::DEFAULT.find_header([hdr], "one")
14
- end
15
-
16
- def test_find_param_returns_null_on_nonexisting_param
17
- assert_nil Mime::DEFAULT.find_param(MimeHeader.new("one", "two", []), "foo")
18
- assert_nil Mime::DEFAULT.find_param(MimeHeader.new("one", "two", [MimeParam.new("hi", "ho")]), "foo")
19
- end
20
-
21
- def test_find_param_returns_the_param_with_the_same_name
22
- par = MimeParam.new("hox", "box")
23
- hdr = MimeHeader.new("one", "two", [par])
24
- assert_equal par, Mime::DEFAULT.find_param(hdr, "hox")
25
- end
26
-
27
- def test_simple_parse_headers
28
- bio = BIO::from_string("Foo: bar")
29
- result = Mime::DEFAULT.parse_headers(bio)
30
- assert_equal 1, result.size
31
- assert_equal MimeHeader.new("Foo", "bar"), result[0]
32
- assert_equal "foo", result[0].name
33
- end
34
-
35
- def test_simple_parse_headers2
36
- bio = BIO::from_string("Foo:bar")
37
- result = Mime::DEFAULT.parse_headers(bio)
38
- assert_equal 1, result.size
39
- assert_equal MimeHeader.new("Foo", "bar"), result[0]
40
- assert_equal "foo", result[0].name
41
- end
42
-
43
- def test_simple_parse_headers3
44
- bio = BIO::from_string("Foo: bar")
45
- result = Mime::DEFAULT.parse_headers(bio)
46
- assert_equal 1, result.size
47
- assert_equal MimeHeader.new("Foo", "bar"), result[0]
48
- assert_equal "foo", result[0].name
49
- end
50
-
51
- def test_simple_parse_headers4
52
- bio = BIO::from_string("Foo: bar\n")
53
- result = Mime::DEFAULT.parse_headers(bio)
54
- assert_equal 1, result.size
55
- assert_equal MimeHeader.new("Foo", "bar"), result[0]
56
- assert_equal "foo", result[0].name
57
- end
58
-
59
- def test_simple_parse_headers5
60
- bio = BIO::from_string(" Foo : bar \n")
61
- result = Mime::DEFAULT.parse_headers(bio)
62
- assert_equal 1, result.size
63
- assert_equal MimeHeader.new("Foo", "bar"), result[0]
64
- assert_equal "foo", result[0].name
65
- end
66
-
67
-
68
- def test_simple_parse_headers6
69
- bio = BIO::from_string("Foo: bar;\n")
70
- result = Mime::DEFAULT.parse_headers(bio)
71
- assert_equal 1, result.size
72
- assert_equal MimeHeader.new("Foo", "bar"), result[0]
73
- assert_equal "foo", result[0].name
74
- end
75
-
76
- def test_simple_parse_headers7
77
- bio = BIO::from_string("Foo: bar;\nFlurg: blarg")
78
- result = Mime::DEFAULT.parse_headers(bio)
79
- assert_equal 2, result.size
80
- assert_equal MimeHeader.new("Foo", "bar"), result[0]
81
- assert_equal MimeHeader.new("Flurg", "blarg"), result[1]
82
- assert_equal "foo", result[0].name
83
- assert_equal "flurg", result[1].name
84
- end
85
-
86
- def test_simple_parse_headers_quotes
87
- bio = BIO::from_string("Foo: \"bar\"")
88
- result = Mime::DEFAULT.parse_headers(bio)
89
- assert_equal 1, result.size
90
- assert_equal MimeHeader.new("Foo", "bar"), result[0]
91
- assert_equal "foo", result[0].name
92
- end
93
-
94
- def test_simple_parse_headers_comment
95
- bio = BIO::from_string("Foo: (this is the right thing)ba(and this is the wrong one)r")
96
- result = Mime::DEFAULT.parse_headers(bio)
97
- assert_equal 1, result.size
98
- assert_equal MimeHeader.new("Foo", "(this is the right thing)ba(and this is the wrong one)r"), result[0]
99
- assert_equal "foo", result[0].name
100
- end
101
-
102
- def test_parse_headers_with_param
103
- bio = BIO::from_string("Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml")
104
- result = Mime::DEFAULT.parse_headers(bio)
105
- assert_equal 1, result.size
106
- header = result[0]
107
- assert_equal "content-type", header.name
108
- assert_equal "multipart/related", header.value
109
- assert_equal [MimeParam.new("boundary","MIME_boundary"),
110
- MimeParam.new("type","text/xml")], header.params.to_a
111
- end
112
-
113
- def test_parse_headers_with_param_newline
114
- bio = BIO::from_string("Content-Type: Multipart/Related\n boundary=MIME_boundary; type=text/xml")
115
- result = Mime::DEFAULT.parse_headers(bio)
116
- assert_equal 1, result.size
117
- header = result[0]
118
- assert_equal "content-type", header.name
119
- assert_equal "multipart/related", header.value
120
- assert_equal [MimeParam.new("boundary","MIME_boundary"),
121
- MimeParam.new("type","text/xml")], header.params.to_a
122
- end
123
-
124
- def test_parse_headers_with_param_newline_and_semicolon
125
- bio = BIO::from_string("Content-Type: Multipart/Related;\n boundary=MIME_boundary;\n Type=text/xml")
126
- result = Mime::DEFAULT.parse_headers(bio)
127
- assert_equal 1, result.size
128
- header = result[0]
129
- assert_equal "content-type", header.name
130
- assert_equal "multipart/related", header.value
131
- assert_equal [MimeParam.new("boundary","MIME_boundary"),
132
- MimeParam.new("type","text/xml")], header.params.to_a
133
- end
134
-
135
- def test_advanced_mime_message
136
- bio = BIO::from_string(MultipartSignedString)
137
- result = Mime::DEFAULT.parse_headers(bio)
138
-
139
- assert_equal "mime-version", result[0].name
140
- assert_equal "1.0", result[0].value
141
-
142
- assert_equal "to", result[1].name
143
- assert_equal "user2@examples.com", result[1].value
144
-
145
- assert_equal "from", result[2].name
146
- assert_equal "alicedss@examples.com", result[2].value
147
-
148
- assert_equal "subject", result[3].name
149
- assert_equal "example 4.8", result[3].value
150
-
151
- assert_equal "message-id", result[4].name
152
- assert_equal "<020906002550300.249@examples.com>", result[4].value
153
-
154
- assert_equal "date", result[5].name
155
- assert_equal "fri, 06 sep 2002 00:25:21 -0300", result[5].value
156
-
157
- assert_equal "content-type", result[6].name
158
- assert_equal "multipart/signed", result[6].value
159
-
160
- assert_equal "micalg", result[6].params[0].param_name
161
- assert_equal "SHA1", result[6].params[0].param_value
162
-
163
- assert_equal "boundary", result[6].params[1].param_name
164
- assert_equal "----=_NextBoundry____Fri,_06_Sep_2002_00:25:21", result[6].params[1].param_value
165
-
166
- assert_equal "protocol", result[6].params[2].param_name
167
- assert_equal "application/pkcs7-signature", result[6].params[2].param_value
168
-
169
- assert_equal 3, result[6].params.length
170
- assert_equal 7, result.length
171
- end
172
- end
173
- end