logstash-integration-logstash 0.0.3-java → 0.0.4-java
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/docs/index.asciidoc +4 -3
- data/docs/input-logstash.asciidoc +3 -5
- 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,8 @@
|
|
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
|
+
|
1
6
|
## 0.0.3
|
2
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)
|
3
8
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.4
|
data/docs/index.asciidoc
CHANGED
@@ -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,7 +23,7 @@ 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
28
|
NOTE: Sending events to this input by _any_ means other than `plugins-outputs-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,7 +40,6 @@ We will maintain cross-compatibility with any two supported versions of output/i
|
|
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
|