sslcheck 0.9.4 → 0.9.4.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: d3cef80868e3796537488bac3896a10c52853757
4
- data.tar.gz: 12dbc2542745a65fbf439798e208290b4a08b744
3
+ metadata.gz: c20562eb72f671cb97f212cd1eba23b56bb536ff
4
+ data.tar.gz: 708991cda40f732a0a7227ddd7237d6853682c52
5
5
  SHA512:
6
- metadata.gz: b003ebe52cfcea15993e6c2234cb161f81794a924605849b4f6fb55bebea91ba9fbb86a0402050a3caa6b86412129cbfb55705ef6d9cb91ef85cb0fca21134e6
7
- data.tar.gz: 7ab5cda4f44d57a15ad209a0315c2bce1355da107382cb35843b1844f32eb1a03af6c26263792c5c779298fe01a2fa5b21ee55a12aed5ae052d6f796fc3b0b71
6
+ metadata.gz: ddd27cf5c945cc4829da97285e503060db844049bf239a049b41383f094eb14c0a012bf4a457d0151ab30841b599291a9134d8b2c8cee881b9a2de0ff4ba5d39
7
+ data.tar.gz: 76cf8262a72908aa519bea9f2e3af3ab5ab13bd3134200cad7928c5bf0856b4c9a6e3e3c1fa03fbd646abb22aa742f3f7c3d118ef37ed6ec56be335502fc1b3b
@@ -30,5 +30,16 @@ module SSLCheck
30
30
  expect(@check.ca_bundle).to be
31
31
  end
32
32
  end
33
+ context "when the common name is not correct" do
34
+ before do
35
+ @check = Check.new.check('https://mismatch.examples.sslinsight.com')
36
+ end
37
+ it 'should not be valid' do
38
+ expect(@check.valid?).to_not be
39
+ end
40
+ it 'should have errors' do
41
+ expect(@check.errors).to_not be_empty
42
+ end
43
+ end
33
44
  end
34
45
  end
@@ -63,6 +63,7 @@ module SSLCheck
63
63
 
64
64
  def validate
65
65
  @validator.validate(host_name, peer_cert, ca_bundle)
66
+ @errors = @errors + @validator.errors
66
67
  true
67
68
  end
68
69
  end
@@ -28,6 +28,8 @@ module SSLCheck
28
28
  raise CABundleMissingError if ca_bundle.nil? || ca_bundle.empty?
29
29
  @common_name = common_name
30
30
  @peer_cert = peer_cert
31
+ @ca_bundle = ca_bundle
32
+
31
33
 
32
34
  run_validations(validators)
33
35
  end
@@ -12,7 +12,8 @@ module SSLCheck
12
12
  end
13
13
 
14
14
  def matching_wildcard_domain
15
- true if (@peer_cert.common_name.match(/\*\./) && @common_name.include?(@peer_cert.common_name.gsub(/\*\./,'')))
15
+ return true if (@peer_cert.common_name.match(/\*\./) && @common_name.include?(@peer_cert.common_name.gsub(/\*\./,'')))
16
+ false
16
17
  end
17
18
 
18
19
  def direct_common_name_match
@@ -1,3 +1,3 @@
1
1
  module SSLCheck
2
- VERSION = "0.9.4"
2
+ VERSION = "0.9.4.1"
3
3
  end
