instrumental_agent 1.0.1 → 3.0.0.beta
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 +5 -5
- data/.ruby-version +1 -0
- data/.travis.yml +4 -6
- data/CHANGELOG.md +21 -0
- data/Gemfile +3 -5
- data/README.md +40 -9
- data/instrumental_agent.gemspec +6 -2
- data/lib/instrumental/agent.rb +262 -155
- data/lib/instrumental/capistrano.rb +4 -46
- data/lib/instrumental/capistrano/capistrano2.rb +47 -0
- data/lib/instrumental/capistrano/capistrano3.rake +56 -0
- data/lib/instrumental/command_structs.rb +32 -0
- data/lib/instrumental/event_aggregator.rb +26 -0
- data/lib/instrumental/version.rb +1 -1
- data/script/setup +22 -4
- data/script/test +34 -2
- data/spec/agent_spec.rb +579 -109
- data/spec/command_struct_specs.rb +20 -0
- data/spec/event_aggregator_spec.rb +53 -0
- data/spec/spec_helper.rb +8 -1
- data/spec/test_server.rb +13 -6
- metadata +47 -17
- data/certs/equifax.ca.pem +0 -69
- data/certs/geotrust.ca.pem +0 -80
- data/certs/rapidssl.ca.pem +0 -94
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
|
4
|
+
describe Instrumental::Command, "basic functions of command structs" do
|
5
|
+
it "should not allow bad arguments to command#+" do
|
6
|
+
command = Instrumental::Command.new("gauge", "abc", 1, Time.at(0), 1)
|
7
|
+
|
8
|
+
# nil is a no-op
|
9
|
+
expect(command + nil).to eq(command)
|
10
|
+
# it will change the top of the other command
|
11
|
+
expect(command + Instrumental::Command.new("increment", "abc", 1, Time.at(0), 1))
|
12
|
+
.to eq(Instrumental::Command.new("gauge", "abc", 2, Time.at(0), 2))
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should add together with like commands" do
|
16
|
+
command = Instrumental::Command.new("gauge", "abc", 1, Time.at(0), 1)
|
17
|
+
other = Instrumental::Command.new("gauge", "abc", 2, Time.at(0), 4)
|
18
|
+
expect(command + other).to eq(Instrumental::Command.new("gauge", "abc", 3, Time.at(0), 5))
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe EventAggregator, "time and frequency operations" do
|
4
|
+
it "should massage time values to match the start of a window" do
|
5
|
+
agg = EventAggregator.new(frequency: 10)
|
6
|
+
Timecop.freeze do
|
7
|
+
start_of_minute = Time.now.to_i - (Time.now.to_i % 60)
|
8
|
+
times_to_report = [start_of_minute + 5, start_of_minute + 15]
|
9
|
+
|
10
|
+
times_to_report.each do |at_time|
|
11
|
+
agg.put(Instrumental::Command.new("gauge", "abc", 5, Time.at(at_time), 1))
|
12
|
+
end
|
13
|
+
|
14
|
+
expect(agg.size).to eq(2)
|
15
|
+
|
16
|
+
expected_values = [Instrumental::Command.new("gauge", "abc", 5, Time.at(start_of_minute), 1),
|
17
|
+
Instrumental::Command.new("gauge", "abc", 5, Time.at(start_of_minute + 10), 1)]
|
18
|
+
expect(agg.values.values).to eq(expected_values)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe EventAggregator do
|
24
|
+
it "should aggregate put operations to a given frequency" do
|
25
|
+
start_of_minute = Time.now.to_i - (Time.now.to_i % 60)
|
26
|
+
Timecop.freeze(Time.at(start_of_minute)) do
|
27
|
+
agg = EventAggregator.new(frequency: 30)
|
28
|
+
(Time.now.to_i..(Time.now.to_i + 119)).each do |time|
|
29
|
+
agg.put(Instrumental::Command.new("increment", "abc", 1, time, 1))
|
30
|
+
end
|
31
|
+
expect(agg.size).to eq(4)
|
32
|
+
(Time.now.to_i..(Time.now.to_i + 119)).step(30).map do |time|
|
33
|
+
expect(agg.values["abc:#{time}"]).to eq(Instrumental::Command.new("increment", "abc", 30, time, 30))
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should aggregate put operations to the same metric and last type wins" do
|
39
|
+
Timecop.freeze do
|
40
|
+
agg = EventAggregator.new(frequency: 6)
|
41
|
+
|
42
|
+
agg.put(Instrumental::Command.new("gauge", "hello", 3.0, Time.now, 1))
|
43
|
+
agg.put(Instrumental::Command.new("increment", "hello", 4.0, Time.now, 1))
|
44
|
+
|
45
|
+
expect(agg.size).to eq(1)
|
46
|
+
expect(agg.values.values.first).to eq(Instrumental::Command.new("increment",
|
47
|
+
"hello",
|
48
|
+
7.0,
|
49
|
+
agg.coerce_time(Time.now),
|
50
|
+
2))
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
$: << File.join(File.dirname(__FILE__), "..", "lib")
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'rubygems'
|
4
|
+
require 'bundler/setup'
|
5
|
+
Bundler.require(:default, :development)
|
6
|
+
|
4
7
|
require 'test_server'
|
5
8
|
|
6
9
|
RSpec.configure do |config|
|
@@ -8,6 +11,10 @@ RSpec.configure do |config|
|
|
8
11
|
config.before(:all) do
|
9
12
|
end
|
10
13
|
|
14
|
+
config.before(:each) do
|
15
|
+
Timecop.return
|
16
|
+
end
|
17
|
+
|
11
18
|
config.after(:all) do
|
12
19
|
end
|
13
20
|
|
data/spec/test_server.rb
CHANGED
@@ -77,15 +77,14 @@ class TestServer
|
|
77
77
|
end
|
78
78
|
rescue Exception => err
|
79
79
|
unless @stopping
|
80
|
-
puts "EXCEPTION:", err
|
80
|
+
puts "EXCEPTION:", err.inspect, err.backtrace.join("\n")
|
81
81
|
retry
|
82
82
|
end
|
83
83
|
end
|
84
84
|
end
|
85
85
|
# puts "server up"
|
86
86
|
rescue Errno::EADDRINUSE => err
|
87
|
-
puts "#{err.inspect} failed to get port #{@port}"
|
88
|
-
puts err.message
|
87
|
+
puts "#{err.inspect} failed to get port #{@port}", err.message
|
89
88
|
@port += 1
|
90
89
|
retry
|
91
90
|
end
|
@@ -97,7 +96,10 @@ class TestServer
|
|
97
96
|
def stop
|
98
97
|
@stopping = true
|
99
98
|
disconnect_all
|
100
|
-
|
99
|
+
if @main_thread
|
100
|
+
@main_thread.kill
|
101
|
+
@main_thread.join # wait for thread to die
|
102
|
+
end
|
101
103
|
@main_thread = nil
|
102
104
|
@client_threads.each { |thread| thread.kill }
|
103
105
|
@client_threads = []
|
@@ -105,6 +107,8 @@ class TestServer
|
|
105
107
|
@server.close if @server
|
106
108
|
rescue Exception => e
|
107
109
|
end
|
110
|
+
@server = nil
|
111
|
+
@stopping = false
|
108
112
|
end
|
109
113
|
|
110
114
|
def fd_for_socket(socket)
|
@@ -130,8 +134,11 @@ class TestServer
|
|
130
134
|
c.flush
|
131
135
|
c.close
|
132
136
|
rescue Exception => e
|
133
|
-
|
134
|
-
|
137
|
+
unless @stopping
|
138
|
+
puts "Error in TestServer#disconnect_all"
|
139
|
+
puts e.inspect
|
140
|
+
puts e.backtrace.join("\n")
|
141
|
+
end
|
135
142
|
end
|
136
143
|
}
|
137
144
|
@connections = []
|
metadata
CHANGED
@@ -1,18 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: instrumental_agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
|
9
|
-
- Kristopher Chambers
|
10
|
-
- Matthew Hassfurder
|
11
|
-
autorequire:
|
7
|
+
- Expected Behavior
|
8
|
+
autorequire:
|
12
9
|
bindir: bin
|
13
10
|
cert_chain: []
|
14
|
-
date:
|
11
|
+
date: 2020-10-08 00:00:00.000000000 Z
|
15
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: metrician
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
16
27
|
- !ruby/object:Gem::Dependency
|
17
28
|
name: pry
|
18
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -69,6 +80,20 @@ dependencies:
|
|
69
80
|
- - ">="
|
70
81
|
- !ruby/object:Gem::Version
|
71
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: timecop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
72
97
|
description: This agent supports Instrumental custom metric monitoring for Ruby applications.
|
73
98
|
It provides high-data reliability at high scale, without ever blocking your process
|
74
99
|
or causing an exception.
|
@@ -80,6 +105,7 @@ extra_rdoc_files: []
|
|
80
105
|
files:
|
81
106
|
- ".gitignore"
|
82
107
|
- ".rspec"
|
108
|
+
- ".ruby-version"
|
83
109
|
- ".travis.yml"
|
84
110
|
- CHANGELOG.md
|
85
111
|
- Gemfile
|
@@ -87,18 +113,21 @@ files:
|
|
87
113
|
- LICENSE
|
88
114
|
- README.md
|
89
115
|
- Rakefile
|
90
|
-
- certs/equifax.ca.pem
|
91
|
-
- certs/geotrust.ca.pem
|
92
|
-
- certs/rapidssl.ca.pem
|
93
116
|
- instrumental_agent.gemspec
|
94
117
|
- lib/instrumental/agent.rb
|
95
118
|
- lib/instrumental/capistrano.rb
|
119
|
+
- lib/instrumental/capistrano/capistrano2.rb
|
120
|
+
- lib/instrumental/capistrano/capistrano3.rake
|
121
|
+
- lib/instrumental/command_structs.rb
|
122
|
+
- lib/instrumental/event_aggregator.rb
|
96
123
|
- lib/instrumental/system_timer.rb
|
97
124
|
- lib/instrumental/version.rb
|
98
125
|
- lib/instrumental_agent.rb
|
99
126
|
- script/setup
|
100
127
|
- script/test
|
101
128
|
- spec/agent_spec.rb
|
129
|
+
- spec/command_struct_specs.rb
|
130
|
+
- spec/event_aggregator_spec.rb
|
102
131
|
- spec/spec_helper.rb
|
103
132
|
- spec/test.crt
|
104
133
|
- spec/test.csr
|
@@ -108,7 +137,7 @@ homepage: http://github.com/instrumental/instrumental_agent-ruby
|
|
108
137
|
licenses:
|
109
138
|
- MIT
|
110
139
|
metadata: {}
|
111
|
-
post_install_message:
|
140
|
+
post_install_message:
|
112
141
|
rdoc_options: []
|
113
142
|
require_paths:
|
114
143
|
- lib
|
@@ -116,20 +145,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
116
145
|
requirements:
|
117
146
|
- - ">="
|
118
147
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
148
|
+
version: 2.5.7
|
120
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
150
|
requirements:
|
122
|
-
- - "
|
151
|
+
- - ">"
|
123
152
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
153
|
+
version: 1.3.1
|
125
154
|
requirements: []
|
126
|
-
|
127
|
-
|
128
|
-
signing_key:
|
155
|
+
rubygems_version: 3.0.3
|
156
|
+
signing_key:
|
129
157
|
specification_version: 4
|
130
158
|
summary: Custom metric monitoring for Ruby applications via Instrumental
|
131
159
|
test_files:
|
132
160
|
- spec/agent_spec.rb
|
161
|
+
- spec/command_struct_specs.rb
|
162
|
+
- spec/event_aggregator_spec.rb
|
133
163
|
- spec/spec_helper.rb
|
134
164
|
- spec/test.crt
|
135
165
|
- spec/test.csr
|
data/certs/equifax.ca.pem
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
Certificate:
|
2
|
-
Data:
|
3
|
-
Version: 3 (0x2)
|
4
|
-
Serial Number: 903804111 (0x35def4cf)
|
5
|
-
Signature Algorithm: sha1WithRSAEncryption
|
6
|
-
Issuer: C=US, O=Equifax, OU=Equifax Secure Certificate Authority
|
7
|
-
Validity
|
8
|
-
Not Before: Aug 22 16:41:51 1998 GMT
|
9
|
-
Not After : Aug 22 16:41:51 2018 GMT
|
10
|
-
Subject: C=US, O=Equifax, OU=Equifax Secure Certificate Authority
|
11
|
-
Subject Public Key Info:
|
12
|
-
Public Key Algorithm: rsaEncryption
|
13
|
-
RSA Public Key: (1024 bit)
|
14
|
-
Modulus (1024 bit):
|
15
|
-
00:c1:5d:b1:58:67:08:62:ee:a0:9a:2d:1f:08:6d:
|
16
|
-
91:14:68:98:0a:1e:fe:da:04:6f:13:84:62:21:c3:
|
17
|
-
d1:7c:ce:9f:05:e0:b8:01:f0:4e:34:ec:e2:8a:95:
|
18
|
-
04:64:ac:f1:6b:53:5f:05:b3:cb:67:80:bf:42:02:
|
19
|
-
8e:fe:dd:01:09:ec:e1:00:14:4f:fc:fb:f0:0c:dd:
|
20
|
-
43:ba:5b:2b:e1:1f:80:70:99:15:57:93:16:f1:0f:
|
21
|
-
97:6a:b7:c2:68:23:1c:cc:4d:59:30:ac:51:1e:3b:
|
22
|
-
af:2b:d6:ee:63:45:7b:c5:d9:5f:50:d2:e3:50:0f:
|
23
|
-
3a:88:e7:bf:14:fd:e0:c7:b9
|
24
|
-
Exponent: 65537 (0x10001)
|
25
|
-
X509v3 extensions:
|
26
|
-
X509v3 CRL Distribution Points:
|
27
|
-
DirName:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority/CN=CRL1
|
28
|
-
|
29
|
-
X509v3 Private Key Usage Period:
|
30
|
-
Not After: Aug 22 16:41:51 2018 GMT
|
31
|
-
X509v3 Key Usage:
|
32
|
-
Certificate Sign, CRL Sign
|
33
|
-
X509v3 Authority Key Identifier:
|
34
|
-
keyid:48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4
|
35
|
-
|
36
|
-
X509v3 Subject Key Identifier:
|
37
|
-
48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4
|
38
|
-
X509v3 Basic Constraints:
|
39
|
-
CA:TRUE
|
40
|
-
1.2.840.113533.7.65.0:
|
41
|
-
0...V3.0c....
|
42
|
-
Signature Algorithm: sha1WithRSAEncryption
|
43
|
-
58:ce:29:ea:fc:f7:de:b5:ce:02:b9:17:b5:85:d1:b9:e3:e0:
|
44
|
-
95:cc:25:31:0d:00:a6:92:6e:7f:b6:92:63:9e:50:95:d1:9a:
|
45
|
-
6f:e4:11:de:63:85:6e:98:ee:a8:ff:5a:c8:d3:55:b2:66:71:
|
46
|
-
57:de:c0:21:eb:3d:2a:a7:23:49:01:04:86:42:7b:fc:ee:7f:
|
47
|
-
a2:16:52:b5:67:67:d3:40:db:3b:26:58:b2:28:77:3d:ae:14:
|
48
|
-
77:61:d6:fa:2a:66:27:a0:0d:fa:a7:73:5c:ea:70:f1:94:21:
|
49
|
-
65:44:5f:fa:fc:ef:29:68:a9:a2:87:79:ef:79:ef:4f:ac:07:
|
50
|
-
77:38
|
51
|
-
-----BEGIN CERTIFICATE-----
|
52
|
-
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
|
53
|
-
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
|
54
|
-
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
|
55
|
-
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
|
56
|
-
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
|
57
|
-
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
|
58
|
-
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
|
59
|
-
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
|
60
|
-
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
|
61
|
-
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
|
62
|
-
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
|
63
|
-
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
|
64
|
-
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
|
65
|
-
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
|
66
|
-
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
|
67
|
-
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
|
68
|
-
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
|
69
|
-
-----END CERTIFICATE-----
|
data/certs/geotrust.ca.pem
DELETED
@@ -1,80 +0,0 @@
|
|
1
|
-
Certificate:
|
2
|
-
Data:
|
3
|
-
Version: 3 (0x2)
|
4
|
-
Serial Number: 1227750 (0x12bbe6)
|
5
|
-
Signature Algorithm: sha1WithRSAEncryption
|
6
|
-
Issuer: C=US, O=Equifax, OU=Equifax Secure Certificate Authority
|
7
|
-
Validity
|
8
|
-
Not Before: May 21 04:00:00 2002 GMT
|
9
|
-
Not After : Aug 21 04:00:00 2018 GMT
|
10
|
-
Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
|
11
|
-
Subject Public Key Info:
|
12
|
-
Public Key Algorithm: rsaEncryption
|
13
|
-
RSA Public Key: (2048 bit)
|
14
|
-
Modulus (2048 bit):
|
15
|
-
00:da:cc:18:63:30:fd:f4:17:23:1a:56:7e:5b:df:
|
16
|
-
3c:6c:38:e4:71:b7:78:91:d4:bc:a1:d8:4c:f8:a8:
|
17
|
-
43:b6:03:e9:4d:21:07:08:88:da:58:2f:66:39:29:
|
18
|
-
bd:05:78:8b:9d:38:e8:05:b7:6a:7e:71:a4:e6:c4:
|
19
|
-
60:a6:b0:ef:80:e4:89:28:0f:9e:25:d6:ed:83:f3:
|
20
|
-
ad:a6:91:c7:98:c9:42:18:35:14:9d:ad:98:46:92:
|
21
|
-
2e:4f:ca:f1:87:43:c1:16:95:57:2d:50:ef:89:2d:
|
22
|
-
80:7a:57:ad:f2:ee:5f:6b:d2:00:8d:b9:14:f8:14:
|
23
|
-
15:35:d9:c0:46:a3:7b:72:c8:91:bf:c9:55:2b:cd:
|
24
|
-
d0:97:3e:9c:26:64:cc:df:ce:83:19:71:ca:4e:e6:
|
25
|
-
d4:d5:7b:a9:19:cd:55:de:c8:ec:d2:5e:38:53:e5:
|
26
|
-
5c:4f:8c:2d:fe:50:23:36:fc:66:e6:cb:8e:a4:39:
|
27
|
-
19:00:b7:95:02:39:91:0b:0e:fe:38:2e:d1:1d:05:
|
28
|
-
9a:f6:4d:3e:6f:0f:07:1d:af:2c:1e:8f:60:39:e2:
|
29
|
-
fa:36:53:13:39:d4:5e:26:2b:db:3d:a8:14:bd:32:
|
30
|
-
eb:18:03:28:52:04:71:e5:ab:33:3d:e1:38:bb:07:
|
31
|
-
36:84:62:9c:79:ea:16:30:f4:5f:c0:2b:e8:71:6b:
|
32
|
-
e4:f9
|
33
|
-
Exponent: 65537 (0x10001)
|
34
|
-
X509v3 extensions:
|
35
|
-
X509v3 Authority Key Identifier:
|
36
|
-
keyid:48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4
|
37
|
-
|
38
|
-
X509v3 Subject Key Identifier:
|
39
|
-
C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
|
40
|
-
X509v3 Basic Constraints: critical
|
41
|
-
CA:TRUE
|
42
|
-
X509v3 Key Usage: critical
|
43
|
-
Certificate Sign, CRL Sign
|
44
|
-
X509v3 CRL Distribution Points:
|
45
|
-
URI:http://crl.geotrust.com/crls/secureca.crl
|
46
|
-
|
47
|
-
X509v3 Certificate Policies:
|
48
|
-
Policy: X509v3 Any Policy
|
49
|
-
CPS: https://www.geotrust.com/resources/repository
|
50
|
-
|
51
|
-
Signature Algorithm: sha1WithRSAEncryption
|
52
|
-
76:e1:12:6e:4e:4b:16:12:86:30:06:b2:81:08:cf:f0:08:c7:
|
53
|
-
c7:71:7e:66:ee:c2:ed:d4:3b:1f:ff:f0:f0:c8:4e:d6:43:38:
|
54
|
-
b0:b9:30:7d:18:d0:55:83:a2:6a:cb:36:11:9c:e8:48:66:a3:
|
55
|
-
6d:7f:b8:13:d4:47:fe:8b:5a:5c:73:fc:ae:d9:1b:32:19:38:
|
56
|
-
ab:97:34:14:aa:96:d2:eb:a3:1c:14:08:49:b6:bb:e5:91:ef:
|
57
|
-
83:36:eb:1d:56:6f:ca:da:bc:73:63:90:e4:7f:7b:3e:22:cb:
|
58
|
-
3d:07:ed:5f:38:74:9c:e3:03:50:4e:a1:af:98:ee:61:f2:84:
|
59
|
-
3f:12
|
60
|
-
-----BEGIN CERTIFICATE-----
|
61
|
-
MIIDfTCCAuagAwIBAgIDErvmMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT
|
62
|
-
MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
|
63
|
-
aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDIwNTIxMDQwMDAwWhcNMTgwODIxMDQwMDAw
|
64
|
-
WjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UE
|
65
|
-
AxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
66
|
-
CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9m
|
67
|
-
OSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIu
|
68
|
-
T8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6c
|
69
|
-
JmTM386DGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmR
|
70
|
-
Cw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5asz
|
71
|
-
PeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo4HwMIHtMB8GA1UdIwQYMBaAFEjm
|
72
|
-
aPkr0rKV10fYIyAQTzOYkJ/UMB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrM
|
73
|
-
TjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+g
|
74
|
-
LaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDBO
|
75
|
-
BgNVHSAERzBFMEMGBFUdIAAwOzA5BggrBgEFBQcCARYtaHR0cHM6Ly93d3cuZ2Vv
|
76
|
-
dHJ1c3QuY29tL3Jlc291cmNlcy9yZXBvc2l0b3J5MA0GCSqGSIb3DQEBBQUAA4GB
|
77
|
-
AHbhEm5OSxYShjAGsoEIz/AIx8dxfmbuwu3UOx//8PDITtZDOLC5MH0Y0FWDomrL
|
78
|
-
NhGc6Ehmo21/uBPUR/6LWlxz/K7ZGzIZOKuXNBSqltLroxwUCEm2u+WR74M26x1W
|
79
|
-
b8ravHNjkOR/ez4iyz0H7V84dJzjA1BOoa+Y7mHyhD8S
|
80
|
-
-----END CERTIFICATE-----
|
data/certs/rapidssl.ca.pem
DELETED
@@ -1,94 +0,0 @@
|
|
1
|
-
Certificate:
|
2
|
-
Data:
|
3
|
-
Version: 3 (0x2)
|
4
|
-
Serial Number: 146039 (0x23a77)
|
5
|
-
Signature Algorithm: sha256WithRSAEncryption
|
6
|
-
Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
|
7
|
-
Validity
|
8
|
-
Not Before: Aug 29 21:39:32 2014 GMT
|
9
|
-
Not After : May 20 21:39:32 2022 GMT
|
10
|
-
Subject: C=US, O=GeoTrust Inc., CN=RapidSSL SHA256 CA - G3
|
11
|
-
Subject Public Key Info:
|
12
|
-
Public Key Algorithm: rsaEncryption
|
13
|
-
RSA Public Key: (2048 bit)
|
14
|
-
Modulus (2048 bit):
|
15
|
-
00:af:54:9b:d9:58:5d:1e:2c:56:c6:d5:e8:7f:f4:
|
16
|
-
7d:16:03:ff:d0:8b:5a:e4:8e:a7:dd:54:2e:d4:04:
|
17
|
-
c0:5d:98:9c:8d:90:0f:bc:10:65:5f:da:9a:d6:44:
|
18
|
-
7c:c0:9f:b5:e9:4a:8c:0b:06:43:04:bb:f4:96:e2:
|
19
|
-
26:f6:61:01:91:66:31:22:c3:34:34:5f:3f:3f:91:
|
20
|
-
2f:44:5f:dc:c7:14:b6:03:9f:86:4b:0e:a3:ff:a0:
|
21
|
-
80:02:83:c3:d3:1f:69:52:d6:9d:64:0f:c9:83:e7:
|
22
|
-
1b:c4:70:ac:94:e7:c3:a4:6a:2c:bd:b8:9e:69:d8:
|
23
|
-
be:0a:8f:16:63:5a:68:71:80:7b:30:de:15:04:bf:
|
24
|
-
cc:d3:bf:3e:48:05:55:7a:b3:d7:10:0c:03:fc:9b:
|
25
|
-
fd:08:a7:8c:8c:db:a7:8e:f1:1e:63:dc:b3:01:2f:
|
26
|
-
7f:af:57:c3:3c:48:a7:83:68:21:a7:2f:e7:a7:3f:
|
27
|
-
f0:b5:0c:fc:f5:84:d1:53:bc:0e:72:4f:60:0c:42:
|
28
|
-
b8:98:ad:19:88:57:d7:04:ec:87:bf:7e:87:4e:a3:
|
29
|
-
21:f9:53:fd:36:98:48:8d:d6:f8:bb:48:f2:29:c8:
|
30
|
-
64:d1:cc:54:48:53:8b:af:b7:65:1e:bf:29:33:29:
|
31
|
-
d9:29:60:48:f8:ff:91:bc:57:58:e5:35:2e:bb:69:
|
32
|
-
b6:59
|
33
|
-
Exponent: 65537 (0x10001)
|
34
|
-
X509v3 extensions:
|
35
|
-
X509v3 Authority Key Identifier:
|
36
|
-
keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E
|
37
|
-
|
38
|
-
X509v3 Subject Key Identifier:
|
39
|
-
C3:9C:F3:FC:D3:46:08:34:BB:CE:46:7F:A0:7C:5B:F3:E2:08:CB:59
|
40
|
-
X509v3 Basic Constraints: critical
|
41
|
-
CA:TRUE, pathlen:0
|
42
|
-
X509v3 Key Usage: critical
|
43
|
-
Certificate Sign, CRL Sign
|
44
|
-
X509v3 CRL Distribution Points:
|
45
|
-
URI:http://g.symcb.com/crls/gtglobal.crl
|
46
|
-
|
47
|
-
Authority Information Access:
|
48
|
-
OCSP - URI:http://g.symcd.com
|
49
|
-
|
50
|
-
X509v3 Certificate Policies:
|
51
|
-
Policy: 2.16.840.1.113733.1.7.54
|
52
|
-
CPS: http://www.geotrust.com/resources/cps
|
53
|
-
|
54
|
-
Signature Algorithm: sha256WithRSAEncryption
|
55
|
-
a3:58:1e:c6:43:32:ac:ac:2f:93:78:b7:ea:ae:54:40:47:2d:
|
56
|
-
7e:78:8d:50:f6:f8:66:ac:d6:4f:73:d6:44:ef:af:0b:cc:5b:
|
57
|
-
c1:f4:4f:9a:8f:49:7e:60:af:c2:27:c7:16:f1:fb:93:81:90:
|
58
|
-
a9:7c:ef:6f:7e:6e:45:94:16:84:bd:ec:49:f1:c4:0e:f4:af:
|
59
|
-
04:59:83:87:0f:2c:3b:97:c3:5a:12:9b:7b:04:35:7b:a3:95:
|
60
|
-
33:08:7b:93:71:22:42:b3:a9:d9:6f:4f:81:92:fc:07:b6:79:
|
61
|
-
bc:84:4a:9d:77:09:f1:c5:89:f2:f0:b4:9c:54:aa:12:7b:0d:
|
62
|
-
ba:4f:ef:93:19:ec:ef:7d:4e:61:a3:8e:76:9c:59:cf:8c:94:
|
63
|
-
b1:84:97:f7:1a:b9:07:b8:b2:c6:4f:13:79:db:bf:4f:51:1b:
|
64
|
-
7f:69:0d:51:2a:c1:d6:15:ff:37:51:34:65:51:f4:1e:be:38:
|
65
|
-
6a:ec:0e:ab:bf:3d:7b:39:05:7b:f4:f3:fb:1a:a1:d0:c8:7e:
|
66
|
-
4e:64:8d:cd:8c:61:55:90:fe:3a:ca:5d:25:0f:f8:1d:a3:4a:
|
67
|
-
74:56:4f:1a:55:40:70:75:25:a6:33:2e:ba:4b:a5:5d:53:9a:
|
68
|
-
0d:30:e1:8d:5f:61:2c:af:cc:ef:b0:99:a1:80:ff:0b:f2:62:
|
69
|
-
4c:70:26:98
|
70
|
-
-----BEGIN CERTIFICATE-----
|
71
|
-
MIIEJTCCAw2gAwIBAgIDAjp3MA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT
|
72
|
-
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
|
73
|
-
YWwgQ0EwHhcNMTQwODI5MjEzOTMyWhcNMjIwNTIwMjEzOTMyWjBHMQswCQYDVQQG
|
74
|
-
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXUmFwaWRTU0wg
|
75
|
-
U0hBMjU2IENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCv
|
76
|
-
VJvZWF0eLFbG1eh/9H0WA//Qi1rkjqfdVC7UBMBdmJyNkA+8EGVf2prWRHzAn7Xp
|
77
|
-
SowLBkMEu/SW4ib2YQGRZjEiwzQ0Xz8/kS9EX9zHFLYDn4ZLDqP/oIACg8PTH2lS
|
78
|
-
1p1kD8mD5xvEcKyU58Okaiy9uJ5p2L4KjxZjWmhxgHsw3hUEv8zTvz5IBVV6s9cQ
|
79
|
-
DAP8m/0Ip4yM26eO8R5j3LMBL3+vV8M8SKeDaCGnL+enP/C1DPz1hNFTvA5yT2AM
|
80
|
-
QriYrRmIV9cE7Ie/fodOoyH5U/02mEiN1vi7SPIpyGTRzFRIU4uvt2UevykzKdkp
|
81
|
-
YEj4/5G8V1jlNS67abZZAgMBAAGjggEdMIIBGTAfBgNVHSMEGDAWgBTAephojYn7
|
82
|
-
qwVkDBF9qn1luMrMTjAdBgNVHQ4EFgQUw5zz/NNGCDS7zkZ/oHxb8+IIy1kwEgYD
|
83
|
-
VR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwNQYDVR0fBC4wLDAqoCig
|
84
|
-
JoYkaHR0cDovL2cuc3ltY2IuY29tL2NybHMvZ3RnbG9iYWwuY3JsMC4GCCsGAQUF
|
85
|
-
BwEBBCIwIDAeBggrBgEFBQcwAYYSaHR0cDovL2cuc3ltY2QuY29tMEwGA1UdIARF
|
86
|
-
MEMwQQYKYIZIAYb4RQEHNjAzMDEGCCsGAQUFBwIBFiVodHRwOi8vd3d3Lmdlb3Ry
|
87
|
-
dXN0LmNvbS9yZXNvdXJjZXMvY3BzMA0GCSqGSIb3DQEBCwUAA4IBAQCjWB7GQzKs
|
88
|
-
rC+TeLfqrlRARy1+eI1Q9vhmrNZPc9ZE768LzFvB9E+aj0l+YK/CJ8cW8fuTgZCp
|
89
|
-
fO9vfm5FlBaEvexJ8cQO9K8EWYOHDyw7l8NaEpt7BDV7o5UzCHuTcSJCs6nZb0+B
|
90
|
-
kvwHtnm8hEqddwnxxYny8LScVKoSew26T++TGezvfU5ho452nFnPjJSxhJf3GrkH
|
91
|
-
uLLGTxN5279PURt/aQ1RKsHWFf83UTRlUfQevjhq7A6rvz17OQV79PP7GqHQyH5O
|
92
|
-
ZI3NjGFVkP46yl0lD/gdo0p0Vk8aVUBwdSWmMy66S6VdU5oNMOGNX2Esr8zvsJmh
|
93
|
-
gP8L8mJMcCaY
|
94
|
-
-----END CERTIFICATE-----
|