async-io 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: bb235e6d1285f39304e2feaaff9a1d2b7d37d237600b205438509d3b96bb9f9e
4
- data.tar.gz: a84f31c19838358f8cd486659acc2bb76d6ab4f87f1f6fcb16506e5e6649231f
2
+ SHA1:
3
+ metadata.gz: 5debc255f53c70939e2e84ebe18178b1b9fe73db
4
+ data.tar.gz: c0b4a2a8b43454b97317c3dd46476cacb8dcf010
5
5
  SHA512:
6
- metadata.gz: 2aac0ebf53a9a4535747dec63f2f1864d4c57f043cfb9b3c1498a0e7f647d8b42fbe2fb493810d8e13990d79b42576f227bf6131918e899b41b101bd1a5e6c30
7
- data.tar.gz: df5224b997090982c11c3ed2c3b52386f2e86b6416bfb537d32140b189e101ac7e7f6504bc224fd4ef8e122f65429ef1c3bcb3c8d8a15983c1dfed661fabc65b
6
+ metadata.gz: da03e21632e9889d111919b083572c5eba488358ca3c3379e23b0ed6d487c4c1d8b2a9846766b0f047bb5e00aba23fea5ebe6ee3d720f651c234d0addd72b3cb
7
+ data.tar.gz: 6ddcdb0d5bd129818a9cb638510b9008ab55488d9439ec1c43493cae09727e79fadf6ada416ae386a560fc6527351f99d3fb66c00f0e2c942b45556afc8d73be
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.has_rdoc = "yard"
18
18
 
19
19
  spec.add_dependency "async", "~> 1.0"
20
- spec.add_development_dependency "async-rspec", "~> 1.1"
20
+ spec.add_development_dependency "async-rspec", "~> 1.2"
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 1.13"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
@@ -94,9 +94,9 @@ module Async
94
94
  address.protocol
95
95
  end
96
96
 
97
- def bind
98
- yield specification
99
- end
97
+ # def bind
98
+ # yield specification
99
+ # end
100
100
 
101
101
  def accept(&block)
102
102
  backlog = self.options.fetch(:backlog, Socket::SOMAXCONN)
@@ -107,9 +107,9 @@ module Async
107
107
  end
108
108
  end
109
109
 
110
- def connect
111
- yield specification
112
- end
110
+ # def connect
111
+ # yield specification
112
+ # end
113
113
  end
114
114
 
115
115
  # This class will open and close the socket automatically.
@@ -119,11 +119,11 @@ module Async
119
119
  end
120
120
 
121
121
  def bind(&block)
122
- Socket.bind(specification, **options, &block)
122
+ Socket.bind(address, **options, &block)
123
123
  end
124
124
 
125
125
  def connect(&block)
126
- Socket.connect(specification, &block)
126
+ Socket.connect(address, &block)
127
127
  end
128
128
  end
129
129
 
@@ -143,6 +143,14 @@ module Async
143
143
  end
144
144
 
145
145
  class SecureEndpoint < Endpoint
146
+ def address
147
+ specification.address
148
+ end
149
+
150
+ def hostname
151
+ options[:hostname]
152
+ end
153
+
146
154
  def params
147
155
  options[:ssl_params]
148
156
  end
@@ -174,6 +182,11 @@ module Async
174
182
  specification.connect do |socket|
175
183
  ssl_socket = SSLSocket.connect_socket(socket, context)
176
184
 
185
+ # Used for SNI:
186
+ if hostname = self.hostname
187
+ ssl_socket.hostname = hostname
188
+ end
189
+
177
190
  ssl_socket.connect
178
191
 
179
192
  yield ssl_socket
@@ -41,8 +41,9 @@ module Async
41
41
  @io.to_io.remote_address
42
42
  end
43
43
 
44
+ # This method/implementation might change in the future, don't depend on it :)
44
45
  def self.connect_socket(socket, context)
45
- io = wrapped_klass.new(socket.io, context)
46
+ io = wrapped_klass.new(socket.to_io, context)
46
47
 
47
48
  # This ensures that when the internal IO is closed, it also closes the internal socket:
48
49
  io.sync_close = true
@@ -20,6 +20,6 @@
20
20
 
21
21
  module Async
22
22
  module IO
23
- VERSION = "1.1.0"
23
+ VERSION = "1.2.0"
24
24
  end
25
25
  end
@@ -22,8 +22,13 @@ require 'async/io'
22
22
  require 'benchmark'
23
23
 
24
24
  RSpec.describe "echo client/server" do
25
+ # macOS has a rediculously hard time to do this.
26
+ # sudo sysctl -w net.inet.ip.portrange.first=10000
27
+ # sudo sysctl -w net.inet.ip.portrange.hifirst=10000
28
+ # Probably due to the use of select.
29
+
25
30
  let(:repeats) {10000}
26
- let(:server_address) {Async::IO::Address.tcp('0.0.0.0', 9000)}
31
+ let(:server_address) {Async::IO::Address.tcp('0.0.0.0', 10102)}
27
32
 
28
33
  def echo_server(server_address)
29
34
  Async::Reactor.run do |task|
@@ -70,8 +75,8 @@ RSpec.describe "echo client/server" do
70
75
 
71
76
  responses << message
72
77
  end
73
- rescue Errno::ECONNREFUSED
74
- puts "Connection refused..."
78
+ rescue Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::ETIMEDOUT, Errno::EADDRINUSE
79
+ puts "#{data}: #{$!}..."
75
80
  # If the connection was refused, it means the server probably can't accept connections any faster than it currently is, so we simply retry.
76
81
  retry
77
82
  end
@@ -23,7 +23,7 @@ require 'async/io'
23
23
  RSpec.describe "echo client/server" do
24
24
  include_context Async::RSpec::Reactor
25
25
 
26
- let(:server_address) {Async::IO::Address.tcp('0.0.0.0', 9000)}
26
+ let(:server_address) {Async::IO::Address.tcp('0.0.0.0', 9002)}
27
27
 
28
28
  def echo_server(server_address)
29
29
  Async::Reactor.run do |task|
@@ -20,26 +20,16 @@
20
20
 
21
21
  require 'async/io/ssl_socket'
22
22
 
23
+ require 'async/rspec/ssl'
24
+
23
25
  RSpec.describe Async::Reactor do
24
26
  include_context Async::RSpec::Leaks