@@ -812,3 +812,37 @@ ReYNnyicsbkqWletNw+vHX/bvZ8=
812
812
  """
813
813
 
814
814
  VALID_CA_BUNDLE = [CA_PARENT, CA_GRAND_PARENT, CA_GREAT_GRAND_PARENT]
815
+
816
+ APP_SSL_INSIGHT_CERT = """
817
+ -----BEGIN CERTIFICATE-----
818
+ MIIFWjCCBEKgAwIBAgIQSXt7yzPv7c88GVt1NwDupzANBgkqhkiG9w0BAQsFADCB
819
+ kDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
820
+ A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNV
821
+ BAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
822
+ QTAeFw0xNTA0MDMwMDAwMDBaFw0xNjA0MDIyMzU5NTlaMFYxITAfBgNVBAsTGERv
823
+ bWFpbiBDb250cm9sIFZhbGlkYXRlZDEUMBIGA1UECxMLUG9zaXRpdmVTU0wxGzAZ
824
+ BgNVBAMTEmFwcC5zc2xpbnNpZ2h0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
825
+ ADCCAQoCggEBAOMvQ5zflXGZ6JM7fjyOiOvaYsQepgiegG7uxISWCzCXa+lA49xo
826
+ Or2j7Il5HsuOfF9LuCKFo+1H6+V8X71xqZK4P8IW7Z31iyFmw6uIczuhzwVRs1YJ
827
+ xoE8DzErmtKFSV4IHeEgbNZsZlkfdA7YflSTSXwxcDisJv7STFxLNiGHbu1dCVOl
828
+ j3C1ipiF5rZbwh2P8pUcQwGkp8OWr1XS4K7bsDiRqDTuslykOPyAPEqwgKJu1tAm
829
+ lW0tIs653qRuW7VySmBexBNonQ8HmSqO4NVpqejpy+tSS9VrcADS4UGTpwUUQG7V
830
+ 2yA8ymg9RnyaKOLoe7wgkwyy/3YyJE44e1MCAwEAAaOCAecwggHjMB8GA1UdIwQY
831
+ MBaAFJCvajqUWgvYkOoSVnPfQ7Q6KNrnMB0GA1UdDgQWBBTsG2YDDmHoOTHQZEmO
832
+ A/hUsAr4FDAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAU
833
+ BggrBgEFBQcDAQYIKwYBBQUHAwIwTwYDVR0gBEgwRjA6BgsrBgEEAbIxAQICBzAr
834
+ MCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8uY29tL0NQUzAIBgZn
835
+ gQwBAgEwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL2NybC5jb21vZG9jYS5jb20v
836
+ Q09NT0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNybDCBhQYI
837
+ KwYBBQUHAQEEeTB3ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LmNvbW9kb2NhLmNv
838
+ bS9DT01PRE9SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0MCQG
839
+ CCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wNQYDVR0RBC4wLIIS
840
+ YXBwLnNzbGluc2lnaHQuY29tghZ3d3cuYXBwLnNzbGluc2lnaHQuY29tMA0GCSqG
841
+ SIb3DQEBCwUAA4IBAQBugXKmDVrHxahyQhOc4FJjV3QeMlgu2wHwjziUdwCFFVLA
842
+ HrJjNsdkgL0/yggTafwHYSq2FF1ZrP8w261frl+JpLSB/Xmfe8eai6lN6/vAGH8U
843
+ vckcrWFEwoEDp1ui4sWEfibHjaDjIcNRkSBuaodhK9Y8OPlhzO0Sw/hRQ1rfaQF1
844
+ y4RKl6auZwAmccdcYDICrbHqocX76tSyZMi6UmE3kQzqH5YUAVP4G3pAn2/kCI4p
845
+ X4nnqR6A1Qz7WsWIY0PdHA4wK5sOSy11a3c7Z2vOABG8LF6HL/UZZIVvSnDvoPWT
846
+ FXKBj7iNTKZDyn1G8b0kxE7zaLF6kAryW3F7IXr0
847
+ -----END CERTIFICATE-----
848
+ """
@@ -111,6 +111,13 @@ module SSLCheck
111
111
  expect(@sut.valid?).to be
112
112
  end
113
113
  end
114
+ context "when the certificate is invalid" do
115
+ it 'should bubble up any errors found during validation' do
116
+ @sut = Check.new(FakeClient.new(FakeClientResponse.new(@peer_cert, @ca_bundle)), FakeValidator.new(false, [SSLCheck::Errors::GenericError.new({:name => "generic error", :message => "generic error"})]))
117
+ @sut.check('www.example.com')
118
+ expect(@sut.errors.empty?).to_not be
119
+ end
120
+ end
114
121
  end
115
122
  end
116
123
  end
@@ -27,7 +27,6 @@ module SSLCheck
27
27
  expect(result).to_not be
28
28
  end
29
29
  end
30
-
31
30
  end
32
31
  context "when the common name is mismatched" do
33
32
  it 'should return errors' do
@@ -36,5 +35,18 @@ module SSLCheck
36
35
  expect(result).to be_a SSLCheck::Errors::Validation::CommonNameMismatch
37
36
  end
38
37
  end
38
+ context "When not a wildcard domain" do
39
+
40
+ context "and part of the common name matches" do
41
+ @cert = Certificate.new(APP_SSL_INSIGHT_CERT)
42
+ @ca_bundle = [Certificate.new(CA_PARENT), Certificate.new(CA_GRAND_PARENT)]
43
+ it 'should return errors' do
44
+ sut = Validators::CommonName.new("mismatch.examples.sslinsight.com", @cert, @ca_bundle)
45
+ result = sut.validate
46
+ expect(result).to be_a SSLCheck::Errors::Validation::CommonNameMismatch
47
+ end
48
+ end
49
+ end
50
+
39
51
  end
40
52
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sslcheck
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.9.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clayton Lengel-Zigich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-02 00:00:00.000000000 Z
11
+ date: 2015-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -140,7 +140,6 @@ files:
140
140
  - spec/response_spec.rb
141
141
  - spec/spec_helper.rb
142
142
  - spec/validator_spec.rb
143
- - sslcheck-0.9.0.gem
144
143
  - sslcheck.gemspec
145
144
  homepage: http://github.com/clayton/sslcheck
146
145
  licenses:
Binary file