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.
@@ -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
@@ -1,6 +1,9 @@
1
1
  $: << File.join(File.dirname(__FILE__), "..", "lib")
2
2
 
3
- require 'instrumental_agent'
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
 
@@ -77,15 +77,14 @@ class TestServer
77
77
  end
78
78
  rescue Exception => err
79
79
  unless @stopping
80
- puts "EXCEPTION:", err unless @stopping
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
- @main_thread.kill if @main_thread
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
- puts e.message
134
- puts e.backtrace.join("\n")
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: 1.0.1
4
+ version: 3.0.0.beta
5
5
  platform: ruby
6
6
  authors:
7
- - Elijah Miller
8
- - Christopher Zelenak
9
- - Kristopher Chambers
10
- - Matthew Hassfurder
11
- autorequire:
7
+ - Expected Behavior
8
+ autorequire:
12
9
  bindir: bin
13
10
  cert_chain: []
14
- date: 2016-07-12 00:00:00.000000000 Z
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: '0'
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: '0'
153
+ version: 1.3.1
125
154
  requirements: []
126
- rubyforge_project:
127
- rubygems_version: 2.5.1
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
@@ -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-----
@@ -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-----
@@ -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-----