Skip to content

Commit b7f68eb

Browse files
committed
remove pending test cases, clean up debug statments
1 parent 539b953 commit b7f68eb

File tree

1 file changed

+25
-192
lines changed

1 file changed

+25
-192
lines changed

test/test_cms.rb

Lines changed: 25 additions & 192 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: false
22
require_relative 'utils'
33

4-
if defined?(OpenSSL)
4+
if defined?(OpenSSL::CMS)
55

66
class OpenSSL::TestCMS < OpenSSL::TestCase
77
def setup
@@ -35,7 +35,6 @@ def test_signed
3535

3636
data = "aaaaa\r\nbbbbb\r\nccccc\r\n"
3737
tmp = OpenSSL::CMS.sign(@ee1_cert, @rsa1024, data, ca_certs)
38-
byebug
3938
cms = OpenSSL::CMS::ContentInfo.new(tmp.to_der)
4039
certs = cms.certificates
4140
signers = cms.signers
@@ -67,197 +66,31 @@ def test_signed
6766
assert_equal(@ee1_cert.serial, signers[0].serial)
6867
assert_equal(@ee1_cert.issuer.to_s, signers[0].issuer.to_s)
6968

70-
# A signed-data which have multiple signatures can be created
71-
# through the following steps.
72-
# 1. create two signed-data
73-
# 2. copy signerInfo and certificate from one to another
74-
75-
tmp1 = OpenSSL::CMS.sign(@ee1_cert, @rsa1024, data, [], flag)
76-
tmp2 = OpenSSL::CMS.sign(@ee2_cert, @rsa1024, data, [], flag)
77-
tmp1.add_signer(tmp2.signers[0])
78-
tmp1.add_certificate(@ee2_cert)
79-
80-
cms = OpenSSL::CMS.ContentInfo.new(tmp1.to_der)
81-
certs = cms.certificates
82-
signers = cms.signers
83-
assert(cms.verify([], store))
84-
assert_equal(data, cms.data)
85-
assert_equal(2, certs.size)
86-
assert_equal(2, signers.size)
87-
assert_equal(@ee1_cert.serial, signers[0].serial)
88-
assert_equal(@ee1_cert.issuer.to_s, signers[0].issuer.to_s)
89-
assert_equal(@ee2_cert.serial, signers[1].serial)
90-
assert_equal(@ee2_cert.issuer.to_s, signers[1].issuer.to_s)
91-
end
92-
93-
def test_detached_sign
94-
pend "not yet"
95-
store = OpenSSL::X509::Store.new
96-
store.add_cert(@ca_cert)
97-
ca_certs = [@ca_cert]
98-
99-
data = "aaaaa\nbbbbb\nccccc\n"
100-
flag = OpenSSL::PKCS7::BINARY|OpenSSL::PKCS7::DETACHED
101-
tmp = OpenSSL::PKCS7.sign(@ee1_cert, @rsa1024, data, ca_certs, flag)
102-
p7 = OpenSSL::PKCS7.new(tmp.to_der)
103-
assert_nothing_raised do
104-
OpenSSL::ASN1.decode(p7)
105-
end
106-
107-
certs = p7.certificates
108-
signers = p7.signers
109-
assert(!p7.verify([], store))
110-
assert(p7.verify([], store, data))
111-
assert_equal(data, p7.data)
112-
assert_equal(2, certs.size)
113-
assert_equal(@ee1_cert.subject.to_s, certs[0].subject.to_s)
114-
assert_equal(@ca_cert.subject.to_s, certs[1].subject.to_s)
115-
assert_equal(1, signers.size)
116-
assert_equal(@ee1_cert.serial, signers[0].serial)
117-
assert_equal(@ee1_cert.issuer.to_s, signers[0].issuer.to_s)
118-
end
119-
120-
def test_enveloped
121-
pend "not yet"
122-
certs = [@ee1_cert, @ee2_cert]
123-
cipher = OpenSSL::Cipher::AES.new("128-CBC")
124-
data = "aaaaa\nbbbbb\nccccc\n"
125-
126-
tmp = OpenSSL::PKCS7.encrypt(certs, data, cipher, OpenSSL::PKCS7::BINARY)
127-
p7 = OpenSSL::PKCS7.new(tmp.to_der)
128-
recip = p7.recipients
129-
assert_equal(:enveloped, p7.type)
130-
assert_equal(2, recip.size)
131-
132-
assert_equal(@ca_cert.subject.to_s, recip[0].issuer.to_s)
133-
assert_equal(2, recip[0].serial)
134-
assert_equal(data, p7.decrypt(@rsa1024, @ee1_cert))
135-
136-
assert_equal(@ca_cert.subject.to_s, recip[1].issuer.to_s)
137-
assert_equal(3, recip[1].serial)
138-
assert_equal(data, p7.decrypt(@rsa1024, @ee2_cert))
139-
140-
assert_equal(data, p7.decrypt(@rsa1024))
141-
end
142-
143-
def test_graceful_parsing_failure #[ruby-core:43250]
144-
pend "not yet"
145-
contents = File.read(__FILE__)
146-
assert_raise(ArgumentError) { OpenSSL::PKCS7.new(contents) }
147-
end
148-
149-
def test_degenerate_cms
150-
pend "not yet"
151-
ca_cert_pem = <<END
152-
-----BEGIN CERTIFICATE-----
153-
MIID4DCCAsigAwIBAgIJAL1oVI72wmQwMA0GCSqGSIb3DQEBBQUAMFMxCzAJBgNV
154-
BAYTAkFVMQ4wDAYDVQQIEwVTdGF0ZTENMAsGA1UEBxMEQ2l0eTEQMA4GA1UEChMH
155-
RXhhbXBsZTETMBEGA1UEAxMKRXhhbXBsZSBDQTAeFw0xMjEwMTgwOTE2NTBaFw0y
156-
MjEwMTYwOTE2NTBaMFMxCzAJBgNVBAYTAkFVMQ4wDAYDVQQIEwVTdGF0ZTENMAsG
157-
A1UEBxMEQ2l0eTEQMA4GA1UEChMHRXhhbXBsZTETMBEGA1UEAxMKRXhhbXBsZSBD
158-
QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMTSPNxOkd5NN19XO0fJ
159-
tGVlWN4DWuvVL9WbWnXJXX9rU6X8sSOL9RrRA64eEZf2UBFjz9fMHZj/OGcxZpus
160-
4YtzfSrMU6xfvsIHeqX+mT60ms2RfX4UXab50MQArBin3JVKHGnOi25uyAOylVFU
161-
TuzzQJvKyB67vjuRPMlVAgVAZAP07ru9gW0ajt/ODxvUfvXxp5SFF68mVP2ipMBr
162-
4fujUwQC6cVHmnuL6p87VFoo9uk87TSQVDOQGL8MK4moMFtEW9oUTU22CgnxnCsS
163-
sCCELYhy9BdaTWQH26LzMfhnwSuIRHZyprW4WZtU0akrYXNiCj8o92rZmQWXJDbl
164-
qNECAwEAAaOBtjCBszAdBgNVHQ4EFgQUNtVw4jvkZZbkdQbkYi2/F4QN79owgYMG
165-
A1UdIwR8MHqAFDbVcOI75GWW5HUG5GItvxeEDe/aoVekVTBTMQswCQYDVQQGEwJB
166-
VTEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcTBENpdHkxEDAOBgNVBAoTB0V4YW1w
167-
bGUxEzARBgNVBAMTCkV4YW1wbGUgQ0GCCQC9aFSO9sJkMDAMBgNVHRMEBTADAQH/
168-
MA0GCSqGSIb3DQEBBQUAA4IBAQBvJIsY9bIqliZ3WD1KoN4cvAQeRAPsoLXQkkHg
169-
P6Nrcw9rJ5JvoHfYbo5aNlwbnkbt/B2xlVEXUYpJoBZFXafgxG2gJleioIgnaDS4
170-
FPPwZf1C5ZrOgUBfxTGjHex4ghSAoNGOd35jQzin5NGKOvZclPjZ2vQ++LP3aA2l
171-
9Fn2qASS46IzMGJlC75mlTOTQwDM16UunMAK26lNG9J6q02o4d/oU2a7x0fD80yF
172-
64kNA1wDAwaVCYiUH541qKp+b4iDqer8nf8HqzYDFlpje18xYZMEd1hj8dVOharM
173-
pISJ+D52hV/BGEYF8r5k3hpC5d76gSP2oCcaY0XvLBf97qik
174-
-----END CERTIFICATE-----
175-
END
176-
cms = OpenSSL::CMS.new
177-
cms.type = "signed"
178-
ca_cert = OpenSSL::X509::Certificate.new(ca_cert_pem)
179-
cms.add_certificate ca_cert
180-
cms.add_data ""
181-
182-
assert_nothing_raised do
183-
cms.to_pem
69+
if false
70+
# multiple signers not yet supported.
71+
# A signed-data which have multiple signatures can be created
72+
# through the following steps.
73+
# 1. create two signed-data
74+
# 2. copy signerInfo and certificate from one to another
75+
76+
tmp1 = OpenSSL::CMS.sign(@ee1_cert, @rsa1024, data, [], flag)
77+
tmp2 = OpenSSL::CMS.sign(@ee2_cert, @rsa1024, data, [], flag)
78+
tmp1.add_signer(tmp2.signers[0])
79+
tmp1.add_certificate(@ee2_cert)
80+
81+
cms = OpenSSL::CMS.ContentInfo.new(tmp1.to_der)
82+
certs = cms.certificates
83+
signers = cms.signers
84+
assert(cms.verify([], store))
85+
assert_equal(data, cms.data)
86+
assert_equal(2, certs.size)
87+
assert_equal(2, signers.size)
88+
assert_equal(@ee1_cert.serial, signers[0].serial)
89+
assert_equal(@ee1_cert.issuer.to_s, signers[0].issuer.to_s)
90+
assert_equal(@ee2_cert.serial, signers[1].serial)
91+
assert_equal(@ee2_cert.issuer.to_s, signers[1].issuer.to_s)
18492
end
18593
end
18694