25
-
26
- let(:ssl_client_params) do
27
- {
28
- ca_file: File.expand_path(certificate_authority_key_file, __dir__)
29
- }
30
- end
31
-
32
- let(:ssl_server_params) do
33
- {
34
- cert: OpenSSL::X509::Certificate.new(File.read(server_cert_file)),
35
- key: OpenSSL::PKey::RSA.new(File.read(server_key_file))
36
- }
37
- end
27
+ include_context Async::RSpec::SSL::VerifiedContexts
38
28
 
39
29
  # Shared port for localhost network tests.
40
30
  let(:endpoint) {Async::IO::Endpoint.tcp("localhost", 6779, reuse_port: true)}
41
- let(:server_endpoint) {Async::IO::SecureEndpoint.new(endpoint, ssl_params: ssl_server_params)}
42
- let(:client_endpoint) {Async::IO::SecureEndpoint.new(endpoint, ssl_params: ssl_client_params)}
31
+ let(:server_endpoint) {Async::IO::SecureEndpoint.new(endpoint, ssl_context: server_context)}
32
+ let(:client_endpoint) {Async::IO::SecureEndpoint.new(endpoint, ssl_context: client_context)}
43
33
 
44
34
  let(:data) {"The quick brown fox jumped over the lazy dog."}
45
35
 
@@ -67,9 +57,7 @@ RSpec.describe Async::Reactor do
67
57
 
68
58
  describe "#connect" do
69
59
  context "with a trusted certificate" do
70
- let(:certificate_authority_key_file) {File.expand_path("ssl/trusted-ca.crt", __dir__)}
71
- let(:server_cert_file) {File.expand_path("ssl/trusted-cert.crt", __dir__)}
72
- let(:server_key_file) {File.expand_path("ssl/trusted-cert.key", __dir__)}
60
+ include_context Async::RSpec::SSL::ValidCertificate
73
61
 
74
62
  it "should start server and send data" do
75
63
  subject.async do
@@ -82,9 +70,7 @@ RSpec.describe Async::Reactor do
82
70
  end
83
71
 
84
72
  context "with an untrusted certificate" do
85
- let(:certificate_authority_key_file) {File.expand_path("ssl/trusted-ca.crt", __dir__)}
86
- let(:server_cert_file) {File.expand_path("ssl/untrusted-cert.crt", __dir__)}
87
- let(:server_key_file) {File.expand_path("ssl/untrusted-cert.key", __dir__)}
73
+ include_context Async::RSpec::SSL::InvalidCertificate
88
74
 
89
75
  it "should fail to connect" do
90
76
  subject.async do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-io
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-01 00:00:00.000000000 Z
11
+ date: 2018-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.1'
33
+ version: '1.2'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.1'
40
+ version: '1.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -113,15 +113,6 @@ files:
113
113
  - spec/async/io/generic_spec.rb
114
114
  - spec/async/io/protocol/line_spec.rb
115
115
  - spec/async/io/socket_spec.rb
116
- - spec/async/io/ssl/gen_certs.sh
117
- - spec/async/io/ssl/trusted-ca.crt
118
- - spec/async/io/ssl/trusted-ca.key
119
- - spec/async/io/ssl/trusted-cert.crt
120
- - spec/async/io/ssl/trusted-cert.key
121
- - spec/async/io/ssl/untrusted-ca.crt
122
- - spec/async/io/ssl/untrusted-ca.key
123
- - spec/async/io/ssl/untrusted-cert.crt
124
- - spec/async/io/ssl/untrusted-cert.key
125
116
  - spec/async/io/ssl_socket_spec.rb
126
117
  - spec/async/io/stream_spec.rb
127
118
  - spec/async/io/tcp_socket_spec.rb
@@ -148,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
139
  version: '0'
149
140
  requirements: []
150
141
  rubyforge_project:
151
- rubygems_version: 2.7.2
142
+ rubygems_version: 2.6.12
152
143
  signing_key:
153
144
  specification_version: 4
154
145
  summary: Provides support for asynchonous TCP, UDP, UNIX and SSL sockets.
@@ -159,15 +150,6 @@ test_files:
159
150
  - spec/async/io/generic_spec.rb
160
151
  - spec/async/io/protocol/line_spec.rb
161
152
  - spec/async/io/socket_spec.rb
162
- - spec/async/io/ssl/gen_certs.sh
163
- - spec/async/io/ssl/trusted-ca.crt
164
- - spec/async/io/ssl/trusted-ca.key
165
- - spec/async/io/ssl/trusted-cert.crt
166
- - spec/async/io/ssl/trusted-cert.key
167
- - spec/async/io/ssl/untrusted-ca.crt
168
- - spec/async/io/ssl/untrusted-ca.key
169
- - spec/async/io/ssl/untrusted-cert.crt
170
- - spec/async/io/ssl/untrusted-cert.key
171
153
  - spec/async/io/ssl_socket_spec.rb
172
154
  - spec/async/io/stream_spec.rb
173
155
  - spec/async/io/tcp_socket_spec.rb
