sslcheck 0.9.4 → 0.9.4.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: 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