logstash-integration-logstash 0.0.2-java → 0.0.4-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/VERSION +1 -1
- data/docs/index.asciidoc +5 -4
- data/docs/input-logstash.asciidoc +5 -7
- data/docs/output-logstash.asciidoc +35 -22
- data/lib/logstash/inputs/logstash.rb +1 -1
- data/lib/logstash/outputs/logstash.rb +29 -4
- data/logstash-integration-logstash.gemspec +1 -0
- data/spec/fixtures/certs/generated/client_from_root.jks +0 -0
- data/spec/fixtures/certs/generated/client_from_root.key.pem +50 -50
- data/spec/fixtures/certs/generated/client_from_root.key.pkcs8.pem +52 -52
- data/spec/fixtures/certs/generated/client_from_root.p12 +0 -0
- data/spec/fixtures/certs/generated/client_from_root.pem +28 -28
- data/spec/fixtures/certs/generated/client_from_untrusted.jks +0 -0
- data/spec/fixtures/certs/generated/client_from_untrusted.key.pem +50 -50
- data/spec/fixtures/certs/generated/client_from_untrusted.key.pkcs8.pem +52 -52
- data/spec/fixtures/certs/generated/client_from_untrusted.p12 +0 -0
- data/spec/fixtures/certs/generated/client_from_untrusted.pem +28 -28
- data/spec/fixtures/certs/generated/client_self_signed.jks +0 -0
- data/spec/fixtures/certs/generated/client_self_signed.key.pem +50 -50
- data/spec/fixtures/certs/generated/client_self_signed.key.pkcs8.pem +52 -52
- data/spec/fixtures/certs/generated/client_self_signed.p12 +0 -0
- data/spec/fixtures/certs/generated/client_self_signed.pem +28 -28
- data/spec/fixtures/certs/generated/root.key.pem +50 -50
- data/spec/fixtures/certs/generated/root.pem +28 -28
- data/spec/fixtures/certs/generated/server_from_root-key-pkcs8.pem +50 -50
- data/spec/fixtures/certs/generated/server_from_root.jks +0 -0
- data/spec/fixtures/certs/generated/server_from_root.key.pem +50 -50
- data/spec/fixtures/certs/generated/server_from_root.key.pkcs8.pem +52 -52
- data/spec/fixtures/certs/generated/server_from_root.p12 +0 -0
- data/spec/fixtures/certs/generated/server_from_root.pem +29 -29
- data/spec/fixtures/certs/generated/untrusted.key.pem +50 -50
- data/spec/fixtures/certs/generated/untrusted.pem +28 -28
- data/spec/unit/full_transmission_spec.rb +7 -7
- data/spec/unit/logstash_input_spec.rb +31 -2
- data/spec/unit/logstash_output_spec.rb +25 -2
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27a5393272c2cfde9c75782f701b1751dd1d3b35225876fb54c36f13ba0696b6
|
4
|
+
data.tar.gz: d7d9337f2c85dcaddfbc7ef79723e3993dda720fe407b5b189d8bc9ee4e1570a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4bf91d282d3bfac6a0dae1864db3da98f6ffa02623b9f68eb683d77155d97910b7480442f53a992dda28883a05582e610bc037499b4ed5fcbf51a33b19d65f0
|
7
|
+
data.tar.gz: c6eeb96c776110b415e48d0ce2299f102a3469aaf9673b8870b8e46c02f569c2cf0fd21782a273aa34923673b824730cf128a1569c1e38fdfbc9d831642eb5a9
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 0.0.4
|
2
|
+
- Simplify configuration [#13](https://github.com/logstash-plugins/logstash-integration-logstash/pull/13)
|
3
|
+
- Introduce a default `port` of `9800` for both input and output plugins
|
4
|
+
- BREAKING: Introduce `hosts` config to output plugin, _replacing_ its separate `host` and `port` configurations
|
5
|
+
|
6
|
+
## 0.0.3
|
7
|
+
- Doc: Minor doc changes and version bump to facilitate adding integration files to doc build [#14](https://github.com/logstash-plugins/logstash-integration-logstash/pull/14)
|
8
|
+
|
1
9
|
## 0.0.2
|
2
10
|
- Enable data compression [#10](https://github.com/logstash-plugins/logstash-integration-logstash/pull/10)
|
3
11
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.4
|
data/docs/index.asciidoc
CHANGED
@@ -29,7 +29,7 @@ The Logstash Integration Plugin provides integrated plugins for sending events f
|
|
29
29
|
[id="plugins-{type}s-{plugin}-concepts"]
|
30
30
|
===== High-level concepts
|
31
31
|
|
32
|
-
You can configure a `logstash` output to send events to a `logstash` input
|
32
|
+
You can configure a `logstash` output to send events to a `logstash` input in another pipeline that is running in a different process or on a different host.
|
33
33
|
|
34
34
|
To do so, you should first configure the downstream pipeline with a `logstash` input plugin, bound to an available port so that it can listen for inbound connections.
|
35
35
|
Security is enabled by default, so you will need to either provide identity material or disable SSL.
|
@@ -40,7 +40,7 @@ NOTE: You will need a TCP route from the upstream pipeline to the interface that
|
|
40
40
|
----
|
41
41
|
input {
|
42
42
|
logstash {
|
43
|
-
port =>
|
43
|
+
port => 9800
|
44
44
|
|
45
45
|
# SSL IDENTITY <1>
|
46
46
|
ssl_keystore_path => "/path/to/identity.p12"
|
@@ -53,12 +53,13 @@ input {
|
|
53
53
|
Once the downstream pipeline is configured and running, you may send events from any number of upstream pipelines by adding a `logstash` output plugin that points to the downstream input.
|
54
54
|
You may need to configure SSL to trust the certificates presented by the downstream input plugin.
|
55
55
|
|
56
|
+
NOTE: Single host endpoint is supported for `hosts`. Multi-host support is coming soon.
|
57
|
+
|
56
58
|
[source]
|
57
59
|
----
|
58
60
|
output {
|
59
61
|
logstash {
|
60
|
-
|
61
|
-
port => 8080
|
62
|
+
hosts => "10.0.0.123:9800"
|
62
63
|
|
63
64
|
# SSL TRUST <1>
|
64
65
|
ssl_truststore_path => "/path/to/truststore.p12"
|
@@ -23,10 +23,10 @@ include::{include_path}/plugin_header-integration.asciidoc[]
|
|
23
23
|
==== Description
|
24
24
|
|
25
25
|
Listen for events that are sent by a <<plugins-outputs-logstash>> in a pipeline that may be in another process or on another host.
|
26
|
-
The upstream output must have a TCP route to the port on an interface that this plugin is bound to.
|
26
|
+
The upstream output must have a TCP route to the port (defaults to 9800) on an interface that this plugin is bound to.
|
27
27
|
|
28
|
-
NOTE: Sending events to this input by _any_ means other than
|
29
|
-
|
28
|
+
NOTE: Sending events to this input by _any_ means other than `plugins-outputs-logstash` is neither advised nor supported.
|
29
|
+
We will maintain cross-compatibility with any two supported versions of output/input pair and reserve the right to change details such as protocol and encoding.
|
30
30
|
|
31
31
|
[id="plugins-{type}s-{plugin}-minimum-config"]
|
32
32
|
===== Minimum Configuration
|
@@ -40,7 +40,6 @@ NOTE: Sending events to this input by _any_ means other than <<plugins-outputs-l
|
|
40
40
|
----
|
41
41
|
input {
|
42
42
|
logstash {
|
43
|
-
port => 8080
|
44
43
|
ssl_keystore_path
|
45
44
|
=> "/path/to/logstash.p12"
|
46
45
|
ssl_keystore_password
|
@@ -55,7 +54,6 @@ input {
|
|
55
54
|
----
|
56
55
|
input {
|
57
56
|
logstash {
|
58
|
-
port => 8080
|
59
57
|
ssl_enabled => false
|
60
58
|
}
|
61
59
|
}
|
@@ -107,7 +105,7 @@ This plugin supports the following configuration options plus the <<plugins-{typ
|
|
107
105
|
|Setting |Input type |Required
|
108
106
|
| <<plugins-{type}s-{plugin}-host>> |<<string,string>> |No
|
109
107
|
| <<plugins-{type}s-{plugin}-password>> |<<password,password>>|No
|
110
|
-
| <<plugins-{type}s-{plugin}-port>> |<<number,number>> |
|
108
|
+
| <<plugins-{type}s-{plugin}-port>> |<<number,number>> |No
|
111
109
|
| <<plugins-{type}s-{plugin}-ssl_certificate>> | <<path,path>>|No
|
112
110
|
| <<plugins-{type}s-{plugin}-ssl_certificate_authorities>> |<<array,array>>|No
|
113
111
|
| <<plugins-{type}s-{plugin}-ssl_client_authentication>> | <<string,string>>, one of `["none", "optional", "required"]`|No
|
@@ -146,7 +144,7 @@ Requires <<plugins-{type}s-{plugin}-username>>.
|
|
146
144
|
===== `port`
|
147
145
|
|
148
146
|
* Value type is a <<number,number>> port
|
149
|
-
*
|
147
|
+
* Default value is 9800
|
150
148
|
|
151
149
|
Specify which port to listen on.
|
152
150
|
|
@@ -23,7 +23,7 @@ include::{include_path}/plugin_header-integration.asciidoc[]
|
|
23
23
|
==== Description
|
24
24
|
|
25
25
|
Send events to a <<plugins-inputs-logstash>> in a pipeline that may be in another process or on another host.
|
26
|
-
You must have a TCP route to the port on an interface that the downstream input is bound to.
|
26
|
+
You must have a TCP route to the port (defaults to 9800) on an interface that the downstream input is bound to.
|
27
27
|
|
28
28
|
NOTE: Sending events to _any_ destination other than <<plugins-inputs-logstash>> is neither advised nor supported.
|
29
29
|
We will maintain cross-compatibility with any two supported versions of output/input pair and reserve the right to change details such as protocol and encoding.
|
@@ -40,8 +40,7 @@ NOTE: Sending events to _any_ destination other than <<plugins-inputs-logstash>>
|
|
40
40
|
----
|
41
41
|
output {
|
42
42
|
logstash {
|
43
|
-
|
44
|
-
port => 8080
|
43
|
+
hosts => "10.0.0.123:9801"
|
45
44
|
}
|
46
45
|
}
|
47
46
|
----
|
@@ -52,8 +51,7 @@ output {
|
|
52
51
|
----
|
53
52
|
output {
|
54
53
|
logstash {
|
55
|
-
|
56
|
-
port => 8080
|
54
|
+
hosts => "10.0.0.123:9801"
|
57
55
|
ssl_enabled
|
58
56
|
=> false
|
59
57
|
}
|
@@ -65,15 +63,15 @@ output {
|
|
65
63
|
[id="plugins-{type}s-{plugin}-config-connecting"]
|
66
64
|
===== Configuration Concepts
|
67
65
|
|
68
|
-
This output plugin needs to be configured to connect to a <<plugins-inputs-logstash>> by specifying its <<plugins-{type}s-{plugin}-
|
69
|
-
Depending on the downstream plugin's configuration, you may need to also configure SSL and/or credentials.
|
66
|
+
This output plugin needs to be configured to connect to a <<plugins-inputs-logstash>> by specifying its <<plugins-{type}s-{plugin}-hosts>>.
|
67
|
+
Depending on the downstream plugin's configuration, you may need to also configure the target port, SSL, and/or credentials.
|
70
68
|
|
71
69
|
[id="plugins-{type}s-{plugin}-config-ssl-trust"]
|
72
70
|
===== Security: SSL Trust
|
73
71
|
|
74
72
|
When communicating over SSL, this plugin establishes trust of the server it connects to before transmitting credentials or events.
|
75
73
|
|
76
|
-
It does so by ensuring that the server presents a currently-valid certificate with identity claims matching
|
74
|
+
It does so by ensuring that the responding server presents a currently-valid certificate with identity claims matching host it is connecting to, signed by a trusted signing authority, along with proof-of-possession of the associated private key material.
|
77
75
|
|
78
76
|
The system trust store is used by default.
|
79
77
|
You can provide an _alternate_ source of trust with _ONE OF_:
|
@@ -105,9 +103,8 @@ This plugin supports the following configuration options plus the <<plugins-{typ
|
|
105
103
|
[cols="<,<,<",options="header",]
|
106
104
|
|=======================================================================
|
107
105
|
|Setting |Input type |Required
|
108
|
-
| <<plugins-{type}s-{plugin}-
|
106
|
+
| <<plugins-{type}s-{plugin}-hosts>> |<<string,string>> |Yes
|
109
107
|
| <<plugins-{type}s-{plugin}-password>> |<<password,password>>|No
|
110
|
-
| <<plugins-{type}s-{plugin}-port>> |<<number,number>> |Yes
|
111
108
|
| <<plugins-{type}s-{plugin}-ssl_enabled>> |<<boolean,boolean>>|No
|
112
109
|
| <<plugins-{type}s-{plugin}-ssl_certificate>> | <<path,path>>|No
|
113
110
|
| <<plugins-{type}s-{plugin}-ssl_certificate_authorities>> |list of <<path,path>>|No
|
@@ -125,23 +122,39 @@ output plugins.
|
|
125
122
|
|
126
123
|
|
127
124
|
|
128
|
-
[id="plugins-{type}s-{plugin}-
|
129
|
-
===== `
|
125
|
+
[id="plugins-{type}s-{plugin}-hosts"]
|
126
|
+
===== `hosts`
|
130
127
|
|
131
|
-
* Value type is
|
132
|
-
* There is no default value
|
128
|
+
* Value type is <<string,string>>
|
129
|
+
* There is no default value for this setting.
|
130
|
+
* Constraints:
|
131
|
+
** When using IPv6, IP address must be in an enclosed in brackets.
|
132
|
+
** When a port is not provided, the default `9800` is used.
|
133
133
|
|
134
|
-
|
134
|
+
A downstream input {ls} host or IP address to connect.
|
135
135
|
|
136
|
-
NOTE:
|
136
|
+
NOTE: Single host endpoint is supported for `hosts`. Multi-host support is coming soon.
|
137
137
|
|
138
|
-
|
139
|
-
===== `port`
|
138
|
+
Host can be any of IPv4, IPv6 (in enclosed bracket) or host name, examples:
|
140
139
|
|
141
|
-
*
|
142
|
-
*
|
140
|
+
* `"127.0.0.1"`
|
141
|
+
* `"127.0.0.1:9801"`
|
142
|
+
* `"ds.example.com"`
|
143
|
+
* `"ds.example:9802"`
|
144
|
+
* `"[::1]"`
|
145
|
+
* `"[::1]:9803"`
|
146
|
+
* `"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]"`
|
147
|
+
* `"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:9804"`
|
143
148
|
|
144
|
-
|
149
|
+
When connecting, communication to downstream input {ls} is secured with SSL unless configured otherwise.
|
150
|
+
|
151
|
+
[WARNING]
|
152
|
+
.Disabling SSL is dangerous
|
153
|
+
============
|
154
|
+
The security of this plugin relies on SSL to avoid leaking credentials and to avoid running illegitimate ingest pipeline definitions.
|
155
|
+
============
|
156
|
+
|
157
|
+
NOTE: when using SSL, the server that responds must present a certificated with identity claim matching this host name or ip address.
|
145
158
|
|
146
159
|
[id="plugins-{type}s-{plugin}-password"]
|
147
160
|
===== `password`
|
@@ -244,7 +257,7 @@ Password for the <<plugins-{type}s-{plugin}-ssl_truststore_path>>
|
|
244
257
|
|
245
258
|
* Value type is <<string,string>>
|
246
259
|
* The supported modes are:
|
247
|
-
** `full`: verifies that a certificate provided by the client has an identity claim matching <<plugins-{type}s-{plugin}-
|
260
|
+
** `full`: verifies that a certificate provided by the client has an identity claim matching <<plugins-{type}s-{plugin}-hosts>>, is signed by a trusted authority (CA), is within its valid date range, and that the client has possession of the associated key.
|
248
261
|
** `none`: performs no validation of the presented certificate
|
249
262
|
|
250
263
|
* The default value is `full`.
|
@@ -13,7 +13,7 @@ class LogStash::Inputs::Logstash < LogStash::Inputs::Base
|
|
13
13
|
config_name "logstash"
|
14
14
|
|
15
15
|
config :host, :validate => :string, :default => "0.0.0.0"
|
16
|
-
config :port, :validate => :number, :
|
16
|
+
config :port, :validate => :number, :default => 9800
|
17
17
|
|
18
18
|
# optional username/password credentials
|
19
19
|
config :username, :validate => :string, :required => false
|
@@ -4,14 +4,28 @@ require 'logstash/outputs/base'
|
|
4
4
|
require 'logstash/namespace'
|
5
5
|
|
6
6
|
require "logstash/plugin_mixins/plugin_factory_support"
|
7
|
+
require "logstash/plugin_mixins/validator_support/required_host_optional_port_validation_adapter"
|
7
8
|
|
8
9
|
class LogStash::Outputs::Logstash < LogStash::Outputs::Base
|
10
|
+
extend LogStash::PluginMixins::ValidatorSupport::RequiredHostOptionalPortValidationAdapter
|
11
|
+
|
9
12
|
include LogStash::PluginMixins::PluginFactorySupport
|
10
13
|
|
11
14
|
config_name "logstash"
|
12
15
|
|
13
|
-
|
14
|
-
|
16
|
+
# Sets the host of the downstream Logstash instance.
|
17
|
+
# Host can be any of IPv4, IPv6 (requires to be in enclosed bracket) or host name, the forms:
|
18
|
+
# `"127.0.0.1"`
|
19
|
+
# `"127.0.0.1:9800"`
|
20
|
+
# `"foo-bar.com"`
|
21
|
+
# `"foo-bar.com:9800"`
|
22
|
+
# `"[::1]"`
|
23
|
+
# `"[::1]:9000"`
|
24
|
+
# `"[2001:0db8:85a3:0000:0000:8a2e:0370:7334]"`
|
25
|
+
#
|
26
|
+
# NOTE: `hosts` naming is intentional and multi-host support is planned.
|
27
|
+
#
|
28
|
+
config :hosts, :validate => :required_host_optional_port, :required => true
|
15
29
|
|
16
30
|
# optional username/password credentials
|
17
31
|
config :username, :validate => :string, :required => false
|
@@ -31,7 +45,7 @@ class LogStash::Outputs::Logstash < LogStash::Outputs::Base
|
|
31
45
|
config :ssl_verification_mode, :validate => %w(full none), :default => 'full'
|
32
46
|
|
33
47
|
# SSL:TRUST:SOURCE ca file
|
34
|
-
config :ssl_certificate_authorities, :validate => :path,
|
48
|
+
config :ssl_certificate_authorities, :validate => :path, :list => true
|
35
49
|
|
36
50
|
# SSL:TRUST:SOURCE truststore
|
37
51
|
config :ssl_truststore_path, :validate => :path
|
@@ -83,10 +97,12 @@ class LogStash::Outputs::Logstash < LogStash::Outputs::Base
|
|
83
97
|
logger.debug('inner HTTP output plugin has been closed')
|
84
98
|
end
|
85
99
|
|
100
|
+
DEFAULT_PORT = 9800.freeze
|
101
|
+
|
86
102
|
def inner_http_output_options
|
87
103
|
@_inner_http_output_options ||= begin
|
88
104
|
http_options = {
|
89
|
-
'url'
|
105
|
+
'url' => construct_host_uri.to_s,
|
90
106
|
'http_method' => 'post',
|
91
107
|
'retry_non_idempotent' => 'true',
|
92
108
|
|
@@ -119,6 +135,15 @@ class LogStash::Outputs::Logstash < LogStash::Outputs::Base
|
|
119
135
|
end
|
120
136
|
end
|
121
137
|
|
138
|
+
def construct_host_uri
|
139
|
+
scheme = @ssl_enabled ? 'https'.freeze : 'http'.freeze
|
140
|
+
host_port_pair = @hosts # Struct(:host, :port)
|
141
|
+
uri = LogStash::Util::SafeURI.new(host_port_pair[:host])
|
142
|
+
uri.port = host_port_pair[:port].nil? ? DEFAULT_PORT : host_port_pair[:port]
|
143
|
+
uri.update(:scheme, scheme)
|
144
|
+
uri.freeze
|
145
|
+
end
|
146
|
+
|
122
147
|
def ssl_identity_options
|
123
148
|
if @ssl_certificate && @ssl_keystore_path
|
124
149
|
fail(LogStash::ConfigurationError, 'SSL identity can be configured with EITHER `ssl_certificate` OR `ssl_keystore_*`, but not both')
|
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
|
26
26
|
s.add_runtime_dependency "logstash-core-plugin-api", ">= 2.1.12", "<= 2.99"
|
27
27
|
s.add_runtime_dependency "logstash-mixin-plugin_factory_support", "~> 1.0"
|
28
|
+
s.add_runtime_dependency "logstash-mixin-validator_support", "~> 1.1"
|
28
29
|
s.add_runtime_dependency "logstash-codec-json_lines", "~> 3.1"
|
29
30
|
|
30
31
|
s.add_runtime_dependency "logstash-input-http", ">= 3.7.0" # some params not available in older versions because they are renamed, such as `cacert` to `ssl_certificate_authorities`
|
Binary file
|
@@ -1,52 +1,52 @@
|
|
1
1
|
-----BEGIN PRIVATE KEY-----
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
/
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
2
|
+
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
|
51
|
+
CjgbIk+XQOnoNKbVTTRkwYuPtxAl7A==
|
52
52
|
-----END PRIVATE KEY-----
|
@@ -1,54 +1,54 @@
|
|
1
1
|
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
+
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
/
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
2
|
+
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
|
54
54
|
-----END ENCRYPTED PRIVATE KEY-----
|
Binary file
|
@@ -1,35 +1,35 @@
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
2
2
|
MIIGATCCA+mgAwIBAgIBBDANBgkqhkiG9w0BAQsFADBRMQswCQYDVQQGEwJMUzEL
|
3
3
|
MAkGA1UECAwCTkExEzARBgNVBAcMCkh0dHAgSW5wdXQxETAPBgNVBAoMCExvZ3N0
|
4
|
-
|
5
|
-
|
4
|
+
YXNoMQ0wCwYDVQQDDARyb290MB4XDTIzMTAwMzA0MzY1MloXDTI2MTAwMzA0MzY1
|
5
|
+
MlowUzELMAkGA1UEBhMCTFMxCzAJBgNVBAgMAk5BMRMwEQYDVQQHDApIdHRwIElu
|
6
6
|
cHV0MREwDwYDVQQKDAhMb2dzdGFzaDEPMA0GA1UEAwwGY2xpZW50MIICIjANBgkq
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
7
|
+
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzenDbAON8w1TA7u1ELfK3o8BR7xNpQiD
|
8
|
+
ykFtHFGrp5tY0Ilk7Yk86VA5C0DNo/rdUOelCe2f84wa9+OH9shfRgfPqDrZqD99
|
9
|
+
Mbf/r78nsC+ItYv+t9fPUz+Tu3hg8PJI/ocg7rzQ77patdWHXVz3V0S1oxus125j
|
10
|
+
94ji/448zYjFTSzke6t5xXKYpGGWAPSmQxNaor2+r2gEpqfRNPfK+D9THyZX0sOR
|
11
|
+
/MD1AOLMbVOTm9pswhsfAqIuTfGVJWAEMPUuIMC5xr7e+8aZbTDP1TD8/dDrz9tG
|
12
|
+
zX94QL1t2b7+w5B75WmltZC01RaG/elCkpXMbpt8Bwfd8hmW2KsqqHsCGkYJTtjk
|
13
|
+
vTLtWKSiqpOaa+0uqRXKUTx0IxRdHlSacgVBlLiDsTrFAhMelSSu75ZgK7jAricL
|
14
|
+
ADl48GHDa9AByTr/Yxp622vTfY769YBKcfLBvN7qSygJf7jZ4bFWIUqPKzocONFc
|
15
|
+
zqiWI3g4nNlAI3yIG895lSfJw/4e4MTohnxrmFVISGzsNRsil1D46G3bt7ZDvk6H
|
16
|
+
2IDWxdk3SVmRx4khPMM+HmgdFCFGtZSFnbBdQsM9MSCXv+OkX+aUHB8TQ/NTCMD1
|
17
|
+
ZCuFrmAKm0PicDmSDCErWXRvS4dmj5X7Gah8LqTT35GTP0oBTO3GZFOON4bNDVtI
|
18
|
+
tC4bErJbANECAwEAAaOB4TCB3jAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIF
|
19
19
|
oDAzBglghkgBhvhCAQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgQ2xpZW50IENlcnRp
|
20
|
-
|
21
|
-
|
20
|
+
ZmljYXRlMB0GA1UdDgQWBBS1DozP7Ov25cJeDW3IXq1c6+Sx4zAfBgNVHSMEGDAW
|
21
|
+
gBQz/zI1tCfs7stYavc3NvY/DDDBGDAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYw
|
22
22
|
FAYIKwYBBQUHAwIGCCsGAQUFBwMEMBoGA1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAA
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
23
|
+
ATANBgkqhkiG9w0BAQsFAAOCAgEAtdiU8wM37Q7V3axzEBZf2prwRQSyA1Sxd1+a
|
24
|
+
EuAk0B93ynRhOkIoW0EmJQzOh5lB/V4fkce+PwIZb9j2cH1DnTJyE/XjZ6Y/p1f/
|
25
|
+
Fpk2xbSiaRGwhetotQCpEmNBwKng1VD3wgzp942sCn0ddswgJQ/5KEt+H9vJuuKu
|
26
|
+
CC503HUQ58pfiYJc5Kwz9cboYSR0VoRJ+iVdmXGHOW+8oHwt6F/Hd6GN/HX/s9FC
|
27
|
+
UQ6KYxFUQM/oAvxJ8FNmaL4kNQvZW9MQebpyTVPwZwq7hNqDndUicXVMuD2DzbCU
|
28
|
+
S0OLvYzLnAW9v4niTNRRTh6hjQnlAZOXdGuwPgmcIIfq3X7Mdme26d+J2AddPDc/
|
29
|
+
olOQFydJJ7dyYh6DKI/bK71IengFm3vokPZooZU/0D1VZkcMFITvNnXxgtud5nW5
|
30
|
+
ghNCfDCE+y8gU+C9djUC3kBZtxEP4n2RDoAzy44U0QKA31j7dy/KTy1UzIaVHiLL
|
31
|
+
TtJc5Kuyb2xAM76ySoIZCpF+k7c1ZipOkKnOV7ZYDYqWIxzfTBgDOcux9LJDkBUF
|
32
|
+
LLsBdg/818evYFC8sf28DiLJNZen8o2DHhN4XDx7dT5VPHLquLWOJMubYMCBbFGB
|
33
|
+
wKu5HdANuPV+ohUCnatFlfwG2Vju/0qPozfkixy5esF5EuUHrTHvDUvoMliA7rCN
|
34
|
+
yzJa2MI=
|
35
35
|
-----END CERTIFICATE-----
|
Binary file
|