logstash-input-elastic_serverless_forwarder 0.1.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +2 -0
- data/DEVELOPER.md +1 -0
- data/Gemfile +11 -0
- data/LICENSE +202 -0
- data/NOTICE.TXT +1 -0
- data/README.md +98 -0
- data/docs/index.asciidoc +307 -0
- data/lib/logstash/inputs/elastic_serverless_forwarder.rb +172 -0
- data/logstash-input-elastic_serverless_forwarder.gemspec +32 -0
- data/spec/fixtures/certs/generate.sh +58 -0
- data/spec/fixtures/certs/generated/README.txt +2 -0
- data/spec/fixtures/certs/generated/client_from_root.crt +35 -0
- data/spec/fixtures/certs/generated/client_from_root.jks +0 -0
- data/spec/fixtures/certs/generated/client_from_root.key +51 -0
- data/spec/fixtures/certs/generated/client_from_root.key.pkcs8 +52 -0
- data/spec/fixtures/certs/generated/client_from_root.p12 +0 -0
- data/spec/fixtures/certs/generated/client_no_matching_subject.crt +35 -0
- data/spec/fixtures/certs/generated/client_no_matching_subject.key +51 -0
- data/spec/fixtures/certs/generated/client_no_matching_subject.p12 +0 -0
- data/spec/fixtures/certs/generated/client_self_signed.crt +30 -0
- data/spec/fixtures/certs/generated/client_self_signed.key +52 -0
- data/spec/fixtures/certs/generated/client_self_signed.p12 +0 -0
- data/spec/fixtures/certs/generated/root.crt +32 -0
- data/spec/fixtures/certs/generated/root.key +51 -0
- data/spec/fixtures/certs/generated/server_from_root.crt +36 -0
- data/spec/fixtures/certs/generated/server_from_root.key +51 -0
- data/spec/fixtures/certs/generated/server_from_root.key.pkcs8 +52 -0
- data/spec/fixtures/certs/generated/server_from_root.pkcs8.key +52 -0
- data/spec/fixtures/certs/openssl.cnf +57 -0
- data/spec/inputs/elastic_serverless_forwarder_spec.rb +292 -0
- metadata +188 -0
@@ -0,0 +1,172 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require "logstash/inputs/base"
|
3
|
+
require "logstash/namespace"
|
4
|
+
|
5
|
+
require "logstash/plugin_mixins/plugin_factory_support"
|
6
|
+
|
7
|
+
require 'logstash/inputs/http'
|
8
|
+
require 'logstash/codecs/json_lines'
|
9
|
+
|
10
|
+
class LogStash::Inputs::ElasticServerlessForwarder < LogStash::Inputs::Base
|
11
|
+
include LogStash::PluginMixins::PluginFactorySupport
|
12
|
+
|
13
|
+
config_name "elastic_serverless_forwarder"
|
14
|
+
|
15
|
+
# no-codec
|
16
|
+
config :codec, obsolete: 'The elastic_serverless_forwarder input does not have an externally-configurable codec'
|
17
|
+
|
18
|
+
# bind address
|
19
|
+
config :host, :validate => :string, :default => "0.0.0.0"
|
20
|
+
config :port, :validate => :number, :required => true
|
21
|
+
|
22
|
+
# optional http basic auth
|
23
|
+
config :auth_basic_username, :validate => :string
|
24
|
+
config :auth_basic_password, :validate => :password
|
25
|
+
|
26
|
+
# ssl-config
|
27
|
+
config :ssl, :validate => :boolean, :default => true
|
28
|
+
|
29
|
+
# ssl-identity
|
30
|
+
config :ssl_certificate, :validate => :path
|
31
|
+
config :ssl_key, :validate => :path
|
32
|
+
config :ssl_key_passphrase, :validate => :password
|
33
|
+
|
34
|
+
# ssl-trust
|
35
|
+
config :ssl_certificate_authorities, :validate => :path, :list => true
|
36
|
+
config :ssl_client_authentication, :validate => %w(none optional required), :default => 'none'
|
37
|
+
config :ssl_verification_mode, :validate => %w(certificate), :default => 'certificate'
|
38
|
+
|
39
|
+
# ssl-expert-mode
|
40
|
+
config :ssl_cipher_suites, :validate => :string, :list => true
|
41
|
+
config :ssl_supported_protocols, :validate => :string, :list => true
|
42
|
+
config :ssl_handshake_timeout, :validate => :number, :default => 10_000
|
43
|
+
|
44
|
+
# we present the ES-like ssl_certificate_authorities, but our
|
45
|
+
# internal http input plugin uses ssl_verify_mode to describe
|
46
|
+
# the same behaviour.
|
47
|
+
SSL_CLIENT_AUTHENTICATION_TO_VERIFY_MODE_MAP = {
|
48
|
+
'none' => 'none',
|
49
|
+
'optional' => 'peer',
|
50
|
+
'required' => 'force_peer',
|
51
|
+
}.each_value(&:freeze).freeze # deep freeze
|
52
|
+
private_constant :SSL_CLIENT_AUTHENTICATION_TO_VERIFY_MODE_MAP
|
53
|
+
|
54
|
+
|
55
|
+
def initialize(*a)
|
56
|
+
super
|
57
|
+
@internal_http = plugin_factory.input('http').new(inner_http_input_options)
|
58
|
+
end
|
59
|
+
|
60
|
+
def register
|
61
|
+
logger.debug("registering inner HTTP input plugin")
|
62
|
+
@internal_http.register
|
63
|
+
logger.debug("registered inner HTTP input plugin")
|
64
|
+
end # def register
|
65
|
+
|
66
|
+
|
67
|
+
def run(queue)
|
68
|
+
logger.debug("starting inner HTTP input plugin")
|
69
|
+
@internal_http.run(QueueWrapper.new(queue))
|
70
|
+
logger.debug('inner HTTP plugin has exited')
|
71
|
+
rescue => e
|
72
|
+
logger.error("inner HTTP plugin has had an unrecoverable exception: #{e.message} at #{e.backtrace.first}")
|
73
|
+
raise
|
74
|
+
end
|
75
|
+
|
76
|
+
def stop
|
77
|
+
logger.debug("stopping inner HTTP input plugin")
|
78
|
+
@internal_http.stop
|
79
|
+
logger.debug('inner HTTP plugin has been stopped')
|
80
|
+
end
|
81
|
+
|
82
|
+
def close
|
83
|
+
logger.debug("closing inner HTTP input plugin")
|
84
|
+
@internal_http.close
|
85
|
+
logger.debug('inner HTTP plugin has been closed')
|
86
|
+
end
|
87
|
+
|
88
|
+
private
|
89
|
+
|
90
|
+
def inner_http_input_options
|
91
|
+
@_inner_http_input_options ||= begin
|
92
|
+
http_options = {
|
93
|
+
# directly-configurable
|
94
|
+
'host' => @host,
|
95
|
+
'port' => @port,
|
96
|
+
|
97
|
+
# non-configurable codec
|
98
|
+
'codec' => plugin_factory.codec('json_lines').new(inner_json_lines_codec_options),
|
99
|
+
'additional_codecs' => {},
|
100
|
+
|
101
|
+
# enrichment avoidance
|
102
|
+
'ecs_compatibility' => 'disabled',
|
103
|
+
'remote_host_target_field' => '[@metadata][void]',
|
104
|
+
'request_headers_target_field' => '[@metadata][void]',
|
105
|
+
}
|
106
|
+
|
107
|
+
if @auth_basic_username
|
108
|
+
http_options['user'] = @auth_basic_username
|
109
|
+
http_options['password'] = @auth_basic_password || fail(LogStash::ConfigurationError, '`auth_basic_password` is REQUIRED when `auth_basic_username` is provided')
|
110
|
+
logger.warn("HTTP Basic Auth over non-secured connection") if @ssl == false
|
111
|
+
end
|
112
|
+
|
113
|
+
if @ssl == false
|
114
|
+
ignored_ssl_settings = @original_params.keys.grep('ssl_')
|
115
|
+
logger.warn("Explicit SSL-related settings are ignored because `ssl => false`: #{ignored_ssl_settings.keys}") if ignored_ssl_settings.any?
|
116
|
+
else
|
117
|
+
http_options['ssl'] = true
|
118
|
+
|
119
|
+
http_options['ssl_cipher_suites'] = @ssl_cipher_suites if @original_params.include?('ssl_cipher_suites')
|
120
|
+
http_options['ssl_supported_protocols'] = @ssl_supported_protocols if @original_params.include?('ssl_supported_protocols')
|
121
|
+
http_options['ssl_handshake_timeout'] = @ssl_handshake_timeout
|
122
|
+
|
123
|
+
http_options.merge!(ssl_identity_options)
|
124
|
+
http_options.merge!(ssl_trust_options)
|
125
|
+
end
|
126
|
+
|
127
|
+
http_options
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
def ssl_identity_options
|
132
|
+
identity_options = {
|
133
|
+
'ssl_certificate' => @ssl_certificate || fail(LogStash::ConfigurationError, '`ssl_certificate` is REQUIRED when `ssl => true`'),
|
134
|
+
'ssl_key' => @ssl_key || fail(LogStash::ConfigurationError, '`ssl_key` is REQUIRED when `ssl => true`')
|
135
|
+
}
|
136
|
+
identity_options['ssl_key_passphrase'] = @ssl_key_passphrase if @original_params.include?('ssl_key_passphrase')
|
137
|
+
|
138
|
+
identity_options
|
139
|
+
end
|
140
|
+
|
141
|
+
def ssl_trust_options
|
142
|
+
trust_options = {
|
143
|
+
'ssl_verify_mode' => SSL_CLIENT_AUTHENTICATION_TO_VERIFY_MODE_MAP.fetch(@ssl_client_authentication)
|
144
|
+
}
|
145
|
+
if @ssl_client_authentication == 'none'
|
146
|
+
logger.warn("Explicit `ssl_certificate_authorities` is ignored because `ssl_client_authentication => #{@ssl_client_authentication}`")
|
147
|
+
else
|
148
|
+
trust_options['ssl_certificate_authorities'] = @ssl_certificate_authorities || fail(LogStash::ConfigurationError, "`ssl_certificate_authorities` is REQUIRED when `ssl_client_authentication => #{@ssl_client_authentication}`")
|
149
|
+
end
|
150
|
+
|
151
|
+
trust_options
|
152
|
+
end
|
153
|
+
|
154
|
+
def inner_json_lines_codec_options
|
155
|
+
@_inner_json_lines_codec_options ||= {
|
156
|
+
# enrichment avoidance
|
157
|
+
'ecs_compatibility' => 'disabled',
|
158
|
+
}
|
159
|
+
end
|
160
|
+
|
161
|
+
class QueueWrapper
|
162
|
+
def initialize(wrapped_queue)
|
163
|
+
@wrapped_queue = wrapped_queue
|
164
|
+
end
|
165
|
+
|
166
|
+
def << (event)
|
167
|
+
event.remove('[@metadata][void]')
|
168
|
+
@wrapped_queue << event
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
end # class LogStash::Inputs::ElasticServerlessForwarder
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = 'logstash-input-elastic_serverless_forwarder'
|
5
|
+
s.version = '0.1.0'
|
6
|
+
s.licenses = ['Apache License (2.0)']
|
7
|
+
s.summary = "Receives events from Elastic Serverless Forwarder over HTTP or HTTPS"
|
8
|
+
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
|
9
|
+
s.authors = ["Elastic"]
|
10
|
+
s.email = 'info@elastic.co'
|
11
|
+
s.homepage = "http://www.elastic.co/guide/en/logstash/current/index.html"
|
12
|
+
s.require_paths = ["lib", "vendor/jar-dependencies"]
|
13
|
+
|
14
|
+
# Files
|
15
|
+
s.files = Dir["lib/**/*","spec/**/*","*.gemspec","*.md","CONTRIBUTORS","Gemfile","LICENSE","NOTICE.TXT", "VERSION", "docs/**/*"]
|
16
|
+
# Tests
|
17
|
+
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
18
|
+
|
19
|
+
# Special flag to let us know this is actually a logstash plugin
|
20
|
+
s.metadata = { "logstash_plugin" => "true", "logstash_group" => "input" }
|
21
|
+
|
22
|
+
# Gem dependencies
|
23
|
+
s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
|
24
|
+
s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1.2'
|
25
|
+
s.add_runtime_dependency 'logstash-mixin-plugin_factory_support'
|
26
|
+
s.add_runtime_dependency 'logstash-input-http'
|
27
|
+
s.add_runtime_dependency 'logstash-codec-json_lines'
|
28
|
+
|
29
|
+
s.add_development_dependency 'logstash-devutils'
|
30
|
+
|
31
|
+
s.platform = "java"
|
32
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# warning: do not use the certificates produced by this tool in production.
|
2
|
+
# This is for testing purposes only
|
3
|
+
set -e
|
4
|
+
|
5
|
+
rm -rf generated
|
6
|
+
mkdir generated
|
7
|
+
cd generated
|
8
|
+
|
9
|
+
echo "GENERATED CERTIFICATES FOR TESTING ONLY." >> ./README.txt
|
10
|
+
echo "DO NOT USE THESE CERTIFICATES IN PRODUCTION" >> ./README.txt
|
11
|
+
|
12
|
+
# certificate authority
|
13
|
+
openssl genrsa -out root.key 4096
|
14
|
+
openssl req -new -x509 -days 1826 -extensions ca -key root.key -out root.crt -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=root" -config ../openssl.cnf
|
15
|
+
|
16
|
+
# server certificate from root
|
17
|
+
openssl genrsa -out server_from_root.key 4096
|
18
|
+
openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in server_from_root.key -out server_from_root.pkcs8.key
|
19
|
+
openssl req -new -key server_from_root.key -out server_from_root.csr -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=server" -config ../openssl.cnf
|
20
|
+
openssl x509 -req -extensions server_cert -extfile ../openssl.cnf -days 1096 -in server_from_root.csr -CA root.crt -CAkey root.key -set_serial 03 -out server_from_root.crt -sha256
|
21
|
+
|
22
|
+
# client certificate from root
|
23
|
+
openssl genrsa -out client_from_root.key 4096
|
24
|
+
openssl req -new -key client_from_root.key -out client_from_root.csr -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=client" -config ../openssl.cnf
|
25
|
+
openssl x509 -req -extensions client_cert -extfile ../openssl.cnf -days 1096 -in client_from_root.csr -CA root.crt -CAkey root.key -set_serial 04 -out client_from_root.crt -sha256
|
26
|
+
|
27
|
+
# self-signed for testing
|
28
|
+
openssl req -newkey rsa:4096 -nodes -keyout client_self_signed.key -x509 -days 365 -out client_self_signed.crt -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=self"
|
29
|
+
#openssl genrsa -out client_self_signed.key 4096
|
30
|
+
#openssl req -new -x509 -days 1826 -extensions client_cert -key client_self_signed.key -out client_self_signed.crt -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=self" -config ../openssl.cnf
|
31
|
+
|
32
|
+
## client with invalid subject
|
33
|
+
openssl genrsa -out client_no_matching_subject.key 4096
|
34
|
+
openssl req -new -key client_no_matching_subject.key -out client_no_matching_subject.csr -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=client_no_matching_subject" -config ../openssl.cnf
|
35
|
+
openssl x509 -req -extensions client_cert_no_matching_subject -extfile ../openssl.cnf -days 1096 -in client_no_matching_subject.csr -CA root.crt -CAkey root.key -set_serial 04 -out client_no_matching_subject.crt
|
36
|
+
|
37
|
+
# verify :allthethings
|
38
|
+
openssl verify -CAfile root.crt server_from_root.crt
|
39
|
+
openssl verify -CAfile root.crt client_from_root.crt
|
40
|
+
openssl verify -CAfile root.crt client_no_matching_subject.crt
|
41
|
+
|
42
|
+
! openssl verify -CAfile root.crt client_self_signed.crt > /dev/null
|
43
|
+
openssl verify -CAfile client_self_signed.crt client_self_signed.crt
|
44
|
+
|
45
|
+
# create pkcs8 versions of all keys
|
46
|
+
openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in client_from_root.key -out client_from_root.key.pkcs8
|
47
|
+
openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in server_from_root.key -out server_from_root.key.pkcs8
|
48
|
+
|
49
|
+
# create pkcs12 keystores (pass:12345678)
|
50
|
+
openssl pkcs12 -export -in client_from_root.crt -inkey client_from_root.key -out client_from_root.p12 -name "client_from_root" -passout 'pass:12345678'
|
51
|
+
openssl pkcs12 -export -in client_self_signed.crt -inkey client_self_signed.key -out client_self_signed.p12 -name "client_from_root" -passout 'pass:12345678'
|
52
|
+
openssl pkcs12 -export -in client_no_matching_subject.crt -inkey client_no_matching_subject.key -out client_no_matching_subject.p12 -name "client_no_matching_subject" -passout 'pass:12345678'
|
53
|
+
|
54
|
+
# use java keytool to convert all pkcs12 keystores to jks-format keystores (pass:12345678)
|
55
|
+
keytool -importkeystore -srckeystore client_from_root.p12 -srcstoretype pkcs12 -srcstorepass 12345678 -destkeystore client_from_root.jks -deststorepass 12345678 -alias client_from_root
|
56
|
+
|
57
|
+
# cleanup csr, we don't need them
|
58
|
+
rm -rf *.csr
|
@@ -0,0 +1,35 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIGATCCA+mgAwIBAgIBBDANBgkqhkiG9w0BAQsFADBRMQswCQYDVQQGEwJMUzEL
|
3
|
+
MAkGA1UECAwCTkExEzARBgNVBAcMCkh0dHAgSW5wdXQxETAPBgNVBAoMCExvZ3N0
|
4
|
+
YXNoMQ0wCwYDVQQDDARyb290MB4XDTIyMTExODA2MTA0OFoXDTI1MTExODA2MTA0
|
5
|
+
OFowUzELMAkGA1UEBhMCTFMxCzAJBgNVBAgMAk5BMRMwEQYDVQQHDApIdHRwIElu
|
6
|
+
cHV0MREwDwYDVQQKDAhMb2dzdGFzaDEPMA0GA1UEAwwGY2xpZW50MIICIjANBgkq
|
7
|
+
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA49LRvGg28z/chbygtYSEHILCOqkUgPom
|
8
|
+
M1K6Zity7oPHHfepVSJjIuvyAeT/c2wSay4VL4npZWQ2/AuNdtltGb58PviuYtB/
|
9
|
+
1S2sX8WyC2rPcq3vVk85FA0c7xLsOPA+4Hp7hHLxgBfBkIkCNFBRXQOrMBiPrBM7
|
10
|
+
RKrCKo1b254O83Hdy+kiUr6GZGXIWDPK3C3tkksKCAv++fxMQgucB9ERX4cigVAQ
|
11
|
+
+ZIBZGLrWU7Jm/LbI4+TlbFZj/3dQDflRuAhX01Kb5dktnhxrlQd/UkDcpHCv38+
|
12
|
+
2/haBov4wmu9/93eKWfc5tqMx8SnnNPjq+ms3rq8WVQtxBUrh60cKhdEKO9nYhrX
|
13
|
+
KssHPIPXiM5V2R8yVddFygmgkEEUkxYIg9VYHFGlMCOQC5OoyXIoi08xs8h+GJbM
|
14
|
+
MdODsRF8ZhIPeCA7Va34MlySZrvXEzPavNwk3fq7NVUV4Um1lLWQPVwZ9yR9ii3y
|
15
|
+
yDa+xibvUWegs/3y04iFL9hhp4EM3u5ucQOdyQEMurxvXx9WrBi8VhMmJUN7dDq4
|
16
|
+
emWe8BITVYG6+vVkX577dgm12FGjah4HCEqJuckudP/QGa1xmgJ+AjQ5Q7xzp0VA
|
17
|
+
5/llWSlGjzCcVms0V21wyHKGPm0p1sJ+cmcqLBCCgdFl2dnevoLXVjp18Xt6Oas9
|
18
|
+
KI343tBSn7ECAwEAAaOB4TCB3jAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIF
|
19
|
+
oDAzBglghkgBhvhCAQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgQ2xpZW50IENlcnRp
|
20
|
+
ZmljYXRlMB0GA1UdDgQWBBSsU4ZmryDNkeQXZHZ2zvYu7Xp6tTAfBgNVHSMEGDAW
|
21
|
+
gBTA8vgd/nWOBOCTxL+z67d+Am9lqjAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYw
|
22
|
+
FAYIKwYBBQUHAwIGCCsGAQUFBwMEMBoGA1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAA
|
23
|
+
ATANBgkqhkiG9w0BAQsFAAOCAgEAKfEdNhRpBfZgjZm8cFVLHEL+ML8zMlCubS2v
|
24
|
+
v8JL/Fg3Tlj11iCYa5XmwwHdprpDyrIChZOwsZK+1xWHgy+vGI5W93RbhCxx7o4C
|
25
|
+
DzcFkeI13qgjtdDvbzttZIHGNWSN8qaXLlc+rJBYn8uOUyQ95wXYJM+j+hH3E34c
|
26
|
+
60Iy8AcYPcBhtiDN94eHswKxiF1EgViHVlVraaTWTU7U0VCeFTHWebQb+Hdg9Fa8
|
27
|
+
SjK1Mqcnowd4owgXEjPgbyyf6UOgBe6wScwJjyDPmh7tvDKsSeD4XibRK+Hmwinx
|
28
|
+
gtxnZtlM4472EOOENNfd7JGui6H8XxHU9dUMMDTH4YY6cakpHpAopMY5jKYqhEdH
|
29
|
+
bCNZX+EmP9XV8cfjQWOJOSck3O1FA8EL5Yekbyh8Rf60gneSu3lrvwvLE2msz00Y
|
30
|
+
vILeVMZvBXO3Ua3YitWFv9pxrgkGfpIt1U25H6Bg1pP2qSoEBSh5tCBqXbFqr1o2
|
31
|
+
QiuE0Y+bv2DT0rtKZ3Gt1G2klqZg3KpL2pM7Udf5bxm0Bxgj+XA1SycNqNsciGtK
|
32
|
+
jPFuA1IsFwNzJd0AcDtDRWK6o0GhtUwQ+JMfP06V07knWg21aTPddhiaDrgpMTFJ
|
33
|
+
hD8TJvTs8kkjz4COiv/jTippc9lw0Fy4rneZ2iAt59JaiqmoXvBP0tvj3orBBnqW
|
34
|
+
n3C9qbA=
|
35
|
+
-----END CERTIFICATE-----
|
Binary file
|
@@ -0,0 +1,51 @@
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
2
|
+
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
|
51
|
+
-----END RSA PRIVATE KEY-----
|
@@ -0,0 +1,52 @@
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
2
|
+
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
|
51
|
+
77ssEYdFL/m/xgst/9elgrMeiH2bE88=
|
52
|
+
-----END PRIVATE KEY-----
|
Binary file
|
@@ -0,0 +1,35 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
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
|
34
|
+
P5rwcLgNa2F3flh46OFCDDfET1tRU6M=
|
35
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,51 @@
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
2
|
+
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
|
51
|
+
-----END RSA PRIVATE KEY-----
|
Binary file
|
@@ -0,0 +1,30 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIFHjCCAwYCCQDkSE8sMpnvPTANBgkqhkiG9w0BAQsFADBRMQswCQYDVQQGEwJM
|
3
|
+
UzELMAkGA1UECAwCTkExEzARBgNVBAcMCkh0dHAgSW5wdXQxETAPBgNVBAoMCExv
|
4
|
+
Z3N0YXNoMQ0wCwYDVQQDDARzZWxmMB4XDTIyMTExODA2MTA0OVoXDTIzMTExODA2
|
5
|
+
MTA0OVowUTELMAkGA1UEBhMCTFMxCzAJBgNVBAgMAk5BMRMwEQYDVQQHDApIdHRw
|
6
|
+
IElucHV0MREwDwYDVQQKDAhMb2dzdGFzaDENMAsGA1UEAwwEc2VsZjCCAiIwDQYJ
|
7
|
+
KoZIhvcNAQEBBQADggIPADCCAgoCggIBANlpTaxVhJRVBopFwkHg1jzn7pt0273T
|
8
|
+
gKiAFZr4ohroMnfxmlsVhhiCsmcS+y3We1aMcOZWWp7Mp7Dhf+1p8UK6AgiRBLEW
|
9
|
+
jylBdqCOlncbta54jZRPPtU+X4cD/+HcSyASzmoEEJJqdQ8WaXgps2a5YwC9yLcL
|
10
|
+
yCDLxqgVGUTIhI2bR1BPjd/KK1VRk5EwPwvubGxgqrMQl6Ombn62sHyiaCaKa2Dh
|
11
|
+
2596wdy7d5iaBKLAn/iQ1wdGAN0ZXFlY/FKNmOXWZo3E6JxLKSgNl/jKKDJdo6KE
|
12
|
+
aK6HJasIhyDJDtVU7180cRIQh+/iBnx3nWu6cJymelwX6EcGzqwPtWle1kHLyMMK
|
13
|
+
p7m+mZo05JOPCXcxmngvzCr5yqsoX9HZAHFEm4C+0qWKKmcXTDz+UUB1msWKU64R
|
14
|
+
9GmOtRI8hXx9aZd9fU6cbV0hojkqohZxBKUeAfpjxoGZBV2sFlSEK9661G35ipMv
|
15
|
+
WiAZrwPNLXQqBXX8qyo19dUDdZUZ4ZFFUt/P2k8uWRoO+RycPiisU2ms/IMC/Wkg
|
16
|
+
IlzocEo8JUeFzYcMqHI7JC9YwZmI7rQhbR6N6Ntdz6vjbaRC8DLbGP1QcQDeFAwU
|
17
|
+
qb9SmzW/JGcNYXP4ugi8CFtbm5aEIiaJ/YE/IaRTpt5GhKAqbJHgG4PhdRTo9y9K
|
18
|
+
HvccsUeTl8pvAgMBAAEwDQYJKoZIhvcNAQELBQADggIBAGAKEjJ6ZhZkD9Ex/Uf8
|
19
|
+
QQt5Ktz+jVSk4fYPHOv4DAUpb2psFRLPMmUda/23lMAxzJDYuIeiWIfjSCLWQuEP
|
20
|
+
7p0bokGMcDxYH7uvEBF3WwoSRBgePZ+GfhTIqg7O+pzwW6CeUXtkjEHsyX8TF9ct
|
21
|
+
TAfH1t/oajIMhGE/YA9Nt8FCMvbhrxx4GjUf+JryKWQJ/Dq47TQgHT8BDGAonuAi
|
22
|
+
xoCyZNKEIY9C0eHgVwmSG74LZhJheuKl6PClLlHAEzkyNUNDEQm/y9pBtKqmB16l
|
23
|
+
rBXBJ+zSx22LoT2Hc+mBPh0p/hnyORCU/NJ8abiC48aQxMao/hZ2+VYvDIkKyUQl
|
24
|
+
ed68OqP52ntZpsqwnGoRfKh6X9SnxzpoczoKFHyQU250HS8I9rON43B3v51/9Kjd
|
25
|
+
YYwc2hgVW6BgllAmtYLUeOGYWEhZ/EXXF/ti/v9ZNaMKthcHF5F25gZdR5DX+4gb
|
26
|
+
ozZJ7JANXp9mR/I0prQcpArUFVtOatgd1D5huzfzktSBXgIVhPb1sqJ8hEkZ1u6n
|
27
|
+
689yKqJ0jU3XClhcAunf8JafekbGh40JQrycHhTkCo4NaqHEO5bOOl0ciX30S+by
|
28
|
+
qtY3PFQ1O8uAGuD+cpbUkJtPdWzV3sTk2SG5fzDk4+yod3wENMNmkoHyOkjp0uPN
|
29
|
+
hIQyRZ/KHHatP6/mcMZSLP2W
|
30
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,52 @@
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
2
|
+
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
|
51
|
+
DFGSv7HnY1VyDVo1ADyAkW85V09XAg==
|
52
|
+
-----END PRIVATE KEY-----
|
Binary file
|
@@ -0,0 +1,32 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
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
|
31
|
+
xSZuhCQLdbzR8ZCp+0zVuhRkyz8h8KAjMWChdA==
|
32
|
+
-----END CERTIFICATE-----
|