Skip to content

Commit 0b322fd

Browse files
committed
[test] a test-case for PKCS8 key parsing (for #292)
1 parent 401749e commit 0b322fd

File tree

3 files changed

+98
-0
lines changed

3 files changed

+98
-0
lines changed

src/test/ruby/pkey-cert.pem

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIFcDCCA1igAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MREwDwYDVQQDDAhqb3Bl
3+
bnNzbDEVMBMGCgmSJomT8ixkARkWBWpydWJ5MRMwEQYKCZImiZPyLGQBGRYDb3Jn
4+
MB4XDTI0MDQwMzEzMjgyM1oXDTI1MDQwMzEzMjgyM1owPzERMA8GA1UEAwwIam9w
5+
ZW5zc2wxFTATBgoJkiaJk/IsZAEZFgVqcnVieTETMBEGCgmSJomT8ixkARkWA29y
6+
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJ4wLFlxtSIaRic+ag6y
7+
rq75Ay/cSSQI4BrPx/Zb7hjHZ645lgyriT1vbkUkT0LJS9Cy6WZ7br0Z7hzfWc+k
8+
FuBoizbWI5KjF5FRiPOuTucxPkNiti1e3LbGGQMlOJbrB4guWBxCUzOb2ZeTKj95
9+
Edna5+g5hxsDI6ECEn6IYf0gXq0xXRNaTa1u+lfelbT6LSHxYiTADJlWEKieR2ED
10+
MUSwZNyM37ojwLQ1SlWZXIc6AbFviSV3cckDX2TRt70W53tIXFydc2zFqPF3w+gZ
11+
DjPukkP7JnbcgMLy9EBlbhdR9jaL8R3TbVXktKSseBRrGGDeXpPH/LPUcOun2Jzp
12+
nEVeMmQJ+Ec9TldQ/o8bCcZ6eV/sk56con7IUX6Gq/+pSSQqqjb3/2oC4kqdM6Dj
13+
GcpmB44oLLdg6tcI8qUd9OAopQRkPOI9yyKjA6Gpwa918u8tGX7lryzyhc4OOeFv
14+
QwoUknNPlMXU3tMyXRLhsAekyUqqglCfaY+ZqvNW5cJbxX5G64cCZuFhb7My21yz
15+
zhZCn3tDHegCMtA+bAIfBX+Dg2Mt5J4rVJoy9ZDzWgs6ch6NW7pO2umuxFVXoHtg
16+
VMNsFvd5gUY+Bvd662ARbZ1vRcPK0YiYTp7OqOOpqFtplgotV/BPeClH1JyBc8Bk
17+
j7KfmpyTNo+rpd0G9XNLAtXdAgMBAAGjdzB1MAkGA1UdEwQCMAAwCwYDVR0PBAQD
18+
AgSwMB0GA1UdDgQWBBTQ/2kOpgjQp+7aTRZBJ312BxK1szAdBgNVHREEFjAUgRJq
19+
b3BlbnNzbEBqcnVieS5vcmcwHQYDVR0SBBYwFIESam9wZW5zc2xAanJ1Ynkub3Jn
20+
MA0GCSqGSIb3DQEBCwUAA4ICAQB6FOYhUUtj3OQyi9oLWxHnJvHMfcAERlES2M4N
21+
nxOLRHA0RkR6iYChUjmxhQD9ADScnLGMWP7UcdiRNRjZ/OiOPelbcgJM6+hvWnaV
22+
5NTK2MX3WHY7aISNJfoq/OQsDJsNjKfwyOzTca1jXKhAhl46jLJ0JZpZNBi5wefG
23+
IjXsZ5i5WXcG3Ky0EGebiFcHzWBhQ6F3qTlBSx3Rpq3mAf7Zdn9v6fuWFraYwnS6
24+
apma7JSgkUrFKPeFnZz3SxB+yqneFLuvtM4UzW2vsLLAKd/BGgMSzMV9I7d/xsHl
25+
FfizR91Q/4diiC0M+VnqB40R1UfFCoiK0Xy1U28WHrU00ij7Uc38SZMey8BDrOPY
26+
YdS2xEEtGgFJ/x6OnJmfFM0ioJscE79phhIV+AMOTYsLerHkhbJ/m+kqmoQ+HtPZ
27+
9aOUWmz7G28SbbZXcT6/x4Jf6O/8AGPAFmJxkSg1+9XbOcMrWGQCpwmCuqsNf6L6
28+
adrqeC7hjBxMaHjzDFyF8FUMLU8Un9g6fzN20gZFaAQuMuxiPoQEflTGb3BRxRTD
29+
z8Aed06Q0Mfksf1bzoRFpFXICpI0EfHCHhUmJGpMNFiNmtZkJP8BoxiIh//Mu+x6
30+
dYsMY/peZYWDgkcBPdV3mQ4BNqgHhdFiDC7BvqozS84pieP3IFyKmj3KVyacCAW/
31+
3DO2Yg==
32+
-----END CERTIFICATE-----

src/test/ruby/pkey-pkcs8.pem

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
-----BEGIN PRIVATE KEY-----
2+
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
51+
bXMAaZvmPMWY39farAQNCHnnSQLhCmE=
52+
-----END PRIVATE KEY-----

src/test/ruby/test_pkey.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,20 @@ def test_pkey_read
1414
assert_equal OpenSSL::PKey::RSA.new(KEY).e, pkey.e
1515
end
1616

17+
def test_pkey_read_pkcs8_and_check_with_cert
18+
pkey = File.expand_path('pkey-pkcs8.pem', File.dirname(__FILE__))
19+
pkey = OpenSSL::PKey.read(File.read(pkey), nil)
20+
21+
assert_true pkey.private?
22+
assert_true pkey.public?
23+
assert pkey.public_key.to_s
24+
25+
cert = File.expand_path('pkey-cert.pem', File.dirname(__FILE__))
26+
cert = OpenSSL::X509::Certificate.new(File.read(cert))
27+
28+
assert_true cert.check_private_key(pkey)
29+
end
30+
1731
def test_to_java
1832
pkey = OpenSSL::PKey.read(KEY)
1933
assert_kind_of java.security.PublicKey, pkey.to_java

0 commit comments

Comments
 (0)