r509-ocsp-responder 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +77 -0
- data/Rakefile +38 -0
- data/doc/R509.html +115 -0
- data/doc/R509/Ocsp.html +130 -0
- data/doc/R509/Ocsp/Helper.html +126 -0
- data/doc/R509/Ocsp/Helper/RequestChecker.html +739 -0
- data/doc/R509/Ocsp/Helper/ResponseSigner.html +583 -0
- data/doc/R509/Ocsp/Responder.html +129 -0
- data/doc/R509/Ocsp/Responder/OcspConfig.html +289 -0
- data/doc/R509/Ocsp/Responder/Server.html +128 -0
- data/doc/R509/Ocsp/Responder/StatusError.html +134 -0
- data/doc/R509/Ocsp/Signer.html +584 -0
- data/doc/_index.html +197 -0
- data/doc/class_list.html +53 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +328 -0
- data/doc/file.README.html +156 -0
- data/doc/file_list.html +55 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +156 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +173 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +164 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/r509/ocsp/responder/ocsp-config.rb +35 -0
- data/lib/r509/ocsp/responder/server.rb +169 -0
- data/lib/r509/ocsp/responder/version.rb +7 -0
- data/lib/r509/ocsp/signer.rb +244 -0
- data/spec/fixtures.rb +196 -0
- data/spec/fixtures/cert1.pem +24 -0
- data/spec/fixtures/config_test_various.yaml +46 -0
- data/spec/fixtures/ocsptest.r509.local.pem +27 -0
- data/spec/fixtures/second_ca.cer +26 -0
- data/spec/fixtures/second_ca.key +27 -0
- data/spec/fixtures/stca.pem +22 -0
- data/spec/fixtures/stca_ocsp_request.der +0 -0
- data/spec/fixtures/stca_ocsp_response.der +0 -0
- data/spec/fixtures/test_ca.cer +22 -0
- data/spec/fixtures/test_ca.key +28 -0
- data/spec/fixtures/test_ca_ocsp.cer +26 -0
- data/spec/fixtures/test_ca_ocsp.key +27 -0
- data/spec/fixtures/test_ca_ocsp_chain.txt +48 -0
- data/spec/fixtures/test_ca_request.der +0 -0
- data/spec/fixtures/test_ca_response.der +0 -0
- data/spec/fixtures/test_ca_subroot.cer +25 -0
- data/spec/fixtures/test_ca_subroot.key +27 -0
- data/spec/fixtures/test_ca_subroot_ocsp.cer +25 -0
- data/spec/fixtures/test_ca_subroot_ocsp.key +27 -0
- data/spec/fixtures/test_config.yaml +17 -0
- data/spec/server_spec.rb +400 -0
- data/spec/signer_spec.rb +275 -0
- data/spec/spec_helper.rb +18 -0
- metadata +259 -0
data/spec/fixtures.rb
ADDED
@@ -0,0 +1,196 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'pathname'
|
3
|
+
require 'r509/io_helpers'
|
4
|
+
|
5
|
+
module TestFixtures
|
6
|
+
extend R509::IOHelpers
|
7
|
+
|
8
|
+
FIXTURES_PATH = Pathname.new(__FILE__).dirname + "fixtures"
|
9
|
+
|
10
|
+
def self.read_fixture(filename)
|
11
|
+
read_data((FIXTURES_PATH + filename).to_s)
|
12
|
+
end
|
13
|
+
|
14
|
+
#Trustwave cert for langui.sh
|
15
|
+
CERT = read_fixture('cert1.pem')
|
16
|
+
|
17
|
+
#Trustwave root cert
|
18
|
+
STCA_CERT = read_fixture('stca.pem')
|
19
|
+
|
20
|
+
|
21
|
+
TEST_CA_CERT = read_fixture('test_ca.cer')
|
22
|
+
TEST_CA_KEY = read_fixture('test_ca.key')
|
23
|
+
|
24
|
+
TEST_CA_OCSP_CERT = read_fixture('test_ca_ocsp.cer')
|
25
|
+
TEST_CA_OCSP_KEY = read_fixture('test_ca_ocsp.key')
|
26
|
+
|
27
|
+
TEST_CA_SUBROOT_CERT = read_fixture('test_ca_subroot.cer')
|
28
|
+
TEST_CA_SUBROOT_KEY = read_fixture('test_ca_subroot.key')
|
29
|
+
|
30
|
+
TEST_CA_SUBROOT_OCSP_CERT = read_fixture('test_ca_subroot_ocsp.cer')
|
31
|
+
TEST_CA_SUBROOT_OCSP_KEY = read_fixture('test_ca_subroot_ocsp.key')
|
32
|
+
|
33
|
+
SECOND_CA_CERT = read_fixture('second_ca.cer')
|
34
|
+
SECOND_CA_KEY = read_fixture('second_ca.key')
|
35
|
+
|
36
|
+
OCSP_TEST_CERT = read_fixture('ocsptest.r509.local.pem')
|
37
|
+
|
38
|
+
STCA_OCSP_REQUEST = read_fixture('stca_ocsp_request.der')
|
39
|
+
STCA_OCSP_RESPONSE = read_fixture('stca_ocsp_response.der')
|
40
|
+
|
41
|
+
def self.test_ca_cert
|
42
|
+
R509::Cert.new(:cert => TEST_CA_CERT, :key => TEST_CA_KEY)
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.test_ca_subroot_cert
|
46
|
+
R509::Cert.new(:cert => TEST_CA_SUBROOT_CERT, :key => TEST_CA_SUBROOT_KEY)
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.test_ca_server_profile
|
50
|
+
R509::Config::CaProfile.new(
|
51
|
+
:basic_constraints => "CA:FALSE",
|
52
|
+
:key_usage => ["digitalSignature","keyEncipherment"],
|
53
|
+
:extended_key_usage => ["serverAuth"],
|
54
|
+
:certificate_policies => [
|
55
|
+
[
|
56
|
+
"policyIdentifier=2.16.840.1.12345.1.2.3.4.1",
|
57
|
+
"CPS.1=http://example.com/cps"
|
58
|
+
]
|
59
|
+
]
|
60
|
+
)
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.test_ca_server_profile_with_subject_item_policy
|
65
|
+
subject_item_policy = R509::Config::SubjectItemPolicy.new(
|
66
|
+
"CN" => "required",
|
67
|
+
"O" => "optional",
|
68
|
+
"ST" => "required",
|
69
|
+
"C" => "required",
|
70
|
+
"OU" => "optional"
|
71
|
+
)
|
72
|
+
R509::Config::CaProfile.new(
|
73
|
+
:basic_constraints => "CA:FALSE",
|
74
|
+
:key_usage => ["digitalSignature","keyEncipherment"],
|
75
|
+
:extended_key_usage => ["serverAuth"],
|
76
|
+
:certificate_policies => [
|
77
|
+
[
|
78
|
+
"policyIdentifier=2.16.840.1.12345.1.2.3.4.1",
|
79
|
+
"CPS.1=http://example.com/cps"
|
80
|
+
]
|
81
|
+
],
|
82
|
+
:subject_item_policy => subject_item_policy
|
83
|
+
)
|
84
|
+
end
|
85
|
+
|
86
|
+
def self.test_ca_subroot_profile
|
87
|
+
R509::Config::CaProfile.new(
|
88
|
+
:basic_constraints => "CA:TRUE,pathlen:0",
|
89
|
+
:key_usage => ["keyCertSign","cRLSign"],
|
90
|
+
:extended_key_usage => [],
|
91
|
+
:certificate_policies => nil)
|
92
|
+
end
|
93
|
+
|
94
|
+
def self.test_ca_ocspsigner_profile
|
95
|
+
R509::Config::CaProfile.new(
|
96
|
+
:basic_constraints => "CA:FALSE",
|
97
|
+
:key_usage => ["digitalSignature"],
|
98
|
+
:extended_key_usage => ["OCSPSigning"],
|
99
|
+
:certificate_policies => nil)
|
100
|
+
end
|
101
|
+
|
102
|
+
def self.second_ca_cert
|
103
|
+
R509::Cert.new(:cert => SECOND_CA_CERT, :key => SECOND_CA_KEY)
|
104
|
+
end
|
105
|
+
|
106
|
+
def self.second_ca_server_profile
|
107
|
+
R509::Config::CaProfile.new(
|
108
|
+
:basic_constraints => "CA:FALSE",
|
109
|
+
:key_usage => ["digitalSignature","keyEncipherment"],
|
110
|
+
:extended_key_usage => ["serverAuth"],
|
111
|
+
:certificate_policies => [
|
112
|
+
[
|
113
|
+
"policyIdentifier=2.16.840.1.12345.1.2.3.4.1",
|
114
|
+
"CPS.1=http://example.com/cps"
|
115
|
+
]
|
116
|
+
]
|
117
|
+
)
|
118
|
+
|
119
|
+
end
|
120
|
+
|
121
|
+
def self.second_ca_subroot_profile
|
122
|
+
R509::Config::CaProfile.new(
|
123
|
+
:basic_constraints => "CA:TRUE,pathlen:0",
|
124
|
+
:key_usage => ["keyCertSign","cRLSign"],
|
125
|
+
:extended_key_usage => [],
|
126
|
+
:certificate_policies => nil)
|
127
|
+
end
|
128
|
+
|
129
|
+
|
130
|
+
# @return [R509::Config::CaConfig]
|
131
|
+
def self.test_ca_config
|
132
|
+
crl_list_sio = StringIO.new
|
133
|
+
crl_list_sio.set_encoding("BINARY") if crl_list_sio.respond_to?(:set_encoding)
|
134
|
+
crl_number_sio = StringIO.new
|
135
|
+
crl_number_sio.set_encoding("BINARY") if crl_number_sio.respond_to?(:set_encoding)
|
136
|
+
|
137
|
+
opts = {
|
138
|
+
:ca_cert => test_ca_cert(),
|
139
|
+
:cdp_location => 'URI:http://crl.domain.com/test_ca.crl',
|
140
|
+
:ocsp_location => 'URI:http://ocsp.domain.com',
|
141
|
+
:ocsp_start_skew_seconds => 3600,
|
142
|
+
:ocsp_validity_hours => 48,
|
143
|
+
:crl_list_file => crl_list_sio,
|
144
|
+
:crl_number_file => crl_number_sio
|
145
|
+
}
|
146
|
+
ret = R509::Config::CaConfig.new(opts)
|
147
|
+
|
148
|
+
ret.set_profile("server", self.test_ca_server_profile)
|
149
|
+
ret.set_profile("subroot", self.test_ca_subroot_profile)
|
150
|
+
ret.set_profile("ocspsigner", self.test_ca_ocspsigner_profile)
|
151
|
+
ret.set_profile("server_with_subject_item_policy", self.test_ca_server_profile_with_subject_item_policy)
|
152
|
+
|
153
|
+
ret
|
154
|
+
end
|
155
|
+
|
156
|
+
# @return [R509::Config::CaConfig]
|
157
|
+
def self.test_ca_subroot_config
|
158
|
+
crl_list_sio = StringIO.new
|
159
|
+
crl_list_sio.set_encoding("BINARY") if crl_list_sio.respond_to?(:set_encoding)
|
160
|
+
crl_number_sio = StringIO.new
|
161
|
+
crl_number_sio.set_encoding("BINARY") if crl_number_sio.respond_to?(:set_encoding)
|
162
|
+
|
163
|
+
opts = {
|
164
|
+
:ca_cert => test_ca_subroot_cert(),
|
165
|
+
:cdp_location => 'URI:http://crl.domain.com/test_ca.crl',
|
166
|
+
:ocsp_location => 'URI:http://ocsp.domain.com',
|
167
|
+
:ocsp_start_skew_seconds => 3600,
|
168
|
+
:ocsp_validity_hours => 48,
|
169
|
+
:crl_list_file => crl_list_sio,
|
170
|
+
:crl_number_file => crl_number_sio
|
171
|
+
}
|
172
|
+
ret = R509::Config::CaConfig.new(opts)
|
173
|
+
|
174
|
+
ret.set_profile("server", self.test_ca_server_profile)
|
175
|
+
ret.set_profile("subroot", self.test_ca_subroot_profile)
|
176
|
+
ret.set_profile("ocspsigner", self.test_ca_ocspsigner_profile)
|
177
|
+
ret.set_profile("server_with_subject_item_policy", self.test_ca_server_profile_with_subject_item_policy)
|
178
|
+
|
179
|
+
ret
|
180
|
+
end
|
181
|
+
|
182
|
+
# @return [R509::Config::CaConfig] secondary config
|
183
|
+
def self.second_ca_config
|
184
|
+
opts = {
|
185
|
+
:ca_cert => second_ca_cert(),
|
186
|
+
:cdp_location => 'URI:http://crl.domain.com/test_ca.crl',
|
187
|
+
:ocsp_location => 'URI:http://ocsp.domain.com'
|
188
|
+
}
|
189
|
+
ret = R509::Config::CaConfig.new(opts)
|
190
|
+
|
191
|
+
ret.set_profile("server", self.second_ca_server_profile)
|
192
|
+
ret.set_profile("subroot", self.second_ca_subroot_profile)
|
193
|
+
|
194
|
+
ret
|
195
|
+
end
|
196
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIEEDCCAvigAwIBAgIFMUeG8mMwDQYJKoZIhvcNAQEFBQAwSDELMAkGA1UEBhMC
|
3
|
+
VVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5T
|
4
|
+
ZWN1cmVUcnVzdCBDQTAeFw0xMDA4MjQxNDEwMDJaFw0xMzA4MjMxNDEwMDJaMFwx
|
5
|
+
CzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4GA1UEBxMHQ2hpY2Fn
|
6
|
+
bzEUMBIGA1UEChMLUGF1bCBLZWhyZXIxEjAQBgNVBAMTCWxhbmd1aS5zaDCCASIw
|
7
|
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMMdaJzUD0I8PRwbK6c3y7Wl+PtP
|
8
|
+
IHN5eawaNFWZAVWd/wRZt9MNl4BzVtGYPldPzaC4sdcEDC7YyB+31nVDWVETa3Jw
|
9
|
+
LnFZ1lcCrfydeQh2IfXkoH7boRMmqqSYxlHNSijTb7HYYIMb5sekM742v3nQ4Muh
|
10
|
+
lDWrgmOrxQiNEp2w0rj0qeM9jeJP4S1TPN6CJZohR4KdFSZYLGTSGZNNtbzbUXHl
|
11
|
+
30Ou6Tg+K9HpAWJ9KB+sYmL4wsxnW9ZC4AHppOY2dx3BVy91RuEE4nCI1ZfGh3Vn
|
12
|
+
R80hy0IBYjoupnm6efwVCdHlHnwM81tlLAD7BG+syVYyKJ5H+y10XtbXOssCAwEA
|
13
|
+
AaOB7DCB6TAJBgNVHRMEAjAAMB0GA1UdDgQWBBQAjd1USmQruNPPCOSePFXkZP4E
|
14
|
+
4DAfBgNVHSMEGDAWgBRCMrYW+gT9/l1LesP990xAHVpDrzALBgNVHQ8EBAMCBaAw
|
15
|
+
EwYDVR0lBAwwCgYIKwYBBQUHAwEwNAYDVR0fBC0wKzApoCegJYYjaHR0cDovL2Ny
|
16
|
+
bC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwRAYDVR0gBD0wOzA5BgxghkgBhv1k
|
17
|
+
AQECAwEwKTAnBggrBgEFBQcCARYbaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL0NB
|
18
|
+
MA0GCSqGSIb3DQEBBQUAA4IBAQCp6++bP8QfrJ9W1usAmDcIZu+PVp/wux0OSXf5
|
19
|
+
2I4m44NAwT20yevWxnqzF2JZ/R2mCi41sPbV6Uvk+/6YWezSdTFPGPNZ1mwuQ7Bu
|
20
|
+
BZB3DR71BJTP/YUOD6uWOFSh8didm3kHNbAvG4X/xWyj07n70Cof0PBDGtw8QKlt
|
21
|
+
CBydpPHBeew14n0PXXLB8jrDd6PtlKvKWrLVs9igASBuW584chaWNw039zxRKoqq
|
22
|
+
PsMwIw+1he4Bax4hH4fM4wQOFpnhk5Y34VmdZqo1JtF7Vn41ghGwsXVswvl6wPC1
|
23
|
+
g4+GUUwJtQ6cJyMmN4sIHDbCFTOWBlUijvMrvl3wxncqDmOp
|
24
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,46 @@
|
|
1
|
+
ocsp_delegate_ca: {
|
2
|
+
ca_cert: {
|
3
|
+
cert: 'test_ca.cer'
|
4
|
+
},
|
5
|
+
ocsp_cert: {
|
6
|
+
cert: 'test_ca_ocsp.cer',
|
7
|
+
key: 'test_ca_ocsp.key'
|
8
|
+
}
|
9
|
+
}
|
10
|
+
ocsp_subroot_delegate_ca: {
|
11
|
+
ca_cert: {
|
12
|
+
cert: 'test_ca_subroot.cer'
|
13
|
+
},
|
14
|
+
ocsp_cert: {
|
15
|
+
cert: 'test_ca_subroot_ocsp.cer',
|
16
|
+
key: 'test_ca_subroot_ocsp.key'
|
17
|
+
}
|
18
|
+
}
|
19
|
+
ocsp_chain_ca: {
|
20
|
+
ca_cert: {
|
21
|
+
cert: 'test_ca.cer'
|
22
|
+
},
|
23
|
+
ocsp_cert: {
|
24
|
+
cert: 'test_ca_ocsp.cer',
|
25
|
+
key: 'test_ca_ocsp.key'
|
26
|
+
},
|
27
|
+
ocsp_chain: 'test_ca_ocsp_chain.txt'
|
28
|
+
}
|
29
|
+
ocsp_pkcs12_ca: {
|
30
|
+
ca_cert: {
|
31
|
+
cert: 'test_ca.cer'
|
32
|
+
},
|
33
|
+
ocsp_cert: {
|
34
|
+
pkcs12: 'test_ca_ocsp.p12',
|
35
|
+
password: 'r509'
|
36
|
+
}
|
37
|
+
}
|
38
|
+
ocsp_engine_ca: {
|
39
|
+
ca_cert: {
|
40
|
+
cert: 'test_ca.cer'
|
41
|
+
},
|
42
|
+
ocsp_cert: {
|
43
|
+
cert: 'test_ca_ocsp.cer',
|
44
|
+
engine: 'chil'
|
45
|
+
}
|
46
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIEgTCCA2mgAwIBAgIVAJjZ5cC0w3NVLfd8XQ8etRKOSUX5MA0GCSqGSIb3DQEB
|
3
|
+
BQUAMF4xCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhJbGxpbm9pczEQMA4GA1UEBwwH
|
4
|
+
Q2hpY2FnbzEYMBYGA1UECgwPUnVieSBDQSBQcm9qZWN0MRAwDgYDVQQDDAdUZXN0
|
5
|
+
IENBMB4XDTExMTIwNjE0NDMwNVoXDTEyMTIwNTE0NDMwNVowHjEcMBoGA1UEAwwT
|
6
|
+
b2NzcHRlc3QucjUwOS5sb2NhbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
7
|
+
ggEBAJKYUzUFOARca6xgBdCzcCaBskoybxHO6MP55wqX0NzRJQY39EZVI8cEZb5J
|
8
|
+
DHCMiIQVF4LzaV2YeBYxQIcH3wwDchiM68ru4RetzM0lJjTj+Dh9KFQlGrO0Ggq3
|
9
|
+
Or1/dDZiYXGKNKisvVALCa8Witak4kN6gPxicbQqBjz5mqQ1fR3XmwLk4ZUoyyzC
|
10
|
+
YLtsBRq9BMPb/ACOnpSMPY+/JcNSZq7mfkdZkgIUiSVV3gSi7la039HnIQy47ou4
|
11
|
+
gAstE9phBbD3HzyVhHQrUqWH5ySgvWqey/GKw473YtqAkqXiMri/9l0wqoc/z8z/
|
12
|
+
8AUsucNWY0fFw6W60DfddLHnLqMCAwEAAaOCAXQwggFwMAwGA1UdEwEB/wQCMAAw
|
13
|
+
HQYDVR0OBBYEFA+4ILvXZtq+sTFnuu7bBgNozYxEMAsGA1UdDwQEAwIFoDCBkAYD
|
14
|
+
VR0jBIGIMIGFgBR5dbuEOsss3noJvjEbQ7wcKk1TWKFipGAwXjELMAkGA1UEBhMC
|
15
|
+
VVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdDaGljYWdvMRgwFgYDVQQK
|
16
|
+
DA9SdWJ5IENBIFByb2plY3QxEDAOBgNVBAMMB1Rlc3QgQ0GCCQD/2ccLhzfRlDAT
|
17
|
+
BgNVHSUEDDAKBggrBgEFBQcDATA+BgNVHSAENzA1MDMGC2CGSAHgOQECAwQBMCQw
|
18
|
+
IgYIKwYBBQUHAgEWFmh0dHA6Ly9leGFtcGxlLmNvbS9jcHMwHwYDVR0fBBgwFjAU
|
19
|
+
oBKgEIYOaHR0cDovL2NybC5jb20wKwYIKwYBBQUHAQEEHzAdMBsGCCsGAQUFBzAB
|
20
|
+
hg9odHRwOi8vb2NzcC5jb20wDQYJKoZIhvcNAQEFBQADggEBAGoNhg81fX8piyRL
|
21
|
+
l7mxSCn+Ts1xa7cr1c2Hrm/WrdONtoXLrqPKQAYY6gB2LhkBCbAXB3LIWLgvhrUE
|
22
|
+
sfcWy7vwZNDtjuuynmwgoRcpjxYV7r9aHsgzUDtaPMRpVn4dMD8fkGtgpDgf49xG
|
23
|
+
yGD9f48DXlLIbOYzfucrVDQT6QUeMwCtxvtJcYCplL/jvt87a08e8coDMkiE8wVE
|
24
|
+
0sSpJnYuK9WBvcoGaaMrhrMG744pwYaCEXF+gghozNFZ2e3zjMYGRt/XpGkPT9PD
|
25
|
+
MWS/UUznolj5htW+8zsITxahjt7D/BKQiKoPpOoLoajyBZWIhy+F8BC0sT+1hafO
|
26
|
+
alTAjPE=
|
27
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,26 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIEHjCCAwagAwIBAgIJAMmEWj3f4aUaMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNV
|
3
|
+
BAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4GA1UEBxMHQ2hpY2FnbzESMBAG
|
4
|
+
A1UEChMJUjUwOSwgTHRkMR8wHQYDVQQDExZSNTA5IFNlY29uZGFyeSBUZXN0IENB
|
5
|
+
MB4XDTExMTIwNjIxMTQ1MFoXDTMwMDcxOTIxMTQ1MFowZzELMAkGA1UEBhMCVVMx
|
6
|
+
ETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGljYWdvMRIwEAYDVQQKEwlS
|
7
|
+
NTA5LCBMdGQxHzAdBgNVBAMTFlI1MDkgU2Vjb25kYXJ5IFRlc3QgQ0EwggEiMA0G
|
8
|
+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDSV/a39wauzUnEc0r/0+6R4D7m2ESk
|
9
|
+
JV8cIx7hQTzxmhPDwk4Vf4UIaC0bxzHQ0TAcZSA3MJEvWGK9TaSOA7mzFQOEbQyw
|
10
|
+
Uz4nWsuS+N1UaVkJf6BR98OtpO4jPV0ir0BlgN8vc79CbvsYRjQ8zM10/tIdA6oD
|
11
|
+
U9LCLBJfHKm9Lpx8JO8CKweBmoMM/gNSdzC2AZUk6rwvtlZOvUth9Kcoe38ZMvib
|
12
|
+
nSXSsIYUUkXWbfxHmPT2yHXi4t/Tuf/7VJqyXh7Mr3m0tg1OuiJXaPR8m63ZPnVB
|
13
|
+
yAokJXLaVCWpMm7mHpD2u3s09LTDDcahFLiir1oUofnGQxoIOi7Y4ifvAgMBAAGj
|
14
|
+
gcwwgckwHQYDVR0OBBYEFD/HsyH/MoTC4B53HEiiS0HYQ2lZMIGZBgNVHSMEgZEw
|
15
|
+
gY6AFD/HsyH/MoTC4B53HEiiS0HYQ2lZoWukaTBnMQswCQYDVQQGEwJVUzERMA8G
|
16
|
+
A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xEjAQBgNVBAoTCVI1MDks
|
17
|
+
IEx0ZDEfMB0GA1UEAxMWUjUwOSBTZWNvbmRhcnkgVGVzdCBDQYIJAMmEWj3f4aUa
|
18
|
+
MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAW7C4sjrYU3Xjj0BJJQ
|
19
|
+
lc/oT9mszr+UXpgbsk0Mh7Hd7N+gZ27gu5Y+D/Stbm8LLZQWCKl2n/6SLV7nJBFt
|
20
|
+
sBmxhDiesWY+J7y9WNGirrBmAF2h6vz1oGB01YvC5ctWuS+eO51BcHg9QaMgxoTA
|
21
|
+
mxaF597OmLCa9ICICJHUIBxfv2NeuO/Hy/meQHcI58YmxatdD31Gvy71PHa5Fc4+
|
22
|
+
nHe7yOrIj1BU/LaIRAx6iguE4DaRUgQU3orOnzc6mZIWY4sXZu34GX7nYVas0EF7
|
23
|
+
SUQFToihSaMBMltW6Jj9IYRXwYLgLg4RQNYfiQ1JrpGnN9CJ5DhnviBAidjEAMJx
|
24
|
+
XJo=
|
25
|
+
-----END CERTIFICATE-----
|
26
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
2
|
+
MIIEowIBAAKCAQEA0lf2t/cGrs1JxHNK/9PukeA+5thEpCVfHCMe4UE88ZoTw8JO
|
3
|
+
FX+FCGgtG8cx0NEwHGUgNzCRL1hivU2kjgO5sxUDhG0MsFM+J1rLkvjdVGlZCX+g
|
4
|
+
UffDraTuIz1dIq9AZYDfL3O/Qm77GEY0PMzNdP7SHQOqA1PSwiwSXxypvS6cfCTv
|
5
|
+
AisHgZqDDP4DUncwtgGVJOq8L7ZWTr1LYfSnKHt/GTL4m50l0rCGFFJF1m38R5j0
|
6
|
+
9sh14uLf07n/+1Sasl4ezK95tLYNTroiV2j0fJut2T51QcgKJCVy2lQlqTJu5h6Q
|
7
|
+
9rt7NPS0ww3GoRS4oq9aFKH5xkMaCDou2OIn7wIDAQABAoIBAF4ohEfbq8EqImBv
|
8
|
+
X95fZ4cjg+TgYPG9zPKSgitBgd+BImHaJAwZllqqD69Envcj/U5osmAiPIueHC0z
|
9
|
+
iXsNDd6thHKOQkTYLpV9Xm2/O4yiz/mhiQnISG79yqA5wuxY2RHW+5GJVc+OUJaQ
|
10
|
+
Lqgc4cgCndnhHwT4S/shsWOkOBN37q5GjiHq+Vfxi64HbGq3k+h7uH+b9O9pIt9m
|
11
|
+
rj63i1PSy4t6EUR98bN/HjH0O3uhUYbILOLn6CE30XMfbr6O6KIyDEOpsajb6exh
|
12
|
+
P7nGT/VMQOiJYBT2K+kVEJat+qUjte82MGa5Ytygdf5/3EjwrjEcEsYzxS0Z9M8G
|
13
|
+
PtFTqyECgYEA+vi1BJVOF3mbrlS3DvZfDgxPdCuWbif1tmpZVzJNQJE+oGyaVTnB
|
14
|
+
qPtiPn3s2fYDeM5cyBHY0iTgI18d7g0DXg2j++fjxFL4Mo/4GyMH0UnFlIc7x6VY
|
15
|
+
lMbIfHouBLBhpOGYP6S1MQSt72HE3gZ8lk4EYgMQjtmW0QyWOMz6jPECgYEA1o7d
|
16
|
+
zQx9esl27sMxVfyuqBXuDTlFU2/zfulFtAlZCgvhLADVXa5tgokPR3/ldy/caAUn
|
17
|
+
PETkGDWhMGaa61pBJyHspe25FYNpNCRvE32pXc6YyXXNg0t9NkfqFciJCYhJ0hTS
|
18
|
+
+MkK9kBWqinUyE9dvMKCvgmAE1CT8Jh8AVv/gt8CgYB8ffRlMp7LHEKyZklr/aBH
|
19
|
+
OqoLCTgUqnPDKdvpWgViGupC77xavEypQxGHyDU+JT+xpEP35op0K2CXiy4wkHn0
|
20
|
+
JLYMVgnwr+t4QVwkMetF0N9WfwKTVRysqDJ5NK4xG0FEZbd9Ennit9yD2y6pp/QT
|
21
|
+
Jt4btEN5aMvcJO87e8ppMQKBgQDB2C2X9fLgHmhvaraGI1aA0d9S3y09JuXtAUBS
|
22
|
+
Wiexpe333YDntJGH3+CIDor4Vath51X9Y5hYLwvEOM86Vz6J5mJxvwb64tEHpOsd
|
23
|
+
xuhfsinjyaS1PFyR0AMzTwxQKmvXe6znzGs09AfYkRaHKv1bbrjEjLzDtocSVhGj
|
24
|
+
AMUmLQKBgAw5O+Zaw8RI4xpsi2y+y44Tt1QGtdwcdlBMhi7lTRDGT21RxMvypKi4
|
25
|
+
lzMaPm+qQ8lLIep68RbttZZ3FCZ/l3mr6D/SHEcKotl4Z8aLsg5T3sd2WZAfOJvQ
|
26
|
+
XQEi9pUgRj4MKTWIKtc7V26+WpdnNlyk1VLfnb4zS7zjoIDM9cxh
|
27
|
+
-----END RSA PRIVATE KEY-----
|
@@ -0,0 +1,22 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI
|
3
|
+
MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x
|
4
|
+
FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz
|
5
|
+
MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv
|
6
|
+
cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN
|
7
|
+
AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz
|
8
|
+
Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO
|
9
|
+
0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao
|
10
|
+
wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj
|
11
|
+
7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS
|
12
|
+
8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT
|
13
|
+
BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
|
14
|
+
/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg
|
15
|
+
JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC
|
16
|
+
NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3
|
17
|
+
6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/
|
18
|
+
3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm
|
19
|
+
D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS
|
20
|
+
CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
|
21
|
+
3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
|
22
|
+
-----END CERTIFICATE-----
|
Binary file
|
Binary file
|
@@ -0,0 +1,22 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDjzCCAnegAwIBAgIJAP/ZxwuHN9GUMA0GCSqGSIb3DQEBBQUAMF4xCzAJBgNV
|
3
|
+
BAYTAlVTMREwDwYDVQQIDAhJbGxpbm9pczEQMA4GA1UEBwwHQ2hpY2FnbzEYMBYG
|
4
|
+
A1UECgwPUnVieSBDQSBQcm9qZWN0MRAwDgYDVQQDDAdUZXN0IENBMB4XDTExMDIy
|
5
|
+
MDIwNDkxMloXDTMwMDQyMTIwNDkxMlowXjELMAkGA1UEBhMCVVMxETAPBgNVBAgM
|
6
|
+
CElsbGlub2lzMRAwDgYDVQQHDAdDaGljYWdvMRgwFgYDVQQKDA9SdWJ5IENBIFBy
|
7
|
+
b2plY3QxEDAOBgNVBAMMB1Rlc3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
8
|
+
ggEKAoIBAQCot8/z3jxARkwyRk0csM84dlWs91W95wPpunx3P3otqUxCJaOAyQl/
|
9
|
+
uY8deg0xDmsime2JQ6aG6m76y3LfT4J1tlkhtmiGKhNJir1kgL8sL0wTXYXvwZEw
|
10
|
+
qEEYD5mKi7Na9eo4R0ydqd9KAquVIhKywXvV1+Y4RDTx+f1WXmMCBaYZ76/rXmIe
|
11
|
+
oE0avriRiihOtlgto+VNJw7VRnvq+cEd81BT62wRk1fG1lcpCqTEfEtKEI6PqqZh
|
12
|
+
E2f+6lNmhZZ3Tj7NeNgYQLd4q+L1y030Vj4onpAIJrwfQq3dxTmrLDqnN2WOFsbo
|
13
|
+
0qGh3s4yqUaOYd2wIBgCp7fEf5X/yh53AgMBAAGjUDBOMB0GA1UdDgQWBBR5dbuE
|
14
|
+
Osss3noJvjEbQ7wcKk1TWDAfBgNVHSMEGDAWgBR5dbuEOsss3noJvjEbQ7wcKk1T
|
15
|
+
WDAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAp/Fh+WWjN7x/SZzMm
|
16
|
+
H1INAS4loufHXzkqI+3bClAzlhzpBVbY7dHwD6H8oKh06EtppbN0Bw3iqXSRyoNd
|
17
|
+
+lDXccPij5dCuTFQ97DOrv7kGlhiM95XVkx4mvnd+i6jKwgOpllgDE/nKOwC42bq
|
18
|
+
lIikcp7XLQUPt7amyX9UeJ8lxQ/niSkT868ls2IZQkF3XEhCi+5VlefEoaiMQZmD
|
19
|
+
RyEd/vlsSnpXI5LLpkFq+NFGvgdI7+UADNIyDplyivD4VyQ6+zisX3r1ojroa6Y+
|
20
|
+
WyXxLx+AVJVnGjngr2fDKr4ggsYWlJEs8lJ0r90jliYrSPA6rIldTbs3k9AbUp8G
|
21
|
+
kS6X
|
22
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,28 @@
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
2
|
+
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCot8/z3jxARkwy
|
3
|
+
Rk0csM84dlWs91W95wPpunx3P3otqUxCJaOAyQl/uY8deg0xDmsime2JQ6aG6m76
|
4
|
+
y3LfT4J1tlkhtmiGKhNJir1kgL8sL0wTXYXvwZEwqEEYD5mKi7Na9eo4R0ydqd9K
|
5
|
+
AquVIhKywXvV1+Y4RDTx+f1WXmMCBaYZ76/rXmIeoE0avriRiihOtlgto+VNJw7V
|
6
|
+
Rnvq+cEd81BT62wRk1fG1lcpCqTEfEtKEI6PqqZhE2f+6lNmhZZ3Tj7NeNgYQLd4
|
7
|
+
q+L1y030Vj4onpAIJrwfQq3dxTmrLDqnN2WOFsbo0qGh3s4yqUaOYd2wIBgCp7fE
|
8
|
+
f5X/yh53AgMBAAECggEAMlRS5m6fDpVp2X17N1nPFwrF2AkYPMQTOL/2rSP0cHaW
|
9
|
+
Vw0fTyWpfb5+4M4t7Tpd3z6Hy3Cw1oJMhOf35oGzayXwRMxDNfKLOl72zGpTnPym
|
10
|
+
9wfpEnJtu1QVxvWwWdH+uN2u9wbd5hJsl4lgYeZ+KXDqXgo/lP1TxfNLDV6urkVA
|
11
|
+
wsR5URtG2ddOTOUjhUvizWPt1QCVE6Z5YVe9haTtQ4EtLjPywd8LB01AXRkvLIlL
|
12
|
+
2XpL/EeuzF8GLd3GRMjEwgnT7WWBLHe7zIZqsRVx318Pu+WoWRFXUbKxrwH05tUV
|
13
|
+
kx9Gh//L01uNwGx7qHSyJxTmYibjJXQAyQqVpPY4oQKBgQDgTbRVX65AEj5x8J3A
|
14
|
+
1UEBDZE6ZQL/AnM+yPZGFSTfM04ebLUKyeIDvoSUxrbWMSf8JJwU1OCA+zJiXSld
|
15
|
+
0BNBwd/irr9aglEuOBx6ITJypaKtehR5TtZGWsrvJT9f7IZ5Tc29gC0wiKNOqQ09
|
16
|
+
O4J7/tvk2j4viAawGHSlRvJDnwKBgQDAj0X1kLwaH+QlVHU9QyRbK8qJsouot8Km
|
17
|
+
BEjkZQ4D+7BQ/3mfFszJ/AG6tMA6FgikskyEics7XrtNYPZOGZ1xxKpi1an6o8cm
|
18
|
+
GKUavZnkR5eHNwUEl2c9V5lNMbtAbCbIz30sCBFluicw37M2O8n38xTDSnXcRTbN
|
19
|
+
n3rqpu52KQKBgE3MRc8Sx7JrYYNNjLnUfZ5q4UNaw8ZFSEmvlFPMg6Ry/BZraAPc
|
20
|
+
7+qSixO7NLFoDVFUNVq4V0IFXn1liLKEOBmnsArEx5QR/SxFxALMPt4q+ximbjGB
|
21
|
+
Gar/VMHLroaL2Dx8su6WZZYe3l2rHu9tE54EUKq407bSvFcZtGObDu5LAoGAfxmS
|
22
|
+
ueYQ4sWOF73JrOg2hR9AjucVHAY/KsnFO0wglix5Ut1ub73i6qe2lIBeKXkFt4Ag
|
23
|
+
1ZMGXGfJBegsa5youcFwHdCeY9vaxaCayi2/+FfxAsUkQMWW1XyOqc9bo8g/SWj7
|
24
|
+
XCbvJNBcsfvWFMQeKdV/LPBnHz9oTw0nWt9YoxECgYAA9f2l6btaIV2JuDEzR8LK
|
25
|
+
8MjXZMwmg9pEiUT0DsiiVIkJDsHdb2i54DhkfEKxi+ZDTO8AoFpqc4GTwobQHgPk
|
26
|
+
N6Qa+wvig8SAWTS0dbPq2usvmx8cOiuqbn88VVl9jmFT6WTRJzNVRgVMM8xwl3uS
|
27
|
+
odNmWsnOyWhM8h5LMVNb5w==
|
28
|
+
-----END PRIVATE KEY-----
|
@@ -0,0 +1,26 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIEWjCCA0KgAwIBAgIVAL6KQp4q0lBnlTg3fdk1VWh02squMA0GCSqGSIb3DQEB
|
3
|
+
BQUAMF4xCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhJbGxpbm9pczEQMA4GA1UEBwwH
|
4
|
+
Q2hpY2FnbzEYMBYGA1UECgwPUnVieSBDQSBQcm9qZWN0MRAwDgYDVQQDDAdUZXN0
|
5
|
+
IENBMB4XDTEyMDEwNjEwMjYyNloXDTIyMDEwMzE2MjYyNlowYDELMAkGA1UEBhMC
|
6
|
+
VVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdDaGljYWdvMREwDwYDVQQK
|
7
|
+
DAhyNTA5IExMQzEZMBcGA1UEAwwQcjUwOSBPQ1NQIFNpZ25lcjCCASIwDQYJKoZI
|
8
|
+
hvcNAQEBBQADggEPADCCAQoCggEBAL1bj6l9fXWxFxdXIlzRewUKcMIjSvehpL5j
|
9
|
+
CJ/7AqejfsV6K1all9CgOoXF1j7fAT8IkcuwcIQaq3zAV1vXxYtHRiWlQfYeXSWq
|
10
|
+
zwQ8WzBAzIa6HRMZxtjbFzfrAPWEKRNyOlF/R98+VTD2MCRbbeVPLRkOtzHuiG0x
|
11
|
+
ap+vVbGG7bO+kt8cRthVdYm1gkIP4Ox7cSi+JAR9JsZL1kk+QhIgU9BKE4BS0ior
|
12
|
+
jC/FXHd6l3ub1DCoKPr5lw16MpmLwhjnn0myAy6Fr4eTAr69vDoA/KtoszFWO2Ea
|
13
|
+
QsW0rJcRjwKAfliBQu1bVzfhBEpo2fFwjH9ydxp7NWHIf+/y1yECAwEAAaOCAQsw
|
14
|
+
ggEHMAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwkwHQYDVR0OBBYE
|
15
|
+
FE7QZeVFxt67S7tR1FuFGA+DjTiMMIGQBgNVHSMEgYgwgYWAFHl1u4Q6yyzeegm+
|
16
|
+
MRtDvBwqTVNYoWKkYDBeMQswCQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMx
|
17
|
+
EDAOBgNVBAcMB0NoaWNhZ28xGDAWBgNVBAoMD1J1YnkgQ0EgUHJvamVjdDEQMA4G
|
18
|
+
A1UEAwwHVGVzdCBDQYIJAP/ZxwuHN9GUMDAGA1UdHwQpMCcwJaAjoCGGH2h0dHA6
|
19
|
+
Ly9jcmwucjUwOS5vcmcvdGVzdF9jYS5jcmwwDQYJKoZIhvcNAQEFBQADggEBAAGM
|
20
|
+
Zg+p84GjC0gzeQZROqS6s4GDJgRn0/kEpnSQO8wDsjLjyyzbW8xIyX9w1EdVaSS8
|
21
|
+
mTe/oZ9SvMS8ONHlINyQtM0GuS6OOxtEQcx5/IJxdC+TDXQ27TvBgNg2KUIWxDgG
|
22
|
+
9V18jdS/fV3pDFbUfulGciQkUrReCjchM52XUg0mb13VCCLjEUETPVYV6akOgglM
|
23
|
+
Lg22je3F6fiEctwHHMABv6fOSrKa3Qg0SCx1WA+uHLnrLjc5vYljAzvQYz8UywoS
|
24
|
+
RBnW6UInYvBs6KZmWv9acWGew3pQLOp0+FOrvgnxLWG7D4QuMulaYgKP1cpValmU
|
25
|
+
iCkw4FfJqeDBTxrenF4=
|
26
|
+
-----END CERTIFICATE-----
|