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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a4f50650da31006752f7576b6a88f5dfc81bad51
4
- data.tar.gz: 3bf1c9fcc5a2990421bba0d946ef27362966a8d5
3
+ metadata.gz: 24a09b13312931ca57653b0a7329b2a12ceca314
4
+ data.tar.gz: 9698fee089060bdb3573c2673b237960ae650187
5
5
  SHA512:
6
- metadata.gz: 56d791565ebcf487aaedd3c60c28e568b5f306b71ed21987cb87e210d232f39061be0093d1a32222c1d4f8750be55aa57bc006b3e4309d8619b8274853686fd2
7
- data.tar.gz: ce70a1553c80fb0b8bcbb35cb4d6b16667206d3c075ae2dc4facdce2f6d40ca80394278d895e31f6d4464a3973f09dd31d7b529e7fe4ff3938aed30ef89df3c8
6
+ metadata.gz: 9f93737435287cae5065f7b3d497e36a37e09f1ab7e5886ed4d17119ec7d29f3833f7f2d732e6a0ff6a6229bdcc328e97ba4c0cac1edbe3f4a29c0483a12a847
7
+ data.tar.gz: 59547ffbf6d306bc9184454bfe8fea06afd90e30b0c567c0a1f6bc715ddd49088cd0065f38000f8367c1c5b96afe56ff95e599a954d3e91ba2c1b8d122de10f1
@@ -22,21 +22,36 @@ module EasyRSA
22
22
  end
23
23
  @email = email
24
24
 
25
- # Validate the existence of the ca_cert file
26
- unless File.exist? ca_crt
27
- raise EasyRSA::Certificate::UnableToReadCACert,
28
- "Certificate Authority Certificate does not exist or is not readable: '#{ca_crt}'. " +
29
- "Please check it's existence and permissions"
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 = OpenSSL::X509::Certificate.new File.read ca_crt
32
-
33
- # Validate the existence of the ca_key file
34
- unless File.exist? ca_key
35
- raise EasyRSA::Certificate::UnableToReadCAKey,
36
- "Certificate Authority Key does not exist or is not readable: '#{ca_key}'. " +
37
- "Please check it's existence and permissions"
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 = OpenSSL::PKey::RSA.new File.read ca_key
53
+ @ca_key = ca_key
54
+
40
55
 
41
56
  # Generate Private Key and new Certificate
42
57
  if bits < 2048
@@ -1,3 +1,3 @@
1
1
  module EasyRSA
2
- VERSION = '0.9.0'
2
+ VERSION = '0.9.1'
3
3
  end
@@ -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
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easyrsa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Mackintosh