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