instrumental_agent 1.0.1 → 3.0.0.beta
Sign up to get free protection for your applications and to get access to all the features.
- 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-----
|