async-io 1.1.0 → 1.2.0
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/async-io.gemspec +1 -1
- data/lib/async/io/endpoint.rb +21 -8
- data/lib/async/io/ssl_socket.rb +2 -1
- data/lib/async/io/version.rb +1 -1
- data/spec/async/io/c10k_spec.rb +8 -3
- data/spec/async/io/echo_spec.rb +1 -1
- data/spec/async/io/ssl_socket_spec.rb +7 -21
- metadata +5 -23
- data/spec/async/io/ssl/gen_certs.sh +0 -31
- data/spec/async/io/ssl/trusted-ca.crt +0 -25
- data/spec/async/io/ssl/trusted-ca.key +0 -27
- data/spec/async/io/ssl/trusted-cert.crt +0 -83
- data/spec/async/io/ssl/trusted-cert.key +0 -27
- data/spec/async/io/ssl/untrusted-ca.crt +0 -26
- data/spec/async/io/ssl/untrusted-ca.key +0 -27
- data/spec/async/io/ssl/untrusted-cert.crt +0 -83
- data/spec/async/io/ssl/untrusted-cert.key +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5debc255f53c70939e2e84ebe18178b1b9fe73db
|
4
|
+
data.tar.gz: c0b4a2a8b43454b97317c3dd46476cacb8dcf010
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da03e21632e9889d111919b083572c5eba488358ca3c3379e23b0ed6d487c4c1d8b2a9846766b0f047bb5e00aba23fea5ebe6ee3d720f651c234d0addd72b3cb
|
7
|
+
data.tar.gz: 6ddcdb0d5bd129818a9cb638510b9008ab55488d9439ec1c43493cae09727e79fadf6ada416ae386a560fc6527351f99d3fb66c00f0e2c942b45556afc8d73be
|
data/async-io.gemspec
CHANGED
@@ -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.
|
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"
|
data/lib/async/io/endpoint.rb
CHANGED
@@ -94,9 +94,9 @@ module Async
|
|
94
94
|
address.protocol
|
95
95
|
end
|
96
96
|
|
97
|
-
def bind
|
98
|
-
|
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
|
-
|
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(
|
122
|
+
Socket.bind(address, **options, &block)
|
123
123
|
end
|
124
124
|
|
125
125
|
def connect(&block)
|
126
|
-
Socket.connect(
|
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
|
data/lib/async/io/ssl_socket.rb
CHANGED
@@ -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.
|
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
|
data/lib/async/io/version.rb
CHANGED
data/spec/async/io/c10k_spec.rb
CHANGED
@@ -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',
|
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 "
|
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
|
data/spec/async/io/echo_spec.rb
CHANGED
@@ -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',
|
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,
|
42
|
-
let(:client_endpoint) {Async::IO::SecureEndpoint.new(endpoint,
|
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
|
-
|
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
|
-
|
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.
|
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-
|
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.
|
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.
|
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.
|
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-----
|