easyrsa 0.9.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/easyrsa/certificate.rb +28 -13
- data/lib/easyrsa/version.rb +1 -1
- data/spec/easyrsa/02_certificate_spec.rb +50 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24a09b13312931ca57653b0a7329b2a12ceca314
|
4
|
+
data.tar.gz: 9698fee089060bdb3573c2673b237960ae650187
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f93737435287cae5065f7b3d497e36a37e09f1ab7e5886ed4d17119ec7d29f3833f7f2d732e6a0ff6a6229bdcc328e97ba4c0cac1edbe3f4a29c0483a12a847
|
7
|
+
data.tar.gz: 59547ffbf6d306bc9184454bfe8fea06afd90e30b0c567c0a1f6bc715ddd49088cd0065f38000f8367c1c5b96afe56ff95e599a954d3e91ba2c1b8d122de10f1
|
data/lib/easyrsa/certificate.rb
CHANGED
@@ -22,21 +22,36 @@ module EasyRSA
|
|
22
22
|
end
|
23
23
|
@email = email
|
24
24
|
|
25
|
-
|
26
|
-
unless
|
27
|
-
|
28
|
-
|
29
|
-
|
25
|
+
# Get cert details if it's in a file
|
26
|
+
unless ca_crt.is_a? OpenSSL::X509::Certificate
|
27
|
+
if ca_crt.include?('BEGIN CERTIFICATE')
|
28
|
+
ca_crt = OpenSSL::X509::Certificate.new ca_crt
|
29
|
+
else
|
30
|
+
begin
|
31
|
+
ca_crt = OpenSSL::X509::Certificate.new File.read ca_crt
|
32
|
+
rescue
|
33
|
+
fail EasyRSA::Certificate::UnableToReadCACert,
|
34
|
+
'Invalid CA Certificate.'
|
35
|
+
end
|
36
|
+
end
|
30
37
|
end
|
31
|
-
@ca_cert =
|
32
|
-
|
33
|
-
|
34
|
-
unless
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
+
@ca_cert = ca_crt
|
39
|
+
|
40
|
+
# Get cert details if it's in a file
|
41
|
+
unless ca_key.is_a? OpenSSL::PKey::RSA
|
42
|
+
if ca_key.include?('BEGIN RSA PRIVATE KEY')
|
43
|
+
ca_key = OpenSSL::PKey::RSA.new ca_key
|
44
|
+
else
|
45
|
+
begin
|
46
|
+
ca_key = OpenSSL::PKey::RSA.new File.read ca_key
|
47
|
+
rescue
|
48
|
+
fail EasyRSA::Certificate::UnableToReadCAKey,
|
49
|
+
'This is not a valid CA Private key file.'
|
50
|
+
end
|
51
|
+
end
|
38
52
|
end
|
39
|
-
@ca_key =
|
53
|
+
@ca_key = ca_key
|
54
|
+
|
40
55
|
|
41
56
|
# Generate Private Key and new Certificate
|
42
57
|
if bits < 2048
|
data/lib/easyrsa/version.rb
CHANGED
@@ -31,10 +31,60 @@ describe EasyRSA::Certificate, 'Should' do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'throw error when invalid ca key is passed' do
|
34
|
+
cert = <<CERTIFICATE
|
35
|
+
-----BEGIN CERTIFICATE-----
|
36
|
+
MIIC4TCCAkqgAwIBAgIJANYWnRgYyYmsMA0GCSqGSIb3DQEBBQUAMFUxCzAJBgNV
|
37
|
+
BAYTAlVTMREwDwYDVQQIEwhOZXcgWW9yazEYMBYGA1UEChMPTWlrZSBNYWNraW50
|
38
|
+
b3NoMRkwFwYDVQQLExBSdWJ5IEVhc3lSU0EgR2VtMB4XDTE1MDQwODAzMjYxOVoX
|
39
|
+
DTI1MDQwNTAzMjYxOVowVTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3Jr
|
40
|
+
MRgwFgYDVQQKEw9NaWtlIE1hY2tpbnRvc2gxGTAXBgNVBAsTEFJ1YnkgRWFzeVJT
|
41
|
+
QSBHZW0wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANN0bDqnyWMKNsLgC9Sf
|
42
|
+
QW/3mZHrAnuptkYaGcj3b3MHqVbtijYyCD9EtbSsFKftFjJeXNJiRQuWTvEfGl2C
|
43
|
+
c8wZMDfrA19TpXyfeLYOFfnZb1U3TK1a6tDvrHjbhhiPAQDTfS1mr9bgeac40EiJ
|
44
|
+
kYtptF4vcphyCOUC2QOi/nhZAgMBAAGjgbgwgbUwHQYDVR0OBBYEFAJpK6ilbgsM
|
45
|
+
NM38fl/HSlCBr9njMIGFBgNVHSMEfjB8gBQCaSuopW4LDDTN/H5fx0pQga/Z46FZ
|
46
|
+
pFcwVTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMRgwFgYDVQQKEw9N
|
47
|
+
aWtlIE1hY2tpbnRvc2gxGTAXBgNVBAsTEFJ1YnkgRWFzeVJTQSBHZW2CCQDWFp0Y
|
48
|
+
GMmJrDAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAHOVU2vP1a+E/DOf
|
49
|
+
Jy0UUTuK5hPO1IaT1byN5rWaTFRftpHLsFLnZLTeJkXKd7IcYkwvRFYmUHDHlm7O
|
50
|
+
4WQiErwmstW967IZbCuUoYKYBEtFlGGzoy2tHdhPVCT8egjqQMs99HaMObNa3kgh
|
51
|
+
UMxNUqagZQTruqWTDUOXycX/7QXA
|
52
|
+
-----END CERTIFICATE-----
|
53
|
+
CERTIFICATE
|
54
|
+
|
55
|
+
key = <<KEY
|
56
|
+
-----BEGIN RSA PRIVATE KEY-----
|
57
|
+
MIICXAIBAAKBgQDTdGw6p8ljCjbC4AvUn0Fv95mR6wJ7qbZGGhnI929zB6lW7Yo2
|
58
|
+
Mgg/RLW0rBSn7RYyXlzSYkULlk7xHxpdgnPMGTA36wNfU6V8n3i2DhX52W9VN0yt
|
59
|
+
WurQ76x424YYjwEA030tZq/W4HmnONBIiZGLabReL3KYcgjlAtkDov54WQIDAQAB
|
60
|
+
AoGAB6c7E5RnEZKZEMyTIQryj17izAk5echWtIrVTBTIj91DH8ZRLkz5R3DxMqzX
|
61
|
+
wowuNXx815B+90BlcwyxI5lJH5Ug5ClUDUhATsrLEnGR+Eg5NLG5K4oXgnQUGTN7
|
62
|
+
t7MKVUTzRWPc8p9V9Z7asIOMXax+cyaEGVixz9JJfYP8pEECQQDuleHAjZtWA/X/
|
63
|
+
UhOY3RjYdSSsb5MkDtpPo5WovAgH/7Ek6hx90/FKw5YynGTeskqDvlXlLEMKT1Cl
|
64
|
+
9s05kCq1AkEA4uOWQAWsNuA54SMMJ+cWTF1h30a7wD5VNmx5C2e5dRX/5Oknc512
|
65
|
+
m0Ky0zpu3bfWLL8+lJvTYHoQQD/p10hJlQJBAOptlUvJGGeVLsK4WA8suDwAJo/U
|
66
|
+
dgTJH1N/Tg9k6pNJdzrpWiN8/CtVMSD7sNVs5HC8tdOgASOBOaJJde9oq70CQGp/
|
67
|
+
fUUr5HwVn9VniAsq0zKhGpGdN/+ywni7Tc3msAyfeO/P6O7B2KxkEGBJq0RzSBrU
|
68
|
+
4eELi5pbcUlXNsIQckkCQCVQSfWFNkgax/tHFSALdOUkZl+Gy84bGmXPgw4TzQTr
|
69
|
+
49egzjRvMks+Ej0vO1m8+Zff+9s8qPpeiQI78aY4VLI=
|
70
|
+
-----END RSA PRIVATE KEY-----
|
71
|
+
KEY
|
34
72
|
|
35
73
|
expect {
|
36
74
|
EasyRSA::Certificate.new('ca.crt', 'ca.key', 'blah', 'blah@blah')
|
37
75
|
}.to raise_error(EasyRSA::Certificate::UnableToReadCACert)
|
76
|
+
|
77
|
+
expect {
|
78
|
+
EasyRSA::Certificate.new(cert, 'ca.key', 'blah', 'blah@blah')
|
79
|
+
}.to raise_error(EasyRSA::Certificate::UnableToReadCAKey)
|
80
|
+
|
81
|
+
expect {
|
82
|
+
EasyRSA::Certificate.new(cert, key, 'blah', 'blah@blah')
|
83
|
+
}.to_not raise_error
|
84
|
+
|
85
|
+
expect {
|
86
|
+
EasyRSA::Certificate.new(cert, @ca_key, 'blah', 'blah@blah')
|
87
|
+
}.to_not raise_error
|
38
88
|
|
39
89
|
end
|
40
90
|
|