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 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