easyrsa 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|