Skip to content

Commit 7f420eb

Browse files
committed
Added test for RSA and EC private key
1 parent e5747ed commit 7f420eb

File tree

4 files changed

+42
-8
lines changed

4 files changed

+42
-8
lines changed

spec/fixtures/certs.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,6 @@ subject: cn=client
3232
issuer: cn=ca
3333
key_type: RSA
3434
---
35+
subject: cn=client-ec
36+
issuer: cn=ca
37+
key_type: EC

spec/fixtures/client-ec-key.pem

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg6P7i1NqXVKChh8dR
3+
pqHcCSwlxDjKoaDBGiYzWHgy5vqhRANCAAQSX1YGFCuXL7f5Utp5X45+h7ixghyQ
4+
vhYfT4gY6M31DAUaf59DENYUZ36k4IYrWP6lU/ChBH0Mlntjb1TCD+Tw
5+
-----END PRIVATE KEY-----

spec/fixtures/client-ec.pem

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIICCjCB86ADAgECAggXhLgPAPW4dzANBgkqhkiG9w0BAQsFADANMQswCQYDVQQD
3+
EwJjYTAeFw0yMzA5MTQwODU1MzRaFw0yNDA5MTMwODU1MzRaMBQxEjAQBgNVBAMT
4+
CWNsaWVudC1lYzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBJfVgYUK5cvt/lS
5+
2nlfjn6HuLGCHJC+Fh9PiBjozfUMBRp/n0MQ1hRnfqTghitY/qVT8KEEfQyWe2Nv
6+
VMIP5PCjMzAxMA4GA1UdDwEB/wQEAwIFoDAfBgNVHSMEGDAWgBRNukfgtxJMkwu7
7+
XMvQ8ETWqi5BVTANBgkqhkiG9w0BAQsFAAOCAQEAP+HsEKYA2d6kCAH/JJSpxMnP
8+
gwMfjDkmV1bMguYSoOv8fbD17WqpyRojhi+THInP6ggXhJW0Zbz6UNy2GHXtO4+o
9+
OGLKI2FMUnaLRDMF4NL//FcC1unRQxyw8HQ2oMPNtWVEoo8KURLe0IW2q9/afT89
10+
59RAZYxizFKSWcoIQGeCoyWzVIa/E+MB4cFKgpTF3zkxr6uWJvXYYwkVtzknsGvW
11+
v0c2h2Ck//kuQatJSZQpbMaYMEE2480VnwskiOTu1ltxrmcQxz5P0g1zcjEnKQAm
12+
kB3ENdewzHIq8yaybbf+a/WCsNyyEjKPOsSWeElk77v719B24x1HqkV8FW/eRA==
13+
-----END CERTIFICATE-----

spec/outputs/syslog_tls_spec.rb

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -109,29 +109,42 @@
109109
context "read PEM" do
110110
let(:options) { { "host" => "localhost", "port" => port, "protocol" => "ssl-tcp", "ssl_verify" => true } }
111111

112-
context "invalid client certificate" do
112+
context "RSA certificate and private key" do
113113
let(:options ) { super().merge(
114-
"ssl_cert" => File.join(FIXTURES_PATH, "invalid.pem"),
114+
"ssl_cert" => File.join(FIXTURES_PATH, "client.pem"),
115115
"ssl_key" => File.join(FIXTURES_PATH, "client-key.pem"),
116116
"ssl_cacert" => File.join(FIXTURES_PATH, "ca.pem"),
117117
"ssl_crl" => File.join(FIXTURES_PATH, "ca-crl.pem")
118118
) }
119119

120-
it "register raises error" do
121-
expect { subject.register }.to raise_error(OpenSSL::X509::CertificateError, /malformed PEM data/)
120+
it "register succeeds" do
121+
expect { subject.register }.not_to raise_error
122122
end
123123
end
124124

125-
context "invalid client private key" do
125+
context "EC certificate and private key" do
126126
let(:options ) { super().merge(
127-
"ssl_cert" => File.join(FIXTURES_PATH, "client.pem"),
128-
"ssl_key" => File.join(FIXTURES_PATH, "invalid.pem"),
127+
"ssl_cert" => File.join(FIXTURES_PATH, "client-ec.pem"),
128+
"ssl_key" => File.join(FIXTURES_PATH, "client-ec-key.pem"),
129+
"ssl_cacert" => File.join(FIXTURES_PATH, "ca.pem"),
130+
"ssl_crl" => File.join(FIXTURES_PATH, "ca-crl.pem")
131+
) }
132+
133+
it "register succeeds" do
134+
expect { subject.register }.not_to raise_error
135+
end
136+
end
137+
138+
context "invalid client certificate" do
139+
let(:options ) { super().merge(
140+
"ssl_cert" => File.join(FIXTURES_PATH, "invalid.pem"),
141+
"ssl_key" => File.join(FIXTURES_PATH, "client-key.pem"),
129142
"ssl_cacert" => File.join(FIXTURES_PATH, "ca.pem"),
130143
"ssl_crl" => File.join(FIXTURES_PATH, "ca-crl.pem")
131144
) }
132145

133146
it "register raises error" do
134-
expect { subject.register }.to raise_error(OpenSSL::PKey::RSAError, /Neither PUB key nor PRIV key/)
147+
expect { subject.register }.to raise_error(OpenSSL::X509::CertificateError, /malformed PEM data/)
135148
end
136149
end
137150

0 commit comments

Comments
 (0)