@@ -1,31 +0,0 @@
1
- #!/bin/sh
2
-
3
- get_subject() {
4
- if [ "$1" = "trusted" ]
5
- then
6
- echo "/C=US/ST=California/L=San Francisco/O=Celluloid/OU=Socketry/CN=localhost"
7
- else
8
- echo "/C=XX/ST=Untrusted/L=Evilville/O=Evil Hacker/OU=Attack Department/CN=localhost"
9
- fi
10
- }
11
-
12
- # Generate two CAs: one to be considered trusted, and one that's untrusted
13
- for type in trusted untrusted; do
14
- rm -rf ./demoCA
15
- mkdir -p ./demoCA
16
- mkdir -p ./demoCA/certs
17
- mkdir -p ./demoCA/crl
18
- mkdir -p ./demoCA/newcerts
19
- mkdir -p ./demoCA/private
20
- touch ./demoCA/index.txt
21
-
22
- openssl genrsa -out ${type}-ca.key 2048
23
- openssl req -new -x509 -days 12500 -key ${type}-ca.key -out ${type}-ca.crt -subj "$(get_subject $type)"
24
- openssl x509 -in ${type}-ca.crt -noout -next_serial -out ./demoCA/serial
25
-
26
- openssl req -newkey rsa:2048 -keyout ${type}-cert.key -nodes -out ${type}-cert.req -subj "$(get_subject $type)"
27
- openssl ca -days 12500 -cert ${type}-ca.crt -keyfile ${type}-ca.key -out ${type}-cert.crt -infiles ${type}-cert.req
28
- rm ${type}-cert.req
29
- done
30
-
31
- rm -rf ./demoCA
@@ -1,25 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIESjCCAzKgAwIBAgIJAPCsnL6/gRaRMA0GCSqGSIb3DQEBBQUAMHUxCzAJBgNV
3
- BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
4
- c2NvMRIwEAYDVQQKEwlDZWxsdWxvaWQxETAPBgNVBAsTCFNvY2tldHJ5MRIwEAYD
5
- VQQDEwlsb2NhbGhvc3QwIBcNMTYwOTEwMTY0OTIwWhgPMjA1MDEyMDExNjQ5MjBa
6
- MHUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
7
- YW4gRnJhbmNpc2NvMRIwEAYDVQQKEwlDZWxsdWxvaWQxETAPBgNVBAsTCFNvY2tl
8
- dHJ5MRIwEAYDVQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
9
- ggEKAoIBAQDAXdhY1LlZrTBTxecJzNvYYKXgp2ya6Qqvb8e+knhw7674kM5EB5Qw
10
- 3dxt1msdgzfqlwBQUIJSUtsi2jwcVXlHs9c6gePkiZJMCNag5fyi/o2kQmlOQFR8
11
- N9uOhd4YThZRD7/Aoa04FMmIPeNYtVnkx8lbZO5MWN3RQ+ppovYhP/d/IWHUpXs1
12
- J/H4fZxucsDMKo5zX36VuEdFAyIgxZ8lw1/dp3BwAl+82Pcs+GSwPFawAcvVKkOt
13
- OwE9Edw8iNlKWjgcwGSfNHwJoyr10YK/f90CzdZbJGofEZbHxueAT1bftEqHf4zv
14
- vs5mp9TkkQh0UuQpwalp050In7lrkI9TAgMBAAGjgdowgdcwHQYDVR0OBBYEFGh2
15
- jJPd4xrU5D+QV4WiErIWUWbiMIGnBgNVHSMEgZ8wgZyAFGh2jJPd4xrU5D+QV4Wi
16
- ErIWUWbioXmkdzB1MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW
17
- MBQGA1UEBxMNU2FuIEZyYW5jaXNjbzESMBAGA1UEChMJQ2VsbHVsb2lkMREwDwYD
18
- VQQLEwhTb2NrZXRyeTESMBAGA1UEAxMJbG9jYWxob3N0ggkA8Kycvr+BFpEwDAYD
19
- VR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAERiepnBTfYOto5yNXP2um6MI
20
- R8ly66ImTixYpn3PtToPrkQ4Smgp/B7E2P6uFkFyrx8d5yd+r42yZ07ZJXM/qXg1
21
- xggtpls+LeqQi4b6FXoJpSRmyG2cbd0oznOnR3ebrBHd/gP13H3sc0FQjrQ6ERJh
22
- kWffK2pka3Q9KGJc2ygCYTpG4wPNRqMohAT49CqwdrbOn43Nnt/tQKu6yluKCM0h
23
- 1tOv9RFlAJhhbKyB9uFDPGD9TNbyk4wHCw9CviIg5Ao1MWUS9uBR+pMESpt9ewQz
24
- H/Y5nPIDYF9i2zekavtbgibjMEQ1N2Qs2y/2Y5A5YiihfN8iWwBMW4QJx8QLBg==
25
- -----END CERTIFICATE-----
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEogIBAAKCAQEAwF3YWNS5Wa0wU8XnCczb2GCl4KdsmukKr2/HvpJ4cO+u+JDO
3
- RAeUMN3cbdZrHYM36pcAUFCCUlLbIto8HFV5R7PXOoHj5ImSTAjWoOX8ov6NpEJp
4
- TkBUfDfbjoXeGE4WUQ+/wKGtOBTJiD3jWLVZ5MfJW2TuTFjd0UPqaaL2IT/3fyFh
5
- 1KV7NSfx+H2cbnLAzCqOc19+lbhHRQMiIMWfJcNf3adwcAJfvNj3LPhksDxWsAHL
6
- 1SpDrTsBPRHcPIjZSlo4HMBknzR8CaMq9dGCv3/dAs3WWyRqHxGWx8bngE9W37RK
7
- h3+M777OZqfU5JEIdFLkKcGpadOdCJ+5a5CPUwIDAQABAoIBACmvrISDhK8UQtbE
8
- mi6bgEDBoPCwF27ydWhTNtvrbcI7jpU6/Bft9IUqbuw2fPvmRaXGl0DQUY15exdw
9
- Z3pUY3XQWSHKqBIMZfGoMKqpbDf+Jb+kzKEye5x3llKqW9i0g02JtioOXzU5+/pU
10
- PwIoOpTDXrU5iBJvZ5JDv3ao4+GMVDKOlxsmMqW0rq4gDm48tZTyQpXlvAx+adXb
11
- YF8n1KQ6Nx6lDinCVz9MjBdQ3vNrN/VMaVIIl0knG2oMmNRvf9xDasLYGkuLbj+E
12
- 0O2WjzgopBsj7Qq59u7w262qvYqfMkVx1lGUHmITVAXso+b5l/RThbw3MoJYedLy
13
- GPzC1eECgYEA+wcRjIPNkEd/+UoiaHx3EKi6faKtwq2DStkXjODYk/viVwhG+5bV
14
- blXf0gjv79jleYn1LAu0FoolYVMur5aHzdJBvjWZl6Uq649xe6CwaGKZikWiMe6I
15
- 4TRkSqxKjahJcEb4VUjAWL/pruBXOUkF1SQ9GRkIdXCwfzYhA0BTeCsCgYEAxC1Q
16
- OhVxiSi4XiacKEJkmbiDN6O7inoGp3rcE6wBBQipDwTRLJZBXauwzRslpzMWMvo0
17
- TjHnWn6A3e/fKCjUAu3jWq2GrS+UE7kMXSDdPW2Fl8fzAKGxY1XAwPng4EpdRd5Y
18
- 5LVGin10wZ/mOURF0jEy2XRaMeP1E3MtRePJyXkCgYB4SonZSOu/wNONdT4JzeMM
19
- g55iSAt2J8mrm15Srwh52ZE73YaOV1hNeC86Kfg4ejp0xGxNQAp7ZpXFDqRnlf3b
20
- 3m6MpIjGh2qK2QErmfQPAXjMLtQrkz/ak02gDvHm8gbHG+syixtJLCXiHDUQCXMX
21
- ETeKCFnqVSbuvtSRB0k4YwKBgGjq+x81XLVIS+I+sAFwELGN1s+pB6H1xR1JPe5f
22
- bWQtz4yyvNQlv+vC6RmozShw0AyPd+3iDqN9SJppsWWfAFRYueFDMOXqrj0mGJCu
23
- BOTXcD1OuI277Ez+DcqnWTdbTisR0WTv9jwXAJyVUeGKu/TATzuxWJOaIPY4ARyB
24
- yOexAoGAL75WiMSKtvZUAqTchEJxmhOuhHSaLF+b2VNnI4NCHK1aVrvH5jErPNIO
25
- NTSj4GBr8wjaC0Zhvu6EAIlK9xMM7R41ZEQG/3HuRMcjf8kUkGmfJ2KjS5alC5Yh
26
- BSV4gGcDsQ0nZEgSHZ8hSwzBrwXtd1jMNs4cMVPgiwb/BWOecQw=
27
- -----END RSA PRIVATE KEY-----
@@ -1,83 +0,0 @@
1
- Certificate:
2
- Data:
3
- Version: 3 (0x2)
4
- Serial Number:
5
- f0:ac:9c:be:bf:81:16:92
6
- Signature Algorithm: sha1WithRSAEncryption
7
- Issuer: C=US, ST=California, L=San Francisco, O=Celluloid, OU=Socketry, CN=localhost
8
- Validity
9
- Not Before: Sep 10 16:49:21 2016 GMT
10
- Not After : Dec 1 16:49:21 2050 GMT
11
- Subject: C=US, ST=California, O=Celluloid, OU=Socketry, CN=localhost
12
- Subject Public Key Info:
13
- Public Key Algorithm: rsaEncryption
14
- RSA Public Key: (2048 bit)
15
- Modulus (2048 bit):
16
- 00:b9:1f:61:e1:42:d2:4c:12:be:51:f1:7c:52:c8:
17
- 67:a4:48:38:29:df:44:20:a2:6e:13:90:e6:5a:7f:
18
- 88:c8:1d:5e:c3:11:58:06:a2:0c:30:fc:d6:a0:dd:
19
- 3a:0d:dd:05:1f:76:47:51:e7:49:28:f4:90:09:65:
20
- 1e:93:bb:c5:f8:07:16:48:00:67:72:13:1a:a6:cc:
21
- 11:74:40:e1:ba:0c:ba:ef:7e:82:37:2a:62:3d:69:
22
- cd:2f:f0:9a:a1:61:b6:f6:a4:fc:90:51:d1:81:5e:
23
- 11:2f:55:1d:8a:30:31:3a:d3:99:7e:a9:ad:4c:52:
24
- 6d:be:3e:28:cf:92:a1:cc:42:1d:04:39:95:97:38:
25
- 2a:57:91:06:e7:cd:80:23:5c:76:7b:dc:77:a1:52:
26
- 2a:1b:85:c1:57:44:37:97:aa:17:45:e8:3f:d0:11:
27
- 53:07:00:06:2d:60:d3:a9:84:4c:97:4b:33:c4:77:
28
- 2e:a1:79:af:8a:30:1a:67:61:17:1f:f7:0e:40:4b:
29
- 8d:84:92:cd:22:57:30:85:65:b7:b0:2e:ac:a1:55:
30
- d5:96:7f:a9:7f:24:dd:ba:88:37:46:6a:91:42:37:
31
- e1:7d:e6:5c:2e:2b:33:1b:7e:b2:15:70:78:fe:61:
32
- 71:d2:bc:cd:84:49:8d:9d:98:c5:c3:95:68:b6:34:
33
- d4:d3
34
- Exponent: 65537 (0x10001)
35
- X509v3 extensions:
36
- X509v3 Basic Constraints:
37
- CA:FALSE
38
- Netscape Comment:
39
- OpenSSL Generated Certificate
40
- X509v3 Subject Key Identifier:
41
- AA:1B:00:42:93:AA:8F:15:5D:D7:B4:18:45:10:1E:75:45:C8:26:96
42
- X509v3 Authority Key Identifier:
43
- keyid:68:76:8C:93:DD:E3:1A:D4:E4:3F:90:57:85:A2:12:B2:16:51:66:E2
44
-
45
- Signature Algorithm: sha1WithRSAEncryption
46
- ab:3a:40:58:9f:04:fd:17:2d:bd:6c:e2:58:36:27:aa:30:68:
47
- 8b:17:9d:29:60:a1:a5:ac:36:a3:11:df:ee:c9:8f:c6:c3:ae:
48
- 7d:a0:2f:9c:f0:38:d6:1a:25:a7:2e:7a:98:ed:0f:67:9b:cb:
49
- 7b:b1:4c:58:eb:b3:c5:80:86:10:43:f2:43:57:39:92:de:82:
50
- c3:4d:02:66:56:80:a1:98:bb:d1:a6:a4:25:54:0c:ab:45:1d:
51
- eb:70:52:ac:07:a2:6c:13:68:3a:80:f4:2c:04:11:c7:40:85:
52
- 5c:46:71:d0:71:db:1f:35:33:8b:82:c6:09:b1:c5:96:12:ac:
53
- e8:9e:a5:38:98:ac:3b:a6:86:64:95:87:36:d9:f8:9d:0a:bb:
54
- 70:d8:c2:39:70:f3:8b:d1:56:fc:c0:28:e1:22:82:0a:e9:7e:
55
- c6:6f:52:37:98:6f:48:56:e7:0f:49:48:9c:03:0d:c0:34:93:
56
- 3c:b4:66:b2:b5:88:96:c7:31:27:02:b0:78:f7:12:81:31:c2:
57
- e3:c6:8c:cf:f5:f6:cb:23:16:ed:b0:df:d9:e9:cb:2d:8b:6f:
58
- 9e:d4:78:c6:73:a0:c1:13:48:32:65:39:fe:a3:f9:53:ee:6e:
59
- 4b:73:0a:12:58:64:e5:9f:a2:67:65:fd:7a:1a:30:3a:ed:28:
60
- f2:b2:b8:31
61
- -----BEGIN CERTIFICATE-----
62
- MIID0jCCArqgAwIBAgIJAPCsnL6/gRaSMA0GCSqGSIb3DQEBBQUAMHUxCzAJBgNV
63
- BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
64
- c2NvMRIwEAYDVQQKEwlDZWxsdWxvaWQxETAPBgNVBAsTCFNvY2tldHJ5MRIwEAYD
65
- VQQDEwlsb2NhbGhvc3QwIBcNMTYwOTEwMTY0OTIxWhgPMjA1MDEyMDExNjQ5MjFa
66
- MF0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRIwEAYDVQQKEwlD
67
- ZWxsdWxvaWQxETAPBgNVBAsTCFNvY2tldHJ5MRIwEAYDVQQDEwlsb2NhbGhvc3Qw
68
- ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5H2HhQtJMEr5R8XxSyGek
69
- SDgp30Qgom4TkOZaf4jIHV7DEVgGogww/Nag3ToN3QUfdkdR50ko9JAJZR6Tu8X4
70
- BxZIAGdyExqmzBF0QOG6DLrvfoI3KmI9ac0v8JqhYbb2pPyQUdGBXhEvVR2KMDE6
71
- 05l+qa1MUm2+PijPkqHMQh0EOZWXOCpXkQbnzYAjXHZ73HehUiobhcFXRDeXqhdF
72
- 6D/QEVMHAAYtYNOphEyXSzPEdy6hea+KMBpnYRcf9w5AS42Eks0iVzCFZbewLqyh
73
- VdWWf6l/JN26iDdGapFCN+F95lwuKzMbfrIVcHj+YXHSvM2ESY2dmMXDlWi2NNTT
74
- AgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2Vu
75
- ZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBSqGwBCk6qPFV3XtBhFEB51Rcgm
76
- ljAfBgNVHSMEGDAWgBRodoyT3eMa1OQ/kFeFohKyFlFm4jANBgkqhkiG9w0BAQUF
77
- AAOCAQEAqzpAWJ8E/RctvWziWDYnqjBoixedKWChpaw2oxHf7smPxsOufaAvnPA4
78
- 1holpy56mO0PZ5vLe7FMWOuzxYCGEEPyQ1c5kt6Cw00CZlaAoZi70aakJVQMq0Ud
79
- 63BSrAeibBNoOoD0LAQRx0CFXEZx0HHbHzUzi4LGCbHFlhKs6J6lOJisO6aGZJWH
80
- Ntn4nQq7cNjCOXDzi9FW/MAo4SKCCul+xm9SN5hvSFbnD0lInAMNwDSTPLRmsrWI
81
- lscxJwKwePcSgTHC48aMz/X2yyMW7bDf2enLLYtvntR4xnOgwRNIMmU5/qP5U+5u
82
- S3MKElhk5Z+iZ2X9ehowOu0o8rK4MQ==
83
- -----END CERTIFICATE-----
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEogIBAAKCAQEAuR9h4ULSTBK+UfF8UshnpEg4Kd9EIKJuE5DmWn+IyB1ewxFY
3
- BqIMMPzWoN06Dd0FH3ZHUedJKPSQCWUek7vF+AcWSABnchMapswRdEDhugy6736C
4
- NypiPWnNL/CaoWG29qT8kFHRgV4RL1UdijAxOtOZfqmtTFJtvj4oz5KhzEIdBDmV
5
- lzgqV5EG582AI1x2e9x3oVIqG4XBV0Q3l6oXReg/0BFTBwAGLWDTqYRMl0szxHcu
6
- oXmvijAaZ2EXH/cOQEuNhJLNIlcwhWW3sC6soVXVln+pfyTduog3RmqRQjfhfeZc
7
- LiszG36yFXB4/mFx0rzNhEmNnZjFw5VotjTU0wIDAQABAoIBACqtrn4lTqBVLeVs
8
- W/Il26cHM1OL8oPnjqMaI9E3V8xy4Pbt17Jnx5G/qKebeRfbHaQ8O4MJZFd50n8n
9
- /d2nS6O71oow9ahZ+Sn9IAUCNEgVST+Pleur7MwlyTVFLhEImwrPzJ5lDnzZt/KG
10
- l/HU3HSoddm6uoY+9qgGYphAQOb67kYEJv+e5b8lTn0dXC7ZoG0MhqVlDh+wyHnD
11
- KcvtycVfGCOFVnUXbeuahLwPAvximNs/TIrHmDSIyuns31/I9OyWUMWwzgWIRw4q
12
- AaVA3j4OOaw8sfuWj0eQ1w/R1x5gAn+gMvqKRWKvCR/Ulmg5YRRqamc8aJsrvORl
13
- TGI4J1kCgYEA7JWjN7Tj0v2Qd1tkCJm+o0mz2MqNl4/QaJ3VgEM0VuaJ1qdsd7jI
14
- 0/JhXbNKxr0mnmE+UqI5t/zQ0xWpsPqY1i+Y0B+SkGTpQpQBBGYZg064fufJOnYe
15
- RPp2WADvmS5ZZZzujbILlwztctPzt4dPmGY8JlSKtdOQR4qeXI39n0cCgYEAyFCX
16
- D6jb1R9tbd/g4UdWKoLyQPkZvSVnpAMgRmZO/V3YnaxfOBTDEKF/t7oUVL41xvM4
17
- /5xuzJkhi7DxV0ImRr7+DDuUxO0r1vXDhQdzsq9wuxlZW+9hiPCYFpkMLR/Lj2MQ
18
- zhUnQJ0FhFY/gDOnrQkEw9O2Gky61vh1LdCtHBUCgYBbmiijJg/cHr9z51fZGKY+
19
- lQfklbCzEUTxbMNAsUSvrP2LtjGCPXLM1ZkrbYMzZgNw6Vf3KMbOXT4BrO6SDsVk
20
- kPNLCh52eAv08ldee6W/OJio0lgQobFgpdVyh5I9rjuA431eMaTZLHE3t6cy1VpV
21
- OKhrcupuMmc3vA1K6tNbewKBgCnkgNMrk14NBou2CIfUrXaSkCt6bSGbkwNADB3t
22
- A5QFbmn7RKar4Oe3fshjyCC47vI+p6r9gkaTt+pJBRAkq3CcPPE9/Kz6lPKNz2gg
23
- 2NeDzWWztXZ+p71F4+jF9T/yqFXCeB9BWUYwEJlOmFUteGG9wxtZSXpSlbijmY4N
24
- WEbJAoGAZnARe+/aW767Yej2shBwF8gwEvoKZMjl+VdsHCR9E2MsyRh/KsFSLp8a
25
- O4axayeRI1ROSFd/6AX3ch1zHxHNomab1z1zBPuAnVrdoxnsiSWvMIg5RfAAPiBP
26
- +N5kBedH6VmkGymOR03Tr3VYcyY9sHrCZfsD44880inh4Z/T3lA=
27
- -----END RSA PRIVATE KEY-----
@@ -1,26 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIEXDCCA0SgAwIBAgIJAJ0IEx1+1dDLMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNV
3
- BAYTAlhYMRIwEAYDVQQIEwlVbnRydXN0ZWQxEjAQBgNVBAcTCUV2aWx2aWxsZTEU
4
- MBIGA1UEChMLRXZpbCBIYWNrZXIxGjAYBgNVBAsTEUF0dGFjayBEZXBhcnRtZW50
5
- MRIwEAYDVQQDEwlsb2NhbGhvc3QwIBcNMTYwOTEwMTY0OTMzWhgPMjA1MDEyMDEx
6
- NjQ5MzNaMHsxCzAJBgNVBAYTAlhYMRIwEAYDVQQIEwlVbnRydXN0ZWQxEjAQBgNV
7
- BAcTCUV2aWx2aWxsZTEUMBIGA1UEChMLRXZpbCBIYWNrZXIxGjAYBgNVBAsTEUF0
8
- dGFjayBEZXBhcnRtZW50MRIwEAYDVQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3
9
- DQEBAQUAA4IBDwAwggEKAoIBAQCyKMLmY2mCc1A/18g+EsKNmiHysMianeGx2Zs2
10
- O2J3FYO//C4qkiGENjqoGmILbH12ARjZT2K30/yr9x62oxUHe27OB07uFcgAkRER
11
- GW2zTwl8ElrbvhXJTL8Y6WW4kKWzwT0lQR3Ag/swQmIXnAYQ1WXA/furQOGruUrw
12
- yBJZHUDHXTcnHpB5l/EDWKYXaIqNPAwA6ZjZ7GYFGZamrrGfdHSjCiGZON2mWSKx
13
- 45NHWZnI1WA3uyvSjz61GNiSOwiDUWhgMqyqUzyspDEsZoJLcJ+LJxrT+/aAE6uq
14
- xv+ChnGRUV6OX+OIrcysmJOcyzHGYnQAIGTNc8HZRqJ6/kC9AgMBAAGjgeAwgd0w
15
- HQYDVR0OBBYEFLDHtNv69Ad0jKRLK15D6UxjUrOyMIGtBgNVHSMEgaUwgaKAFLDH
16
- tNv69Ad0jKRLK15D6UxjUrOyoX+kfTB7MQswCQYDVQQGEwJYWDESMBAGA1UECBMJ
17
- VW50cnVzdGVkMRIwEAYDVQQHEwlFdmlsdmlsbGUxFDASBgNVBAoTC0V2aWwgSGFj
18
- a2VyMRowGAYDVQQLExFBdHRhY2sgRGVwYXJ0bWVudDESMBAGA1UEAxMJbG9jYWxo
19
- b3N0ggkAnQgTHX7V0MswDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA
20
- msrLcoUQp0RT8PkOmB580e8QxZljRJVgtHJrQszFLyPtGW9bhIBsf3M72+BjPPvx
21
- 6QUO303y1bkcu/suG6WGa4gm59FGMOOvxSQKNC0q2SwmjDyZG3zNLvC3xE0olEte
22
- y3zcxoN+8kvh9QDij2g51J97yqbwZ8v9midBYZ28d7Nq+I/9w6GxfEHHvBV/ACJx
23
- AaoRS++oGS8DGyHoFWqoQ5f1c7vk0QhyG5a7YKT7jk30IKkwVte1pQCk8VOpF06K
24
- TSA/WB/OlLThcZdcQlTw3YrrvCr95oqBDV+9AFXfaJkM+h/2AENtkJvhW3Y/jw7T
25
- f71xbWagZXclIxthRIt+DQ==
26
- -----END CERTIFICATE-----
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEpAIBAAKCAQEAsijC5mNpgnNQP9fIPhLCjZoh8rDImp3hsdmbNjtidxWDv/wu
3
- KpIhhDY6qBpiC2x9dgEY2U9it9P8q/cetqMVB3tuzgdO7hXIAJERERlts08JfBJa
4
- 274VyUy/GOlluJCls8E9JUEdwIP7MEJiF5wGENVlwP37q0Dhq7lK8MgSWR1Ax103
5
- Jx6QeZfxA1imF2iKjTwMAOmY2exmBRmWpq6xn3R0owohmTjdplkiseOTR1mZyNVg
6
- N7sr0o8+tRjYkjsIg1FoYDKsqlM8rKQxLGaCS3Cfiyca0/v2gBOrqsb/goZxkVFe
7
- jl/jiK3MrJiTnMsxxmJ0ACBkzXPB2Uaiev5AvQIDAQABAoIBAG+8jthN+yt8xRT1
8
- cbo0q96Bj88VPwtx/846i1UNE6laTgJH2HCMrAauuEUcHufJSDqNX5dTabefdbYo
9
- zBOB3ruNl6YSAVfjQ0fPs+OEjj/KT0mIfYGaCzHwN14Za9nAppxBkubdmxpV7GGN
10
- ENZ73XYLUMEkygXTMHYyRSUUZiWK3jEuU6oPk5krzYbvf86c6BEtyMe9/T6625qM
11
- BPVhFD6EEyZpp1SBcwvqzHqvZ1nc0mQ7fQhstlFmiBplzHPp8woEWd6NPhduyyAb
12
- aTkZuy3TSOJ26FaA92wYR3KrAaQdxusNvEkRBxIVJDMRBWQawRi2v6mRKJWnrMe2
13
- A1InbWUCgYEA3iX8OTuf/6KsEFthAwd0Ndo8TC/q/BRnHrlUi9y9eT2jKfk4kWdh
14
- ge+VkdAoT1A07r8P+HOlbxTB7gBJEIzqjZ91WsG9wa5VP4N2kGDgFHRq/OgyWpDa
15
- P5zB3sTWQLgzKlEJM3OgvfxX7IdsE+Uh7KkkrEI4q59U7VKz2x5HvRcCgYEAzU7C
16
- ARAQsftN6x1wNIQs6qNBQiIU6N0plYOdVXgop3DOlZ4MZZ+iYi0zj1pS35ucmQtd
17
- xZBkWH83F8ME1zz5Sn2SDL3L7coBP8EFD7kqHLNzFhQuSfQ2KYf1iBhRZLduseRx
18
- NElB4H0UxRUHYCoPl73YFtOEsXIhoVO29vhL3UsCgYEAtxl177JuaOSqj3zR1A5T
19
- wYNUCbPBKe6jJBa7UeAqJ4EfOBxbfLVKEC/qBtocL2s7hcDjJ/Qh2hGw2jtP/Z04
20
- Qmy47IodnkLTrtrrYYsHhrSB7lxwDGeyC5Zn0PZKZeOtAGb0f30BczZHPgRMl4VX
21
- VdoACR832HUmKcntxmAJ3xcCgYEAgcWjiWpvMyEnClNsRjW58oJI0JWcY+jPzSsJ
22
- OyodgGEko5voOCAkUyxBJ/6u3ZqN7IsrtaJkWy/mUgW6PJbU+InQ1G7vxRlnmrXW
23
- Di87eDLRrwYIkERmK/A9ec3tPN1ZgeZky+j2VACcLUryg41yl7avLRZ8DHGY4lF5
24
- GDiwM2sCgYBbooN99DdxduI8ERICkqlDO0v8WM682xsX/6fljnNosyx++sH6hLuJ
25
- mSpNt59mIi5eOJ9eHPiB/qw+FuZevU0wQgsOgyQ6t/AtLFQLmt6HOERUkgWOGipq
26
- FEiawsFJfJtucyOzfhZGdjzXSzarLyHjjWpg206LiFFOP0whNnhE7g==
27
- -----END RSA PRIVATE KEY-----
@@ -1,83 +0,0 @@
1
- Certificate:
2
- Data:
3
- Version: 3 (0x2)
4
- Serial Number:
5
- 9d:08:13:1d:7e:d5:d0:cc
6
- Signature Algorithm: sha1WithRSAEncryption
7
- Issuer: C=XX, ST=Untrusted, L=Evilville, O=Evil Hacker, OU=Attack Department, CN=localhost
8
- Validity
9
- Not Before: Sep 10 16:49:33 2016 GMT
10
- Not After : Dec 1 16:49:33 2050 GMT
11
- Subject: C=XX, ST=Untrusted, O=Evil Hacker, OU=Attack Department, CN=localhost
12
- Subject Public Key Info:
13
- Public Key Algorithm: rsaEncryption
14
- RSA Public Key: (2048 bit)
15
- Modulus (2048 bit):
16
- 00:9b:6b:27:d0:31:39:bc:3b:57:27:70:c2:ec:78:
17
- dc:52:e9:8b:98:d9:ef:c0:8c:c6:cb:c1:8d:48:5c:
18
- 6e:17:8c:8d:bd:68:be:ad:77:40:e1:d2:bb:c1:20:
19
- 54:a6:7f:d5:d8:4b:5b:af:ac:a9:c7:8b:76:2b:da:
20
- 31:b9:13:0f:6f:19:69:fe:1b:60:ee:59:5a:0e:cb:
21
- 0b:e7:88:4e:89:1b:75:4c:0d:ef:21:c2:7a:38:bf:
22
- 95:96:5b:8e:eb:90:ca:8a:2c:09:1d:4c:bd:e5:e8:
23
- 4d:82:06:64:99:51:4c:2f:07:69:80:f6:87:a4:4c:
24
- 74:9c:d8:92:0d:fa:8c:d2:64:95:c5:a2:b3:9d:b4:
25
- 01:2d:03:68:94:3d:42:31:e0:cc:9f:0b:fe:d1:3c:
26
- 79:ed:8b:96:80:32:df:f1:e1:96:e2:3a:32:94:f7:
27
- d4:05:40:5d:f7:17:b1:52:39:e6:7c:6b:92:be:30:
28
- 2e:88:b8:55:d1:df:fe:45:dd:93:c6:94:47:28:57:
29
- e2:31:be:26:33:f7:e1:8a:d6:3a:a8:9d:c2:c5:5b:
30
- 51:0b:c2:21:20:68:72:eb:b6:0c:b0:58:13:e8:e4:
31
- bd:1f:91:53:c8:3e:07:d4:16:37:70:f9:e1:07:d3:
32
- 56:18:39:de:9d:00:e6:f8:d5:32:71:67:df:7b:dc:
33
- 96:bb
34
- Exponent: 65537 (0x10001)
35
- X509v3 extensions:
36
- X509v3 Basic Constraints:
37
- CA:FALSE
38
- Netscape Comment:
39
- OpenSSL Generated Certificate
40
- X509v3 Subject Key Identifier:
41
- 42:B1:92:1D:66:1A:E4:DC:49:3E:65:4B:79:3B:8C:E3:0E:96:0B:87
42
- X509v3 Authority Key Identifier:
43
- keyid:B0:C7:B4:DB:FA:F4:07:74:8C:A4:4B:2B:5E:43:E9:4C:63:52:B3:B2
44
-
45
- Signature Algorithm: sha1WithRSAEncryption
46
- a1:ed:c0:3f:02:4b:e4:77:2a:2c:98:b4:5f:3f:ed:a2:c8:a4:
47
- 91:5b:8e:7d:c2:83:3a:07:1d:e6:31:56:18:ef:bd:d8:53:ae:
48
- a2:e8:b0:c3:f1:1f:43:5f:d9:23:56:10:a6:ff:df:42:b0:4f:
49
- 94:d5:38:28:21:b4:5e:14:f6:96:ca:89:0c:8d:11:57:1c:83:
50
- 1d:9b:bf:14:54:f3:50:60:f2:57:c0:41:37:47:7b:0d:46:f9:
51
- 21:65:65:05:12:58:34:a8:8e:38:14:8b:5a:e7:b3:c9:f4:6f:
52
- 3f:85:8c:3d:cd:87:d7:3e:76:e7:02:f0:11:4b:c5:af:61:e5:
53
- 7f:ec:1d:92:e6:70:8a:b2:1f:36:5b:25:29:bd:92:39:9a:e2:
54
- d8:cf:95:f1:20:ac:68:61:fb:b2:28:3e:b4:01:52:d8:27:a6:
55
- ef:81:14:27:af:8a:4f:05:fe:c8:02:86:6e:66:a3:c4:e5:c8:
56
- 0f:f6:91:6b:da:db:2c:f6:11:6c:bb:29:0c:e3:3d:87:b4:64:
57
- ab:4a:5f:19:d3:75:11:68:ef:37:a5:f0:b2:2a:45:2e:d9:06:
58
- d4:86:7e:44:56:15:53:3c:08:5e:8a:fd:be:46:e0:f4:4a:01:
59
- d3:9f:bb:82:a5:ac:0d:6a:d4:b3:bc:11:eb:df:47:a2:14:5e:
60
- 3c:66:0f:5d
61
- -----BEGIN CERTIFICATE-----
62
- MIID4jCCAsqgAwIBAgIJAJ0IEx1+1dDMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNV
63
- BAYTAlhYMRIwEAYDVQQIEwlVbnRydXN0ZWQxEjAQBgNVBAcTCUV2aWx2aWxsZTEU
64
- MBIGA1UEChMLRXZpbCBIYWNrZXIxGjAYBgNVBAsTEUF0dGFjayBEZXBhcnRtZW50
65
- MRIwEAYDVQQDEwlsb2NhbGhvc3QwIBcNMTYwOTEwMTY0OTMzWhgPMjA1MDEyMDEx
66
- NjQ5MzNaMGcxCzAJBgNVBAYTAlhYMRIwEAYDVQQIEwlVbnRydXN0ZWQxFDASBgNV
67
- BAoTC0V2aWwgSGFja2VyMRowGAYDVQQLExFBdHRhY2sgRGVwYXJ0bWVudDESMBAG
68
- A1UEAxMJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
69
- m2sn0DE5vDtXJ3DC7HjcUumLmNnvwIzGy8GNSFxuF4yNvWi+rXdA4dK7wSBUpn/V
70
- 2Etbr6ypx4t2K9oxuRMPbxlp/htg7llaDssL54hOiRt1TA3vIcJ6OL+VlluO65DK
71
- iiwJHUy95ehNggZkmVFMLwdpgPaHpEx0nNiSDfqM0mSVxaKznbQBLQNolD1CMeDM
72
- nwv+0Tx57YuWgDLf8eGW4joylPfUBUBd9xexUjnmfGuSvjAuiLhV0d/+Rd2TxpRH
73
- KFfiMb4mM/fhitY6qJ3CxVtRC8IhIGhy67YMsFgT6OS9H5FTyD4H1BY3cPnhB9NW
74
- GDnenQDm+NUycWffe9yWuwIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIB
75
- DQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUQrGS
76
- HWYa5NxJPmVLeTuM4w6WC4cwHwYDVR0jBBgwFoAUsMe02/r0B3SMpEsrXkPpTGNS
77
- s7IwDQYJKoZIhvcNAQEFBQADggEBAKHtwD8CS+R3KiyYtF8/7aLIpJFbjn3CgzoH
78
- HeYxVhjvvdhTrqLosMPxH0Nf2SNWEKb/30KwT5TVOCghtF4U9pbKiQyNEVccgx2b
79
- vxRU81Bg8lfAQTdHew1G+SFlZQUSWDSojjgUi1rns8n0bz+FjD3Nh9c+ducC8BFL
80
- xa9h5X/sHZLmcIqyHzZbJSm9kjma4tjPlfEgrGhh+7IoPrQBUtgnpu+BFCevik8F
81
- /sgChm5mo8TlyA/2kWva2yz2EWy7KQzjPYe0ZKtKXxnTdRFo7zel8LIqRS7ZBtSG
82
- fkRWFVM8CF6K/b5G4PRKAdOfu4KlrA1q1LO8EevfR6IUXjxmD10=
83
- -----END CERTIFICATE-----
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEogIBAAKCAQEAm2sn0DE5vDtXJ3DC7HjcUumLmNnvwIzGy8GNSFxuF4yNvWi+
3
- rXdA4dK7wSBUpn/V2Etbr6ypx4t2K9oxuRMPbxlp/htg7llaDssL54hOiRt1TA3v
4
- IcJ6OL+VlluO65DKiiwJHUy95ehNggZkmVFMLwdpgPaHpEx0nNiSDfqM0mSVxaKz
5
- nbQBLQNolD1CMeDMnwv+0Tx57YuWgDLf8eGW4joylPfUBUBd9xexUjnmfGuSvjAu
6
- iLhV0d/+Rd2TxpRHKFfiMb4mM/fhitY6qJ3CxVtRC8IhIGhy67YMsFgT6OS9H5FT
7
- yD4H1BY3cPnhB9NWGDnenQDm+NUycWffe9yWuwIDAQABAoIBAAXqs25SoW8QF0ZS
8
- HamhBEpHx9++1EjRUzQonzdVBX/yAudmGHREKP0v56P3liFslniQjeIHQcNuBMaw
9
- nNn95sWFAysAYdVRI4OSqVZcMxk3KWUG1sbDP6HvcUNzIuLG9V8DRCmQZV5eVK0R
10
- jzzjAnJ75sFZIVrY6kuaVx0fH8NWr8d3NMEOivsXXfZy3QPFNrNiH46BB1dT9kMV
11
- 2+TOvS0G59jWWy/+fhRNQNjLIXiHt5zrZRA+u/f25r0UAWff7vp5l0k3ljQOB1rx
12
- Gg3OfkjI3xdWwK3h3RH31rUBs/JTNhWKMbUCMTTSqWdJTrwCXAFq3jt4G92fPCI8
13
- HJ5Ei2ECgYEAzRAWLJUPTEc1o7uCje65MSSrRxbjtrlFXWe7in+FS+ragsAxbHZ+
14
- tCFRhtQyPtAWRpNZDeX9rLBki8VI8+PUsOUA6EnXdXzaCY087tJrge6LZP+zeDgk
15
- LWSaVlX2GZmoIJ6jBjHmPLdimpz2zRsk9Duk58pI+Z39lDnp3xF73AsCgYEAwgYy
16
- ubGai3uSWt/TsTjEpceoV6AFDXQqj8rIFhInjjJdCDNbLfXOEjSmV9bJJCsIBWgy
17
- jOvOB/gLBb4rgdWuxlfNaDnlUDNZAT2uICLji7Zfer/WbibnHGZ9OHjqwVxaofed
18
- 1dOBiBv/NZzXDt1H4M6j+v7Nv2pTSEm7ERnrLhECgYByfFG08D+LOZJz6CMadLZF
19
- /o/1b40Qnd1hKaHl0A4udV8rcnvlbz6L+LIYkW2/7dMR8f/dJ5N6Dz0DX9C8AW3k
20
- mOXpyhgViu/8NzNWrnnBH9oJOE0NiGKCSVF1dCai4kugcpDXy5IcQdI2Of38QvRd
21
- utL1adVWL2O8lpzAonVBQwKBgFF7juQDXXcEj2NQqrO7toI0xlL+ZgDPb2xx6fOy
22
- 7h++sOlXwAweNcvZhp5PGqvw0m6K4ufhw+X+2oov4k+lcL/lceM6pT44QkHOKIlg
23
- fZVYIuMHG8Oo3NhFhoMn7NcFtR5eQk/hgn2p3FUkqACbF6umvKEVT0z7Fzy9ki1N
24
- aEIxAoGAHXvJ0Sc63asb8jw9Z9mPXK3Ke2z4zgxKmx6NGIEqM771U6+RWX1lVs1V
25
- wrvNP3whwhc12ZSeDxiVDQsIFepsghIJOcc26muY7n9cyR8Y+DsV2OsTeeXk+AAC
26
- CKlz+DopSb4TNMYy3TiYTg8g7VUyrsssZ6TSYetLXJbqh/AEK78=
27
- -----END RSA PRIVATE KEY-----