jruby-openssl 0.9.4 → 0.14.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/History.md +652 -0
- data/LICENSE.txt +37 -0
- data/Mavenfile +163 -5
- data/README.md +75 -0
- data/Rakefile +52 -2
- data/lib/jopenssl/_compat23.rb +71 -0
- data/lib/jopenssl/load.rb +75 -16
- data/lib/jopenssl/version.rb +9 -4
- data/lib/jopenssl.jar +0 -0
- data/lib/openssl/bn.rb +40 -5
- data/lib/openssl/buffering.rb +477 -4
- data/lib/openssl/cipher.rb +67 -5
- data/lib/openssl/config.rb +500 -4
- data/lib/openssl/digest.rb +73 -5
- data/lib/openssl/hmac.rb +13 -0
- data/lib/openssl/marshal.rb +30 -0
- data/lib/openssl/pkcs12.rb +60 -99
- data/lib/openssl/pkcs5.rb +22 -0
- data/lib/openssl/pkey.rb +42 -0
- data/lib/openssl/ssl.rb +542 -4
- data/lib/openssl/x509.rb +368 -4
- data/lib/openssl.rb +3 -1
- data/lib/org/bouncycastle/bcpkix-jdk18on/1.71/bcpkix-jdk18on-1.71.jar +0 -0
- data/lib/org/bouncycastle/bcprov-jdk18on/1.71/bcprov-jdk18on-1.71.jar +0 -0
- data/lib/org/bouncycastle/bctls-jdk18on/1.71/bctls-jdk18on-1.71.jar +0 -0
- data/lib/org/bouncycastle/bcutil-jdk18on/1.71/bcutil-jdk18on-1.71.jar +0 -0
- data/pom.xml +772 -0
- metadata +40 -107
- data/History.txt +0 -218
- data/License.txt +0 -30
- data/README.txt +0 -13
- data/TODO-1_9-support.txt +0 -23
- data/lib/jopenssl18/openssl/bn.rb +0 -35
- data/lib/jopenssl18/openssl/buffering.rb +0 -241
- data/lib/jopenssl18/openssl/cipher.rb +0 -65
- data/lib/jopenssl18/openssl/config.rb +0 -316
- data/lib/jopenssl18/openssl/digest.rb +0 -61
- data/lib/jopenssl18/openssl/pkcs7.rb +0 -25
- data/lib/jopenssl18/openssl/ssl-internal.rb +0 -179
- data/lib/jopenssl18/openssl/ssl.rb +0 -1
- data/lib/jopenssl18/openssl/x509-internal.rb +0 -153
- data/lib/jopenssl18/openssl/x509.rb +0 -1
- data/lib/jopenssl18/openssl.rb +0 -67
- data/lib/jopenssl19/openssl/bn.rb +0 -35
- data/lib/jopenssl19/openssl/buffering.rb +0 -449
- data/lib/jopenssl19/openssl/cipher.rb +0 -65
- data/lib/jopenssl19/openssl/config.rb +0 -313
- data/lib/jopenssl19/openssl/digest.rb +0 -72
- data/lib/jopenssl19/openssl/ssl-internal.rb +0 -177
- data/lib/jopenssl19/openssl/ssl.rb +0 -2
- data/lib/jopenssl19/openssl/x509-internal.rb +0 -158
- data/lib/jopenssl19/openssl/x509.rb +0 -2
- data/lib/jopenssl19/openssl.rb +0 -23
- data/lib/openssl/pkcs7.rb +0 -5
- data/lib/openssl/ssl-internal.rb +0 -5
- data/lib/openssl/x509-internal.rb +0 -5
- data/test/java/pkcs7_mime_enveloped.message +0 -19
- data/test/java/pkcs7_mime_signed.message +0 -30
- data/test/java/pkcs7_multipart_signed.message +0 -45
- data/test/java/test_java_attribute.rb +0 -25
- data/test/java/test_java_bio.rb +0 -42
- data/test/java/test_java_mime.rb +0 -173
- data/test/java/test_java_pkcs7.rb +0 -772
- data/test/java/test_java_smime.rb +0 -177
- data/test/test_java.rb +0 -98
- data/test/ut_eof.rb +0 -128
data/lib/jopenssl19/openssl.rb
DELETED
@@ -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
data/lib/openssl/ssl-internal.rb
DELETED
@@ -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
|
data/test/java/test_java_bio.rb
DELETED
@@ -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
|
data/test/java/test_java_mime.rb
DELETED
@@ -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
|