187-
def test_split_content
188-
pend "not yet"
189-
pki_message_pem = <<END
190-
-----BEGIN PKCS7-----
191-
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
230-
-----END PKCS7-----
231-
END
232-
pki_message_content_pem = <<END
233-
-----BEGIN PKCS7-----
234-
MIIDawYJKoZIhvcNAQcDoIIDXDCCA1gCAQAxggEQMIIBDAIBADB1MHAxEDAOBgNV
235-
BAoMB2V4YW1wbGUxFzAVBgNVBAMMDlRBUk1BQyBST09UIENBMSIwIAYJKoZIhvcN
236-
AQkBFhNzb21lb25lQGV4YW1wbGUub3JnMQswCQYDVQQGEwJVUzESMBAGA1UEBwwJ
237-
VG93biBIYWxsAgFmMA0GCSqGSIb3DQEBAQUABIGAbKV17HvGYRtRRBNz1QLpW763
238-
UedhVj5KXi70o4BJGM04lItAgt6aFC9SruZjpWr1gCYKCaRSAg273DeGTQwsDoZ8
239-
6CPXzBpptYLz0MteQXYYWUaPZT+xmvx4NgDyk9P9MoT7JifsPrtXuzqCRFXhGdu8
240-
d/ru+OWxhHLvKH+bYekwggI9BgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECBNs2U5m
241-
Msd/gIICGFOnLq/EAc9Nv+HjKR3ZVPSJMq0TImjGf5Mvc3nDgI572Hdo2aku0YXM
242-
6WjSWkpYtxpg7Cqxfl6hPSefLPUnBqlIoM2qbrE7MSKEVD6+2bW9GqYPFVg4qQLL
243-
sOxnxJIMfOvLFfd7guL+iLH424XfiUUxaf8EdZE4u2IEl4REvkS1FoEGwyA4BEGM
244-
SeVPedQCbZ0qY7Pc2tmZE3XfEUhIsyStG0Nb6i6AKcAFYGapbgE6kAB0gwsYcHlW
245-
MOvsvdAfcTq6jwtHlO1s68qtvkWquTQ9lpX+fzddUUNxEHSqv5eU3oo6fT3Vj5ZF
246-
IVlaA5ThZMrI5PgRPuwJM4GL8/VLwY5mbDLFqn/irGeEvP99J3S87ornLLunjpxS
247-
y1/AymcVep2H32Tj82WS/IRQXBOzz4EnQRJGszKxAV6tY+Zje3sWyTTgObhlsiTQ
248-
TDgnvtSW8RvVHqKrwgkxxEsRHg7u8UdzZ0jg+O5+3F8B6/NWMyts0OaFqT9wvI8y
249-
O7VIy3dUtGdz7Hde6Ggp/iTn1LbgdJ3N8Hzxf1j6NMWUKHVsadvwpRJbUeqq9c3+
250-
QuxsJi8wWemxxQCE+tPyc1dP+ej5/M7bERbSOHMGgX03758IvP7A/fy2DjGPv2+l
251-
AwlEke0Uze1367QKgxM0nc3SZDlptY7zPIJC5saWXb8Rt2bw2JxEBOTavrp+ZwJ8
252-
tcH961onq8Tme2ICaCzk
253-
-----END PKCS7-----
254-
END
255-
pki_msg = OpenSSL::CMS.new(pki_message_pem)
256-
store = OpenSSL::X509::Store.new
257-
pki_msg.verify(nil, store, nil, OpenSSL::CMS::NOVERIFY)
258-
cmsenc = OpenSSL::CMS.new(pki_msg.data)
259-
assert_equal(pki_message_content_pem, cmsenc.to_pem)
260-
end
261-
end
262-
26395
end
96+
end # if(OpenSSL)

0 commit comments

Comments
 (0)