|
16 | 16 | expect { subject.register }.to_not raise_error
|
17 | 17 | end
|
18 | 18 | end
|
| 19 | + |
19 | 20 | context "and providing a certificate/key pair" do
|
20 | 21 | let(:cert_key_pair) { Flores::PKI.generate }
|
21 | 22 | let(:certificate) { cert_key_pair.first }
|
|
24 | 25 | IO.write(path, certificate.to_s)
|
25 | 26 | path
|
26 | 27 | end
|
27 |
| - let(:config) { super().merge("ssl_cert" => true, "ssl_cert" => cert_file) } |
| 28 | + let(:config) { super().merge("ssl_cert" => cert_file) } |
28 | 29 | it "registers without error" do
|
29 | 30 | expect { subject.register }.to_not raise_error
|
30 | 31 | end
|
31 | 32 | end
|
| 33 | + |
| 34 | + FIXTURES_PATH = File.expand_path('../fixtures', File.dirname(__FILE__)) |
| 35 | + |
| 36 | + context "ES generated plain-text certificate/key" do |
| 37 | + let(:key_file) { File.join(FIXTURES_PATH, 'plaintext/instance.key') } |
| 38 | + let(:crt_file) { File.join(FIXTURES_PATH, 'plaintext/instance.crt') } |
| 39 | + let(:config) { super().merge("ssl_cert" => crt_file, "ssl_key" => key_file) } |
| 40 | + |
| 41 | + it "registers without error" do |
| 42 | + expect { subject.register }.to_not raise_error |
| 43 | + end |
| 44 | + |
| 45 | + context 'with password set' do |
| 46 | + |
| 47 | + let(:config) { super().merge("ssl_key_passphrase" => 'ignored') } |
| 48 | + |
| 49 | + it "registers without error" do # password simply ignored |
| 50 | + expect { subject.register }.to_not raise_error |
| 51 | + end |
| 52 | + |
| 53 | + end |
| 54 | + end |
| 55 | + |
| 56 | + context "encrypted key using PKCS#1" do |
| 57 | + let(:key_file) { File.join(FIXTURES_PATH, 'encrypted/instance.key') } |
| 58 | + let(:crt_file) { File.join(FIXTURES_PATH, 'encrypted/instance.crt') } |
| 59 | + let(:config) { super().merge("ssl_cert" => crt_file, "ssl_key" => key_file) } |
| 60 | + |
| 61 | + it "registers with error (due missing password)" do |
| 62 | + expect { subject.register }.to raise_error(OpenSSL::PKey::RSAError) # TODO need a better error |
| 63 | + end |
| 64 | + |
| 65 | + context 'with valid password' do |
| 66 | + |
| 67 | + let(:config) { super().merge("ssl_key_passphrase" => '1234567890') } |
| 68 | + |
| 69 | + it "registers without error" do |
| 70 | + expect { subject.register }.to_not raise_error |
| 71 | + end |
| 72 | + |
| 73 | + end |
| 74 | + end |
32 | 75 | end
|
33 | 76 | end
|
0 commit comments