ssl-test 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ssl-test.rb +2 -3
- data/test/ssl-test_test.rb +14 -7
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11a0ae9638ae444932d7eef5c49873e276056235
|
4
|
+
data.tar.gz: 3c9bec83c428f62c6f0e84559b4daf5687d4682e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea7b409ae5b9a83bf1ddfb3cfc844a4d8dd55d2aabbbf943c1f924e868b31ddb8b5aef0ecb6b2875652da476b50149939076f574ca3400ca9251901c2eb6ab56
|
7
|
+
data.tar.gz: dac29c015557a0ecc1470487d441962f2d4fbb6b8b1e458c931bf12b6ff2c2c42fc87070414a6b365febb7d0757808b712243c21f2f652fcc1a1042cfe3c0735
|
data/lib/ssl-test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require "net/https"
|
2
2
|
|
3
3
|
module SSLTest
|
4
|
-
VERSION = "1.
|
4
|
+
VERSION = "1.1.0"
|
5
5
|
|
6
6
|
def self.test url, open_timeout: 5, read_timeout: 5
|
7
7
|
uri = URI.parse(url)
|
@@ -19,9 +19,8 @@ module SSLTest
|
|
19
19
|
verify_ok
|
20
20
|
}
|
21
21
|
|
22
|
-
req = Net::HTTP::Head.new('/')
|
23
22
|
begin
|
24
|
-
res = http.start {
|
23
|
+
res = http.start { }
|
25
24
|
return [true, nil, cert]
|
26
25
|
rescue OpenSSL::SSL::SSLError => e
|
27
26
|
error = e.message
|
data/test/ssl-test_test.rb
CHANGED
@@ -6,43 +6,50 @@ describe SSLTest do
|
|
6
6
|
describe '.test' do
|
7
7
|
it "returns no error on valid SNI website" do
|
8
8
|
valid, error, cert = SSLTest.test("https://www.mycs.com")
|
9
|
+
error.must_be_nil
|
9
10
|
valid.must_equal true
|
11
|
+
cert.must_be_instance_of OpenSSL::X509::Certificate
|
12
|
+
end
|
13
|
+
|
14
|
+
it "works with websites blocking http requests" do
|
15
|
+
valid, error, cert = SSLTest.test("https://obyava.ua")
|
10
16
|
error.must_be_nil
|
17
|
+
valid.must_equal true
|
11
18
|
cert.must_be_instance_of OpenSSL::X509::Certificate
|
12
19
|
end
|
13
20
|
|
14
21
|
it "returns error on self signed certificate" do
|
15
22
|
valid, error, cert = SSLTest.test("https://kernelcoffee.org")
|
16
|
-
valid.must_equal false
|
17
23
|
error.must_equal "error code 18: self signed certificate"
|
24
|
+
valid.must_equal false
|
18
25
|
cert.must_be_instance_of OpenSSL::X509::Certificate
|
19
26
|
end
|
20
27
|
|
21
28
|
it "returns error on invalid host" do
|
22
|
-
valid, error, cert = SSLTest.test("https://
|
29
|
+
valid, error, cert = SSLTest.test("https://web1.updn.io")
|
30
|
+
error.must_equal 'hostname "web1.updn.io" does not match the server certificate'
|
23
31
|
valid.must_equal false
|
24
|
-
error.must_equal 'hostname "staging.updown.io" does not match the server certificate'
|
25
32
|
cert.must_be_instance_of OpenSSL::X509::Certificate
|
26
33
|
end
|
27
34
|
|
28
35
|
it "returns error on expired cert" do
|
29
36
|
valid, error, cert = SSLTest.test("https://testssl-expire.disig.sk")
|
30
|
-
valid.must_equal false
|
31
37
|
error.must_equal "error code 10: certificate has expired"
|
38
|
+
valid.must_equal false
|
32
39
|
cert.must_be_instance_of OpenSSL::X509::Certificate
|
33
40
|
end
|
34
41
|
|
35
42
|
it "returns undetermined state on unhandled error" do
|
36
43
|
valid, error, cert = SSLTest.test("https://pijoinlrfgind.com")
|
44
|
+
error.must_equal "SSL certificate test failed: Failed to open TCP connection to pijoinlrfgind.com:443 (getaddrinfo: Name or service not known)"
|
37
45
|
valid.must_be_nil
|
38
|
-
error.must_equal "SSL certificate test failed: getaddrinfo: Name or service not known"
|
39
46
|
cert.must_be_nil
|
40
47
|
end
|
41
48
|
|
42
49
|
it "stops on timeouts" do
|
43
|
-
valid, error, cert = SSLTest.test("https://
|
50
|
+
valid, error, cert = SSLTest.test("https://updown.io", open_timeout: 0)
|
51
|
+
error.must_equal "SSL certificate test failed: Net::OpenTimeout"
|
44
52
|
valid.must_be_nil
|
45
|
-
error.must_equal "SSL certificate test failed: execution expired"
|
46
53
|
cert.must_be_nil
|
47
54
|
end
|
48
55
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ssl-test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrien Jarthon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -73,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
73
|
version: '0'
|
74
74
|
requirements: []
|
75
75
|
rubyforge_project:
|
76
|
-
rubygems_version: 2.
|
76
|
+
rubygems_version: 2.5.1
|
77
77
|
signing_key:
|
78
78
|
specification_version: 4
|
79
79
|
summary: Test website SSL certificate validity
|