Skip to content

Commit 095de1c

Browse files
committed
Degenerate PKCS7 + split OctetString test cases
For pull request jruby#9
1 parent 6731933 commit 095de1c

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

test/test_pkcs7.rb

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,90 @@ def test_load_empty_pkcs7
5353
p7 = OpenSSL::PKCS7.new(EMPTY_PEM)
5454
assert_equal(EMPTY_PEM, p7.to_pem)
5555
end
56+
57+
PKCS7_ENCODED = <<END
58+
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEH
59+
AaCAJIAEggNDMIAGCSqGSIb3DQEHA6CAMIACAQAxge8wgewCAQAwVTBPMQ0w
60+
CwYDVQQKDAROb25lMT4wPAYDVQQDDDVtaGF1Y2sgUm9vdCBDQSAoMjc3YWYy
61+
YjMtYWMzZC00YjUzLTg4YzItOGMxOWYzZTY5YWE3KQICAgkwDQYJKoZIhvcN
62+
AQEBBQAEgYBO/v799CxX01nBuOE0HbQlJeZY9DD0dcpyss8C7rqLwuAbNf5F
63+
Ctb63amW/If8MgCFYTZoQgbleDugJBEGDa6+9t/VYivPX4E4Gy8lwn5giQsC
64+
E4O17Xj2w9Dnina5YlaSWFX16rCRXFJcGnRtAh37luM8hBVlhvtTEIGzO7pG
65+
mzCABgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECBwGOYbO/8iyoIAEggIAE5fd
66+
HnQILZOp1jOg0lU3ycXNew+6O75htpilXT7WsMXWR/veFbN+FfC1QjzjC5jj
67+
Ze7JqJ5cCP7jYQJ5sUFED6xU+m2iB4Tp8akCW4solC7bn3tbqVLYZeIGeP1Y
68+
lCAswysgFNX+SQixkXYRi6Hpjr3VsNcqBPgtSxMF1thPJDJH0IctIWPjsY1y
69+
YU75vsNpW5H4XdaPyhb7L9PH8EFwjZGHs13SjRI2QHN2jv818+0jMisEfRV0
70+
NOKZC7GAc2fiZEfnOclfs0CByS5TbkfRXSIXffDevGrf6xDldCnSlj5/BrxV
71+
vKpWmsIaZBzOMlVYOLbGdNKCiWabX4tEN2ZI3G5Cl9HXkvsJD0Yyfws9Hm+k
72+
S8bieL89AsgOkcraF1/ovvYFb+j1LggsyGggvc8g8sChOMyaej/GHzdF+ITe
73+
Q4JSKP2ULVkgnZw3BAsQkgKYSfX9vX2QGGkIdu4B/RUkT4/zLEzpsrPr6YI2
74+
NO+pz19Ye4ixQHEjAq1A2/d3JAlPK7ilm1LsyoMxte0Z3YT3UL1x/I7eukeo
75+
RZWfVTK6eWEOvI2y/Lb4TH9LCTWG9yzohC/I27FyDU2WO/DbuxNxHSisSAe8
76+
nRn/qu7lAa4i9hQhM9yCAzfCDcape1q7KAGMmDfEsHHl4dPgEStD9BD+kjRk
77+
9/7VwesBGk1REenz/1gECLNU/weFEqHDAAAAAAAAAAAAAAAAAAAAAKCCAeow
78+
ggHmMIIBT6ADAgECAgEBMA0GCSqGSIb3DQEBBQUAMC8xLTArBgNVBAMTJDE4
79+
Q0I2RUM0LUVEMzItNEI1MS1CNjhCLUYxMTc2M0YxQUIzQTAeFw0xMjA1MDEw
80+
NzExMzVaFw0xMzA1MDEwNzExMzVaMC8xLTArBgNVBAMTJDE4Q0I2RUM0LUVE
81+
MzItNEI1MS1CNjhCLUYxMTc2M0YxQUIzQTCBnzANBgkqhkiG9w0BAQEFAAOB
82+
jQAwgYkCgYEAtsSbSGPJ66FAPKXpeTloXZ2Et0y5HqfbBsckq/7ZYyYXYH0e
83+
kSHcq1AXb80d4Os7fUg2g+v8JWOJ5/glauHX16LELZu+n69DnHmf7zKMBMl9
84+
ZpmfDPKPId2vc9uhJZrztmx7oR7c/3o3VzxwiXJYuOrzG0MFoq1tjDQV8F/w
85+
mikCAwEAAaMSMBAwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBBQUAA4GB
86+
AGfsA2uxZnMEl1UDSFP3hX+Y+71AxYqYbOMbuXIKyO7T2OCUBt1UdP5tmMN4
87+
LTpaTk1BrbXVoDxxNnjCGIWvEkafSK4b4yr9DPrBVF1n9CgtR4W0qkpLG1jP
88+
AcCKN6uBxDqyr7VCQXzVlYeKgj8TtO4B7xWQ+2dZ7E6E+QlxNePIMYIBqjCC
89+
AaYCAQEwNDAvMS0wKwYDVQQDEyQxOENCNkVDNC1FRDMyLTRCNTEtQjY4Qi1G
90+
MTE3NjNGMUFCM0ECAQEwCQYFKw4DAhoFAKCBzTASBgpghkgBhvhFAQkCMQQT
91+
AjE5MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8X
92+
DTEyMDUwMTA3MTEzNVowIAYKYIZIAYb4RQEJBTESBBCjDtiprW/z/yhpXTez
93+
P3j7MCMGCSqGSIb3DQEJBDEWBBTRqZ0CJJnkCJNn148ZdfBYS1u0dDA4Bgpg
94+
hkgBhvhFAQkHMSoTKEE1NEQ3NTdDQjhEOTA0M0IxQzFFOTJDNzc3NUU1ODU3
95+
QjRGQ0E0MzIwDQYJKoZIhvcNAQEBBQAEgYBEmCQpweH01WUzed+GIN93+Rfc
96+
c1QT8j+w/m0UzCOtZwHs9PcxZeabNXgGXd9tfP5UqTna1Rpq4byyYBsyYXca
97+
DsYHCOlb0vH4UqfXJxt2P/ZsA2Oab/RR6in8YnpkJfvy+iaXK9U7Czkfv7q3
98+
NV1hYCfOJGunDqHTNx8dMwWkWgAAAAAAAA==
99+
END
100+
101+
PKCS7_DECODED = <<END
102+
-----BEGIN PKCS7-----
103+
MIIDOQYJKoZIhvcNAQcDoIIDKjCCAyYCAQAxge8wgewCAQAwVTBPMQ0wCwYDVQQK
104+
DAROb25lMT4wPAYDVQQDDDVtaGF1Y2sgUm9vdCBDQSAoMjc3YWYyYjMtYWMzZC00
105+
YjUzLTg4YzItOGMxOWYzZTY5YWE3KQICAgkwDQYJKoZIhvcNAQEBBQAEgYBO/v79
106+
9CxX01nBuOE0HbQlJeZY9DD0dcpyss8C7rqLwuAbNf5FCtb63amW/If8MgCFYTZo
107+
QgbleDugJBEGDa6+9t/VYivPX4E4Gy8lwn5giQsCE4O17Xj2w9Dnina5YlaSWFX1
108+
6rCRXFJcGnRtAh37luM8hBVlhvtTEIGzO7pGmzCCAi0GCSqGSIb3DQEHATAUBggq
109+
hkiG9w0DBwQIHAY5hs7/yLKAggIIE5fdHnQILZOp1jOg0lU3ycXNew+6O75htpil
110+
XT7WsMXWR/veFbN+FfC1QjzjC5jjZe7JqJ5cCP7jYQJ5sUFED6xU+m2iB4Tp8akC
111+
W4solC7bn3tbqVLYZeIGeP1YlCAswysgFNX+SQixkXYRi6Hpjr3VsNcqBPgtSxMF
112+
1thPJDJH0IctIWPjsY1yYU75vsNpW5H4XdaPyhb7L9PH8EFwjZGHs13SjRI2QHN2
113+
jv818+0jMisEfRV0NOKZC7GAc2fiZEfnOclfs0CByS5TbkfRXSIXffDevGrf6xDl
114+
dCnSlj5/BrxVvKpWmsIaZBzOMlVYOLbGdNKCiWabX4tEN2ZI3G5Cl9HXkvsJD0Yy
115+
fws9Hm+kS8bieL89AsgOkcraF1/ovvYFb+j1LggsyGggvc8g8sChOMyaej/GHzdF
116+
+ITeQ4JSKP2ULVkgnZw3BAsQkgKYSfX9vX2QGGkIdu4B/RUkT4/zLEzpsrPr6YI2
117+
NO+pz19Ye4ixQHEjAq1A2/d3JAlPK7ilm1LsyoMxte0Z3YT3UL1x/I7eukeoRZWf
118+
VTK6eWEOvI2y/Lb4TH9LCTWG9yzohC/I27FyDU2WO/DbuxNxHSisSAe8nRn/qu7l
119+
Aa4i9hQhM9yCAzfCDcape1q7KAGMmDfEsHHl4dPgEStD9BD+kjRk9/7VwesBGk1R
120+
Eenz/1izVP8HhRKhww==
121+
-----END PKCS7-----
122+
END
123+
124+
def test_signed_pkcs7_octet_sequence
125+
p7signed = OpenSSL::PKCS7.new(PKCS7_ENCODED.unpack('m*').first)
126+
p7signed.verify(nil, OpenSSL::X509::Store.new, nil, OpenSSL::PKCS7::NOVERIFY)
127+
128+
p7 = OpenSSL::PKCS7.new(p7signed.data)
129+
130+
assert_equal(p7.to_pem, PKCS7_DECODED)
131+
end
132+
133+
def test_degenerate_pkcs7_add_cert
134+
p7 = OpenSSL::PKCS7.new
135+
cert = OpenSSL::X509::Certificate.new(CERT_PEM)
136+
p7.type = 'signed'
137+
138+
assert_nothing_raised do
139+
p7.add_certificate(cert)
140+
end
141+
end
56142
end

0 commit comments

Comments
 (0)