logstash-filter-elasticsearch 3.11.1 → 3.13.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d5a56362567a5c8949cb77f1615659c709449c5999fe46e5b558212045d3197
4
- data.tar.gz: ba77cec6eda6ea51f037541223d257532a5161081cf64609c2ea6590c6d37ed4
3
+ metadata.gz: 3d55417f0b601e60aa33702b94eec237fc3ed47dc37e06bfa83b1f8b3f2c0884
4
+ data.tar.gz: 335f6c76502901f6b0021d8fd89be14b716c2c0f493e22c4d59bd865bcce91db
5
5
  SHA512:
6
- metadata.gz: 8b3415eb21cb9e6bbe25b692514037cdae4c5a64827e99412433b4bf184308fca1a6e307e1b724f0ba7b6c311e2b463346189d6176e78c56941e4dc0af0d8b9b
7
- data.tar.gz: 24dad4a1105f97e5c55f94c281d62091db76020c27242253e3307946db755e1093a41c751d175fd23ed07fcb01890e8753fd54691d854b0f456792adbd667b18
6
+ metadata.gz: cd657fd129d3972aff051cf111e15f18b40861631e3d47249887023e3779d6c9cbd09b515dcb7beb5d6783b73f5fef69d3e57425115f100b6cf7576984da832b
7
+ data.tar.gz: 410cdfcd7857b6522f91549b8e57244624385f1dde1ddc393bbadb4a8c7468ea5e4df91697b9b5cb1221a1c99a0c4ea054a6a21a0babb52617bb0b54b71bd4bb
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 3.13.0
2
+ - Added support for this plugin identifying itself to Elasticsearch with an SSL/TLS client certificate using a new `keystore` option [#162](https://github.com/logstash-plugins/logstash-filter-elasticsearch/pull/162)
3
+
4
+ ## 3.12.0
5
+ - Added support for `ca_trusted_fingerprint` when run on Logstash 8.3+ [#158](https://github.com/logstash-plugins/logstash-filter-elasticsearch/pull/158)
6
+
1
7
  ## 3.11.1
2
8
  - Fix: hosts => "es_host:port" regression [#156](https://github.com/logstash-plugins/logstash-filter-elasticsearch/pull/156)
3
9
 
data/docs/index.asciidoc CHANGED
@@ -110,6 +110,7 @@ Authentication to a secure Elasticsearch cluster is possible using _one_ of the
110
110
  * <<plugins-{type}s-{plugin}-user>> AND <<plugins-{type}s-{plugin}-password>>
111
111
  * <<plugins-{type}s-{plugin}-cloud_auth>>
112
112
  * <<plugins-{type}s-{plugin}-api_key>>
113
+ * <<plugins-{type}s-{plugin}-keystore>> and/or <<plugins-{type}s-{plugin}-keystore_password>>
113
114
 
114
115
  [id="plugins-{type}s-{plugin}-autz"]
115
116
  ==== Authorization
@@ -128,6 +129,7 @@ This plugin supports the following configuration options plus the <<plugins-{typ
128
129
  | <<plugins-{type}s-{plugin}-aggregation_fields>> |<<hash,hash>>|No
129
130
  | <<plugins-{type}s-{plugin}-api_key>> |<<password,password>>|No
130
131
  | <<plugins-{type}s-{plugin}-ca_file>> |a valid filesystem path|No
132
+ | <<plugins-{type}s-{plugin}-ca_trusted_fingerprint>> |<<string,string>>|No
131
133
  | <<plugins-{type}s-{plugin}-cloud_auth>> |<<password,password>>|No
132
134
  | <<plugins-{type}s-{plugin}-cloud_id>> |<<string,string>>|No
133
135
  | <<plugins-{type}s-{plugin}-docinfo_fields>> |<<hash,hash>>|No
@@ -142,6 +144,8 @@ This plugin supports the following configuration options plus the <<plugins-{typ
142
144
  | <<plugins-{type}s-{plugin}-result_size>> |<<number,number>>|No
143
145
  | <<plugins-{type}s-{plugin}-sort>> |<<string,string>>|No
144
146
  | <<plugins-{type}s-{plugin}-ssl>> |<<boolean,boolean>>|No
147
+ | <<plugins-{type}s-{plugin}-keystore>> |a valid filesystem path|No
148
+ | <<plugins-{type}s-{plugin}-keystore_password>> |<<password,password>>|No
145
149
  | <<plugins-{type}s-{plugin}-tag_on_failure>> |<<array,array>>|No
146
150
  | <<plugins-{type}s-{plugin}-user>> |<<string,string>>|No
147
151
  |=======================================================================
@@ -189,6 +193,15 @@ Elasticsearch {ref}/security-api-create-api-key.html[Create API key API].
189
193
 
190
194
  SSL Certificate Authority file
191
195
 
196
+ [id="plugins-{type}s-{plugin}-ca_trusted_fingerprint"]
197
+ ===== `ca_trusted_fingerprint`
198
+
199
+ * Value type is <<string,string>>, and must contain exactly 64 hexadecimal characters.
200
+ * There is no default value for this setting.
201
+ * Use of this option _requires_ Logstash 8.3+
202
+
203
+ The SHA-256 fingerprint of an SSL Certificate Authority to trust, such as the autogenerated self-signed CA for an Elasticsearch cluster.
204
+
192
205
  [id="plugins-{type}s-{plugin}-cloud_auth"]
193
206
  ===== `cloud_auth`
194
207
 
@@ -338,6 +351,22 @@ Comma-delimited list of `<field>:<direction>` pairs that define the sort order
338
351
 
339
352
  SSL
340
353
 
354
+ [id="plugins-{type}s-{plugin}-keystore"]
355
+ ===== `keystore`
356
+
357
+ * Value type is <<path,path>>
358
+ * There is no default value for this setting.
359
+
360
+ The keystore used to present a certificate to the server. It can be either .jks or .p12
361
+
362
+ [id="plugins-{type}s-{plugin}-keystore_password"]
363
+ ===== `keystore_password`
364
+
365
+ * Value type is <<password,password>>
366
+ * There is no default value for this setting.
367
+
368
+ Set the keystore password
369
+
341
370
  [id="plugins-{type}s-{plugin}-tag_on_failure"]
342
371
  ===== `tag_on_failure`
343
372
 
@@ -12,6 +12,8 @@ module LogStash
12
12
 
13
13
  def initialize(logger, hosts, options = {})
14
14
  ssl = options.fetch(:ssl, false)
15
+ keystore = options.fetch(:keystore, nil)
16
+ keystore_password = options.fetch(:keystore_password, nil)
15
17
  user = options.fetch(:user, nil)
16
18
  password = options.fetch(:password, nil)
17
19
  api_key = options.fetch(:api_key, nil)
@@ -27,9 +29,17 @@ module LogStash
27
29
  transport_options[:proxy] = proxy.to_s if proxy && !proxy.eql?('')
28
30
 
29
31
  hosts = setup_hosts(hosts, ssl)
32
+
33
+ ssl_options = {}
30
34
  # set ca_file even if ssl isn't on, since the host can be an https url
31
- ssl_options = { ssl: true, ca_file: options[:ca_file] } if options[:ca_file]
32
- ssl_options ||= {}
35
+ ssl_options.update(ssl: true, ca_file: options[:ca_file]) if options[:ca_file]
36
+ ssl_options.update(ssl: true, trust_strategy: options[:ssl_trust_strategy]) if options[:ssl_trust_strategy]
37
+
38
+ if keystore
39
+ ssl_options[:keystore] = keystore
40
+ logger.debug("Keystore for client certificate", :keystore => keystore)
41
+ ssl_options[:keystore_password] = keystore_password.value if keystore_password
42
+ end
33
43
 
34
44
  logger.info("New ElasticSearch filter client", :hosts => hosts)
35
45
  @client = ::Elasticsearch::Client.new(hosts: hosts, transport_options: transport_options, transport_class: ::Elasticsearch::Transport::Transport::HTTP::Manticore, :ssl => ssl_options)
@@ -2,6 +2,8 @@
2
2
  require "logstash/filters/base"
3
3
  require "logstash/namespace"
4
4
  require "logstash/json"
5
+ require 'logstash/plugin_mixins/ca_trusted_fingerprint_support'
6
+
5
7
  require_relative "elasticsearch/client"
6
8
  require_relative "elasticsearch/patches/_elasticsearch_transport_http_manticore"
7
9
 
@@ -64,6 +66,13 @@ class LogStash::Filters::Elasticsearch < LogStash::Filters::Base
64
66
  # SSL Certificate Authority file
65
67
  config :ca_file, :validate => :path
66
68
 
69
+ # The keystore used to present a certificate to the server.
70
+ # It can be either .jks or .p12
71
+ config :keystore, :validate => :path
72
+
73
+ # Set the keystore password
74
+ config :keystore_password, :validate => :password
75
+
67
76
  # Whether results should be sorted or not
68
77
  config :enable_sort, :validate => :boolean, :default => true
69
78
 
@@ -73,6 +82,9 @@ class LogStash::Filters::Elasticsearch < LogStash::Filters::Base
73
82
  # Tags the event on failure to look up geo information. This can be used in later analysis.
74
83
  config :tag_on_failure, :validate => :array, :default => ["_elasticsearch_lookup_failure"]
75
84
 
85
+ # config :ca_trusted_fingerprint, :validate => :sha_256_hex
86
+ include LogStash::PluginMixins::CATrustedFingerprintSupport
87
+
76
88
  attr_reader :clients_pool
77
89
 
78
90
  ##
@@ -104,6 +116,10 @@ class LogStash::Filters::Elasticsearch < LogStash::Filters::Base
104
116
  @query_dsl = file.read
105
117
  end
106
118
 
119
+ if @keystore_password && !@keystore
120
+ fail "`keystore_password` was provided, without a `keystore`"
121
+ end
122
+
107
123
  validate_authentication
108
124
  fill_user_password_from_cloud_auth
109
125
  fill_hosts_from_cloud_id
@@ -199,6 +215,9 @@ class LogStash::Filters::Elasticsearch < LogStash::Filters::Base
199
215
  :proxy => @proxy,
200
216
  :ssl => @ssl,
201
217
  :ca_file => @ca_file,
218
+ :keystore => @keystore,
219
+ :keystore_password => @keystore_password,
220
+ :ssl_trust_strategy => trust_strategy_for_ca_trusted_fingerprint
202
221
  }
203
222
  end
204
223
 
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-filter-elasticsearch'
4
- s.version = '3.11.1'
4
+ s.version = '3.13.0'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Copies fields from previous log events in Elasticsearch to current events "
7
7
  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"
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
23
23
  s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
24
24
  s.add_runtime_dependency 'elasticsearch', ">= 7.14.0" # LS >= 6.7 and < 7.14 all used version 5.0.5
25
25
  s.add_runtime_dependency 'manticore', ">= 0.7.1"
26
+ s.add_runtime_dependency 'logstash-mixin-ca_trusted_fingerprint_support', '~> 1.0'
26
27
  s.add_development_dependency 'cabin', ['~> 0.6']
27
28
  s.add_development_dependency 'webrick'
28
29
 
@@ -561,6 +561,74 @@ describe LogStash::Filters::Elasticsearch do
561
561
  end
562
562
  end
563
563
 
564
+ describe "ca_trusted_fingerprint" do
565
+ let(:ca_trusted_fingerprint) { SecureRandom.hex(32) }
566
+ let(:config) { {"ca_trusted_fingerprint" => ca_trusted_fingerprint}}
567
+
568
+ subject(:plugin) { described_class.new(config) }
569
+
570
+ if Gem::Version.create(LOGSTASH_VERSION) >= Gem::Version.create("8.3.0")
571
+ context 'the generated trust_strategy' do
572
+ before(:each) { allow(plugin).to receive(:test_connection!) }
573
+
574
+ it 'is passed to the Manticore client' do
575
+ expect(Manticore::Client).to receive(:new)
576
+ .with(
577
+ a_hash_including(
578
+ ssl: a_hash_including(
579
+ trust_strategy: plugin.trust_strategy_for_ca_trusted_fingerprint
580
+ )
581
+ )
582
+ ).and_call_original
583
+ plugin.register
584
+
585
+ # the client is built lazily, so we need to get it explicitly
586
+ plugin.send(:get_client).client
587
+ end
588
+ end
589
+ else
590
+ it 'raises a configuration error' do
591
+ expect { plugin }.to raise_exception(LogStash::ConfigurationError, a_string_including("ca_trusted_fingerprint"))
592
+ end
593
+ end
594
+ end
595
+
596
+ describe "keystore and keystore_password" do
597
+ let(:keystore_path) { Pathname.new("fixtures/test_certs/ls.chain.p12").expand_path(__dir__).cleanpath.to_s }
598
+ let(:keystore_password) { '12345678' }
599
+
600
+ let(:config) do
601
+ {
602
+ 'keystore' => keystore_path,
603
+ 'keystore_password' => keystore_password,
604
+ }
605
+ end
606
+
607
+ subject(:plugin) { described_class.new(config) }
608
+
609
+ before(:each) { allow(plugin).to receive(:test_connection!) }
610
+
611
+ it 'is passed to the Manticore client' do
612
+ expect(Manticore::Client).to receive(:new)
613
+ .with(
614
+ a_hash_including(
615
+ ssl: a_hash_including(
616
+ keystore: keystore_path,
617
+ keystore_password: keystore_password
618
+ )
619
+ )
620
+ ).and_call_original
621
+
622
+ allow(plugin.logger).to receive(:debug).and_call_original
623
+ expect(plugin.logger).to receive(:debug).with(a_string_including('Keystore for client certificate'), anything)
624
+
625
+ plugin.register
626
+
627
+ # the client is built lazily, so we need to get it explicitly
628
+ plugin.send(:get_client).client
629
+ end
630
+ end
631
+
564
632
  describe "defaults" do
565
633
 
566
634
  let(:config) { Hash.new }
@@ -0,0 +1,47 @@
1
+ [ req ]
2
+ distinguished_name= req_distinguished_name
3
+ attributes= req_attributes
4
+
5
+ [ req_distinguished_name ]
6
+ countryName= Country Name (2 letter code)
7
+ countryName_min= 2
8
+ countryName_max= 2
9
+ stateOrProvinceName= State or Province Name (full name)
10
+ localityName= Locality Name (eg, city)
11
+ 0.organizationName= Organization Name (eg, company)
12
+ organizationalUnitName= Organizational Unit Name (eg, section)
13
+ commonName= Common Name (eg, fully qualified host name)
14
+ commonName_max= 64
15
+ emailAddress= Email Address
16
+ emailAddress_max= 64
17
+
18
+ [ req_attributes ]
19
+ challengePassword= A challenge password
20
+ challengePassword_min= 4
21
+ challengePassword_max= 20
22
+
23
+ [ certificate_authority ]
24
+ subjectKeyIdentifier = hash
25
+ authorityKeyIdentifier = keyid:always,issuer
26
+ basicConstraints = critical, CA:true
27
+ keyUsage = critical, digitalSignature, cRLSign, keyCertSign
28
+
29
+ [ elasticsearch_server ]
30
+ basicConstraints = CA:FALSE
31
+ nsCertType = server
32
+ nsComment = "OpenSSL Generated Server Certificate"
33
+ subjectKeyIdentifier = hash
34
+ authorityKeyIdentifier = keyid,issuer:always
35
+ keyUsage = critical, digitalSignature, keyEncipherment
36
+ extendedKeyUsage = serverAuth
37
+ subjectAltName = "DNS:elasticsearch"
38
+
39
+ [ logstash_client ]
40
+ basicConstraints = CA:FALSE
41
+ nsCertType = client, email
42
+ nsComment = "OpenSSL Generated Client Certificate"
43
+ subjectKeyIdentifier = hash
44
+ authorityKeyIdentifier = keyid,issuer
45
+ keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment
46
+ extendedKeyUsage = clientAuth, emailProtection
47
+ subjectAltName = "DNS:logstash, DNS:localhost, IP:127.0.0.1"
@@ -0,0 +1,45 @@
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
+ script_dir="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
6
+ openssl_ext_file="${script_dir}/generate_test_certs.openssl.cnf"
7
+
8
+ rm -rf "${script_dir}/test_certs"
9
+ mkdir "${script_dir}/test_certs"
10
+ cd "${script_dir}/test_certs"
11
+
12
+ echo "GENERATED CERTIFICATES FOR TESTING ONLY." >> ./README.txt
13
+ echo "DO NOT USE THESE CERTIFICATES IN PRODUCTION" >> ./README.txt
14
+
15
+ # certificate authority
16
+ openssl genrsa -out ca.key 4096
17
+ openssl req -new -x509 -days 1826 -extensions "certificate_authority" -key "ca.key" -out "ca.crt" -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=root" -config "${openssl_ext_file}"
18
+ openssl x509 -in "ca.crt" -outform der | sha256sum | awk '{print $1}' > "ca.der.sha256"
19
+
20
+ # es from ca
21
+ openssl genrsa -out "es.key" 4096
22
+ openssl req -new -key "es.key" -out "es.csr" -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=server" -config "${openssl_ext_file}"
23
+ openssl x509 -req -extensions "elasticsearch_server" -extfile "${openssl_ext_file}" -days 1096 -in "es.csr" -CA "ca.crt" -CAkey "ca.key" -set_serial 03 -sha256 -out "es.crt"
24
+ cat "es.crt" "ca.crt" > "es.chain.crt"
25
+ openssl x509 -in "es.crt" -outform der | sha256sum | awk '{print $1}' > "es.der.sha256"
26
+
27
+ # ls from ca
28
+ openssl genrsa -out "ls.key" 4096
29
+ openssl req -new -key "ls.key" -out "ls.csr" -subj "/C=LS/ST=NA/L=Http Input/O=Logstash/CN=server" -config "${openssl_ext_file}"
30
+ openssl x509 -req -extensions "logstash_client" -extfile "${openssl_ext_file}" -days 1096 -in "ls.csr" -CA "ca.crt" -CAkey "ca.key" -set_serial 03 -sha256 -out "ls.crt"
31
+ cat "ls.crt" "ca.crt" > "ls.chain.crt"
32
+ openssl x509 -in "ls.crt" -outform der | sha256sum | awk '{print $1}' > "ls.der.sha256"
33
+
34
+ # verify :allthethings
35
+ openssl verify -CAfile "ca.crt" "es.crt"
36
+ openssl verify -CAfile "ca.crt" "ls.crt"
37
+
38
+ # create pkcs12 keystores (pass:12345678)
39
+ openssl pkcs12 -export -in "ls.chain.crt" -inkey ls.key -out "ls.chain.p12" -name "logstash" -passout 'pass:12345678'
40
+
41
+ # use java keytool to convert all pkcs12 keystores to jks-format keystores (pass:12345678)
42
+ keytool -importkeystore -srckeystore "ls.chain.p12" -srcstoretype "pkcs12" -srcstorepass "12345678" -destkeystore "ls.chain.jks" -deststorepass "12345678" -alias logstash
43
+
44
+ # cleanup csr, we don't need them
45
+ rm -rf *.csr
@@ -0,0 +1,2 @@
1
+ GENERATED CERTIFICATES FOR TESTING ONLY.
2
+ DO NOT USE THESE CERTIFICATES IN PRODUCTION
@@ -1,20 +1,32 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIDSTCCAjGgAwIBAgIUUcAg9c8B8jiliCkOEJyqoAHrmccwDQYJKoZIhvcNAQEL
3
- BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l
4
- cmF0ZWQgQ0EwHhcNMjEwODEyMDUxNDU1WhcNMjQwODExMDUxNDU1WjA0MTIwMAYD
5
- VQQDEylFbGFzdGljIENlcnRpZmljYXRlIFRvb2wgQXV0b2dlbmVyYXRlZCBDQTCC
6
- ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK1HuusRuGNsztd4EQvqwcMr
7
- 8XvnNNaalerpMOorCGySEFrNf0HxDIVMGMCrOv1F8SvlcGq3XANs2MJ4F2xhhLZr
8
- PpqVHx+QnSZ66lu5R89QVSuMh/dCMxhNBlOA/dDlvy+EJBl9H791UGy/ChhSgaBd
9
- OKVyGkhjErRTeMIq7rR7UG6GL/fV+JGy41UiLrm1KQP7/XVD9UzZfGq/hylFkTPe
10
- oox5BUxdxUdDZ2creOID+agtIYuJVIkelKPQ+ljBY3kWBRexqJQsvyNUs1gZpjpz
11
- YUCzuVcXDRuJXYQXGqWXhsBPfJv+ZcSyMIBUfWT/G13cWU1iwufPy0NjajowPZsC
12
- AwEAAaNTMFEwHQYDVR0OBBYEFMgkye5+2l+TE0I6RsXRHjGBwpBGMB8GA1UdIwQY
13
- MBaAFMgkye5+2l+TE0I6RsXRHjGBwpBGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
14
- hvcNAQELBQADggEBAIgtJW8sy5lBpzPRHkmWSS/SCZIPsABW+cHqQ3e0udrI3CLB
15
- G9n7yqAPWOBTbdqC2GM8dvAS/Twx4Bub/lWr84dFCu+t0mQq4l5kpJMVRS0KKXPL
16
- DwJbUN3oPNYy4uPn5Xi+XY3BYFce5vwJUsqIxeAbIOxVTNx++k5DFnB0ESAM23QL
17
- sgUZl7xl3/DkdO4oHj30gmTRW9bjCJ6umnHIiO3JoJatrprurUIt80vHC4Ndft36
18
- NBQ9mZpequ4RYjpSZNLcVsxyFAYwEY4g8MvH0MoMo2RRLfehmMCzXnI/Wh2qEyYz
19
- emHprBii/5y1HieKXlX9CZRb5qEPHckDVXW3znw=
2
+ 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
31
+ 4O26CUzCDyhhBy+/wiuG6Fk37YskQBCgs37Mww==
20
32
  -----END CERTIFICATE-----
@@ -0,0 +1 @@
1
+ 241943c7ea305d5489fce87550f53c0655b2419dcd0e8e4c7a164abc8e82808c
@@ -1,27 +1,51 @@
1
1
  -----BEGIN RSA PRIVATE KEY-----
2
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
27
51
  -----END RSA PRIVATE KEY-----
@@ -0,0 +1,68 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ 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
36
+ -----END CERTIFICATE-----
37
+ -----BEGIN CERTIFICATE-----
38
+ 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
67
+ 4O26CUzCDyhhBy+/wiuG6Fk37YskQBCgs37Mww==
68
+ -----END CERTIFICATE-----
@@ -1,20 +1,36 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIDNjCCAh6gAwIBAgIUF9wE+oqGSbm4UVn1y9gEjzyaJFswDQYJKoZIhvcNAQEL
3
- BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l
4
- cmF0ZWQgQ0EwHhcNMjEwODEyMDUxNTI3WhcNMjQwODExMDUxNTI3WjANMQswCQYD
5
- VQQDEwJlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2S2by0lgyu
6
- 1JfgGgZ41PNXbH2qMPMzowguVVdtZ16WM0CaEG7lnLxmMcC+2Q7NnGuFnPAVQo9T
7
- Q3bh7j+1PkCJVHUKZfJIeWtGc9+qXBcO1MhedfwM1osSa4bfwM85G+XKWbRNtmSt
8
- CoUuKArIyZkzdBAAQLBoQyPf3DIza1Au4j9Hb3zrswD6e7n2PN4ffIyil1GFduLJ
9
- 2275qqFiOhkEDUhv7BKNftVBh/89O/5lSqAQGuQ1aDRr8TdHwhO71u4ZIU/Pn6yX
10
- LGBWrQG53+qpdCsxGvJTfbtIEYUDTN83CirIxDKJgc1QXOEldylztHf4xnQ7ZarJ
11
- tqF6pUzHbRsCAwEAAaNnMGUwHQYDVR0OBBYEFFQUK+6Cg2kExRj1xSDzEi4kkgKX
12
- MB8GA1UdIwQYMBaAFMgkye5+2l+TE0I6RsXRHjGBwpBGMBgGA1UdEQQRMA+CDWVs
13
- YXN0aWNzZWFyY2gwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAinaknZIc
14
- 7xtQNwUwa+kdET+I4lMz+TJw9vTjGKPJqe082n81ycKU5b+a/OndG90z+dTwhShW
15
- f0oZdIe/1rDCdiRU4ceCZA4ybKrFDIbW8gOKZOx9rsgEx9XNELj4ocZTBqxjQmNE
16
- Ho91fli5aEm0EL2vJgejh4hcfDeElQ6go9gtvAHQ57XEADQSenvt69jOICOupnS+
17
- LSjDVhv/VLi3CAip0B+lD5fX/DVQdrJ62eRGuQYxoouE3saCO58qUUrKB39yD9KA
18
- qRA/sVxyLogxaU+5dLfc0NJdOqSzStxQ2vdMvAWo9tZZ2UBGFrk5SdwCQe7Yv5mX
19
- qi02i4q6meHGcw==
2
+ MIIGWjCCBEKgAwIBAgIBAzANBgkqhkiG9w0BAQsFADBRMQswCQYDVQQGEwJMUzEL
3
+ MAkGA1UECAwCTkExEzARBgNVBAcMCkh0dHAgSW5wdXQxETAPBgNVBAoMCExvZ3N0
4
+ YXNoMQ0wCwYDVQQDDARyb290MB4XDTIyMTAxNDE5MTkzN1oXDTI1MTAxNDE5MTkz
5
+ N1owUzELMAkGA1UEBhMCTFMxCzAJBgNVBAgMAk5BMRMwEQYDVQQHDApIdHRwIElu
6
+ cHV0MREwDwYDVQQKDAhMb2dzdGFzaDEPMA0GA1UEAwwGc2VydmVyMIICIjANBgkq
7
+ hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsET/D1QzwBLiia72AnPxCSf5AdOxsKkD
8
+ IKaUJvYGI0GQcIU+CzKzZRtyOIKLK5qSfg2+yfd1cBmHQgwvH5P4pXb8AbZVgJbF
9
+ bD7mIfP494IBKwF4GfM8hHF9gFPlqs745fqAtzDKoszs075/rVE8YvQvCGqclKW2
10
+ 5oyvJOhXIh0K038anQk0RMekg001V+3bEqC26oIeaS4hj80RGCKngamLcZ8upZ5W
11
+ gItLvH4s53kM23eYdjjDpOc2RWDmev4dLaV6cE3i+joBO7XBIvR3pXOyav2FV+05
12
+ IiOqCiC4EZZuGCIh8DN7J3Y2LKtwZ/XQjpu7OdkIDJN/wP5+kZ4JM79Iih+fA1gn
13
+ znHcuZVuNkh5UxguNToDNW/yE9j95k1dIc9Gp/tx0FIYSM2jmoq3DSTDQ9jp7gcq
14
+ nbGCMMw8IuZG7U+H1t0hWbYu0iIDBOMFUwi3fPLxTiIOn/zH7NU+DtgIi6Qb9Czx
15
+ 2ElFKBJKrGa/OBxIle+vvMvkzsy2P/x9sa5LjXD9G/QpvG9J10KJOT6xjoqI3X4/
16
+ Wfowwh51y/Wjk4Zr0kRjgsrkBNd3fr2ouHHPd5QBzC2W/+tM2XD51vbhCwjSmz6F
17
+ stZXBwadUrBpi5UTSMGzo9LeVPiIaD7z+fuBUD/4J9ZyOF6OjqayJ6Zf95ASGvlw
18
+ 3iND8UPvteMCAwEAAaOCATkwggE1MAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQD
19
+ AgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBTZXJ2ZXIgQ2Vy
20
+ dGlmaWNhdGUwHQYDVR0OBBYEFPAAwJfHTF5gg2fvpwLvBwIukKJGMIGBBgNVHSME
21
+ ejB4gBTDJJC8WvER4wBvj4s8mi/4KCTcPKFVpFMwUTELMAkGA1UEBhMCTFMxCzAJ
22
+ BgNVBAgMAk5BMRMwEQYDVQQHDApIdHRwIElucHV0MREwDwYDVQQKDAhMb2dzdGFz
23
+ aDENMAsGA1UEAwwEcm9vdIIJAMPwu3Hm/yaUMA4GA1UdDwEB/wQEAwIFoDATBgNV
24
+ HSUEDDAKBggrBgEFBQcDATAYBgNVHREEETAPgg1lbGFzdGljc2VhcmNoMA0GCSqG
25
+ SIb3DQEBCwUAA4ICAQAt1ooqoFiyUF6t9SsdgNMuJ/JVJKXHBgccB0xdTz65aFof
26
+ H5gBO2AFhDhcufm3WoF34FPweEi3y+xpzQ5EQHM+wDqe4Y+wfs682Giu4k3Nzy/c
27
+ Ly3VNJALQOntGISpEci7tyDUu59wKGpe1/JmXlm+2nyqbPLjVGLfr46oUk1854XW
28
+ E1n4qIDgTbxm03KaVyH0q2jGPBBqRAUYS3r8JL8iqMfuV0TlaP0CB1e243nupUCa
29
+ JolOKpk2U4y2vkhBRIrQ/3SwIS5lAztqKH/PKenQN285DnBMvt5mw19dlCc+KJ5+
30
+ GhqB84YwIXfRl8FGvrl1EP/VF5PiIsd9du/CNXL3pzH1awt1QH2DNk/eW90Htp13
31
+ e13nMmYFnb52/UPdimZemBc1qO4TcY3dDBPO5DasJu5xR7p5Jq6jk/6tXfsYa7YM
32
+ FpniuD3bP/sUMbBkU2+CRIzED1nVTX4wBjptK1VzQb46UooH+RoCo2Dpku4vuXMO
33
+ wORcFlDXFzGUsfkJlrszDsN+r6pOFC2OgqV7jJb6FSf585hh0FPhgKtbfkNOgoHc
34
+ fv3xCeGhdCG36IA78fIl+3PFs/kjFiQSwYFkAJK3CU9HmgNg3CNLbRic5iPsCwr7
35
+ gb4y1Ouct1Dbp62YafF8gdi3Od2aadl87171I7Cu/BNOFNLEpduivUpYxhlTBQ==
20
36
  -----END CERTIFICATE-----
@@ -0,0 +1 @@
1
+ 8fa8b9c3fb555544a031e5080719ab47b38c4d2d2c2dcbf01dd1555092da7e54
@@ -1,27 +1,51 @@
1
1
  -----BEGIN RSA PRIVATE KEY-----
2
- MIIEowIBAAKCAQEArZLZvLSWDK7Ul+AaBnjU81dsfaow8zOjCC5VV21nXpYzQJoQ
3
- buWcvGYxwL7ZDs2ca4Wc8BVCj1NDduHuP7U+QIlUdQpl8kh5a0Zz36pcFw7UyF51
4
- /AzWixJrht/Azzkb5cpZtE22ZK0KhS4oCsjJmTN0EABAsGhDI9/cMjNrUC7iP0dv
5
- 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
- 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
- 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
- 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
- 0LxRSIKivjyl+aIJDZbbEUXrmk/M0zT9rHtgSc2isM8ITH6IHw5q7lmNMPLYOu6T
10
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- tVyjuZRo/i7WLVm3uG+dK1RJ9t8Y6kpYkCRKpi9G8DBOj3PSulOybBr+fdRfW9mf
18
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
27
51
  -----END RSA PRIVATE KEY-----
@@ -0,0 +1,67 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIGCzCCA/OgAwIBAgIBAzANBgkqhkiG9w0BAQsFADBRMQswCQYDVQQGEwJMUzEL
3
+ MAkGA1UECAwCTkExEzARBgNVBAcMCkh0dHAgSW5wdXQxETAPBgNVBAoMCExvZ3N0
4
+ YXNoMQ0wCwYDVQQDDARyb290MB4XDTIyMTAxNDE5MzgxMFoXDTI1MTAxNDE5Mzgx
5
+ MFowUzELMAkGA1UEBhMCTFMxCzAJBgNVBAgMAk5BMRMwEQYDVQQHDApIdHRwIElu
6
+ cHV0MREwDwYDVQQKDAhMb2dzdGFzaDEPMA0GA1UEAwwGc2VydmVyMIICIjANBgkq
7
+ hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtD+/LdfEMEBN8JjD8AE8ZNHopz9ozvZA
8
+ BZ4QG4JWdZS0sGIYOBynL2OsEgmkEmntFiewuq5hEBXHTRF8H5vh+89jyaG3C/aP
9
+ fmAWs/es/Fy74g8/lAeNJY854KVOhjCkqXi47tmy6+M8Z9D3V+RLQgm4f0aZtZ9t
10
+ Di1SCPrrUYDZ3WFaIu7OnuK23O3mGMq5oRw1BtQMPPOObb83FiH6coCIFzj5rhHF
11
+ mVG++YN/VSkAoEZGMcfkfoK8s9MB6vgk8vy3XYz+q7mqTGVxk5LSvY/APe/bMRqz
12
+ lqmFyvT28pCcr/C+ipL7joHu+pdWJSkDz622StNrUF7BpJyhNSO4pEONRtipwgp3
13
+ 3f5UTJvEsoALgVilHUsGNo21qNtwu8op6I4lLBrw2Xm+YCCcSI5bF5u7ItJv9VIC
14
+ fMJTsr8M9FQclS47RluYXwVXWZI0gns8bUROY5z1Tsh5XajSOfuiKDQ4DR3REAwf
15
+ O5Tm0kOonariM73IjishGGmAIj1jLf3fLrtsHME1svciLEhQKtu594HSeteL3kZ5
16
+ aj2pnZD4cmly7J1XFlR83acydqVgiz6SDbU39DJOJfXa+rPjwF/OtEaydi4KN9an
17
+ yL7MDMGhYKfJBTGZI+nubQtM0JzAtVOatnCNteXJ5TNByemuUemf65AUiBzDgA79
18
+ 8wnSjQppF7cCAwEAAaOB6zCB6DAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIF
19
+ oDAzBglghkgBhvhCAQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgQ2xpZW50IENlcnRp
20
+ ZmljYXRlMB0GA1UdDgQWBBQeetV4PXJhHdbsTceb4TGvElARYTAfBgNVHSMEGDAW
21
+ gBTDJJC8WvER4wBvj4s8mi/4KCTcPDAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYw
22
+ FAYIKwYBBQUHAwIGCCsGAQUFBwMEMCQGA1UdEQQdMBuCCGxvZ3N0YXNogglsb2Nh
23
+ bGhvc3SHBH8AAAEwDQYJKoZIhvcNAQELBQADggIBAE+TYh1qdbFSzIDQPUehAwnC
24
+ CtUOyF1hRA38UbpRzefjT/2h85LkVbD5D4tcyJIEQyBWfhuxeroJwQYVyz1vOne0
25
+ hRM9yB8wxK9pAx/ZXEJuIfCUvH7LBZABXlhiQE08Az9rm/Pj6iq2NXdukM+YNk3W
26
+ W4kfPS9i3vx+1d6UM14xUQtzLipO9BLmOeo5pD0q0gjRczYdsJF5QL/K7xfM0dus
27
+ M+2M0Q0h4YzrqFR9jZT7zgkdS0WMcIqKh/9V9XNP2Kge4XuiImqZtvFdooYiiywV
28
+ aVdB4c94zv2XFeqIix81eCI48DXC8YVgF6H62St74deHxJobIHcXtXIr7kxsi0Sa
29
+ crrIuClkz4P99v0FtrthJD5L7+5mBBC/wcuCsXwKE+XnaP5tAYE2MdBh9xEy6Ua7
30
+ XPnItLlArKqcr3i5LE8lxhktQtJvRqaQwkn30SUXh5o2aAw1lkkUvZAAp0eoOZZP
31
+ Pkn+9wO3yl8q7L+6jOH6gD0gg8PvuKk9rTVx1jTFg5MEUpWp0lWZqDnHIolEZ2SG
32
+ xXaISAkYnfaQtAXxmhLQRbQqFwq4doxPJdMs9Bz0iDc8/GCpH5X9KZ9n0RqJp5WA
33
+ xkZeJm/MoBX85yX+T9jHMSM5vldvjcjNbP9INikoN+3ZxIPcRJVq5pwq+ELzSZO5
34
+ J55nIYTq+uBxxugiPfl8
35
+ -----END CERTIFICATE-----
36
+ -----BEGIN CERTIFICATE-----
37
+ MIIFiDCCA3CgAwIBAgIJAMPwu3Hm/yaUMA0GCSqGSIb3DQEBCwUAMFExCzAJBgNV
38
+ BAYTAkxTMQswCQYDVQQIDAJOQTETMBEGA1UEBwwKSHR0cCBJbnB1dDERMA8GA1UE
39
+ CgwITG9nc3Rhc2gxDTALBgNVBAMMBHJvb3QwHhcNMjIxMDE0MTkxOTM2WhcNMjcx
40
+ MDE0MTkxOTM2WjBRMQswCQYDVQQGEwJMUzELMAkGA1UECAwCTkExEzARBgNVBAcM
41
+ Ckh0dHAgSW5wdXQxETAPBgNVBAoMCExvZ3N0YXNoMQ0wCwYDVQQDDARyb290MIIC
42
+ IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsqSxx9bax+BGxDZ3qzkt0WAY
43
+ 6/UXqv8ay5q3ejrDsYqEopQzvpIfVqZvjAx4aGc+FsYs1ophg3RKBZz84+2DQIDD
44
+ cwrP9/ggDs7C7c/9PEV77tLpkcvvhzW6JxsvY0BjGhPNNKl5KObxeVnLXyDjiYeC
45
+ ON1U8ve4p0K6nczCbvPtyXgjYKLXGSOB6JRDDJa8exAPhO3HoSv0ZuVFLuSzle8z
46
+ ZH1+P5wRGxGobi4NmhFTfYSSL5j21631P8n5N4xHVIhYr8vQNlWVGKkAIQeVneaD
47
+ RsJ+NNRG+tP07X7sv5/QdgjEWXXF33sLeVusK+jWnGep//3Nr8d69ep230rnFQJv
48
+ 16HXkGhUUpCWyzE7n7sXS+Z7luOtQtPxHYAh40QKLUQMZVW7rS35KmeLOQMeIGEX
49
+ xSZGRN7kYBqCV7FP8O7uvnBIXUcp66s9lSyaFJAZZgFb7VV2POZ0fBKRjvZVPjRa
50
+ q0qwiSz2H/YbaszK8h22KYvYePzcBJ649w0G3siQ8pz5aFb1dT0H/CrKzdRTN3bE
51
+ nuwk1HsiiM+9Jm0FSjQW5QMmwL+dWorVU1mTNB5wCO8fbmAoNZp3e5PkqkoOP/4q
52
+ I+e0nKOHVqcmCw4WiLa2C05Le4VHlBdPzp2Zm/8b1VgDfIf+9LPcgwACzxkF5KTD
53
+ cLvemYMVIJ+mveMitS8CAwEAAaNjMGEwHQYDVR0OBBYEFMMkkLxa8RHjAG+Pizya
54
+ L/goJNw8MB8GA1UdIwQYMBaAFMMkkLxa8RHjAG+PizyaL/goJNw8MA8GA1UdEwEB
55
+ /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQAUmBX5
56
+ pUi4PJIB/Cld8T2Otgmywu4gSrTFWQpJuF++NxdryZRGg7twDxErlaH1YTuuvtwY
57
+ X0LGF6b1XTNyRZn5o/gJJNxiYGucBxLc4Qx2qJje6CIg38fhfDTeyU8paiFnNxNj
58
+ Fy+/5CgCrxEGd310XIU2gHJ8SWjhHNtJBeeDU6iXl6ITDTBI+Vf7gDyuR4fSi5rK
59
+ Jl3oxxZLwk9u8qAQ/qzRadIQK1yRjUnZI6ClFLULXKGBu5DG9Uh9S3FGUPWCd4dl
60
+ gU6dfhnxdy6PMUbkhdK426dm7U7W0NpbqxfCQWvnaiwihyfN2/gM0GfuNHkp8kA4
61
+ W76xOC6aM6PjjyNWeIx7+Rm4/rCzWlL0aue9ZTWkxQlTbwms70KEGS12qriX6lPC
62
+ mwIWvkN88JnbPlHvGCtxn+GBYb2qwtWmPdBl3t0EivpfJMG+gEuyoY7i/zf+2bvD
63
+ h5A8r0PBhtliZDFX5ZY1UMvoh6Jag2QxzHCr+oDbjljMbR2M76ezfWOCntRGlkVa
64
+ 1Ah+vs7/kS2TwSL0X8EY2gXl7iGIhpJ7B6npz3KfvaRysHwP4xMxIUdy9Aj8niFf
65
+ 5OMCF2rYrXSu4tK7uvwp/V3Xuk3H4YM1wFXapE2o+DCuFhOwHbku1r/ALH//KgFb
66
+ 4O26CUzCDyhhBy+/wiuG6Fk37YskQBCgs37Mww==
67
+ -----END CERTIFICATE-----
@@ -0,0 +1,35 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIGCzCCA/OgAwIBAgIBAzANBgkqhkiG9w0BAQsFADBRMQswCQYDVQQGEwJMUzEL
3
+ MAkGA1UECAwCTkExEzARBgNVBAcMCkh0dHAgSW5wdXQxETAPBgNVBAoMCExvZ3N0
4
+ YXNoMQ0wCwYDVQQDDARyb290MB4XDTIyMTAxNDE5MzgxMFoXDTI1MTAxNDE5Mzgx
5
+ MFowUzELMAkGA1UEBhMCTFMxCzAJBgNVBAgMAk5BMRMwEQYDVQQHDApIdHRwIElu
6
+ cHV0MREwDwYDVQQKDAhMb2dzdGFzaDEPMA0GA1UEAwwGc2VydmVyMIICIjANBgkq
7
+ hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtD+/LdfEMEBN8JjD8AE8ZNHopz9ozvZA
8
+ BZ4QG4JWdZS0sGIYOBynL2OsEgmkEmntFiewuq5hEBXHTRF8H5vh+89jyaG3C/aP
9
+ fmAWs/es/Fy74g8/lAeNJY854KVOhjCkqXi47tmy6+M8Z9D3V+RLQgm4f0aZtZ9t
10
+ Di1SCPrrUYDZ3WFaIu7OnuK23O3mGMq5oRw1BtQMPPOObb83FiH6coCIFzj5rhHF
11
+ mVG++YN/VSkAoEZGMcfkfoK8s9MB6vgk8vy3XYz+q7mqTGVxk5LSvY/APe/bMRqz
12
+ lqmFyvT28pCcr/C+ipL7joHu+pdWJSkDz622StNrUF7BpJyhNSO4pEONRtipwgp3
13
+ 3f5UTJvEsoALgVilHUsGNo21qNtwu8op6I4lLBrw2Xm+YCCcSI5bF5u7ItJv9VIC
14
+ fMJTsr8M9FQclS47RluYXwVXWZI0gns8bUROY5z1Tsh5XajSOfuiKDQ4DR3REAwf
15
+ O5Tm0kOonariM73IjishGGmAIj1jLf3fLrtsHME1svciLEhQKtu594HSeteL3kZ5
16
+ aj2pnZD4cmly7J1XFlR83acydqVgiz6SDbU39DJOJfXa+rPjwF/OtEaydi4KN9an
17
+ yL7MDMGhYKfJBTGZI+nubQtM0JzAtVOatnCNteXJ5TNByemuUemf65AUiBzDgA79
18
+ 8wnSjQppF7cCAwEAAaOB6zCB6DAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIF
19
+ oDAzBglghkgBhvhCAQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgQ2xpZW50IENlcnRp
20
+ ZmljYXRlMB0GA1UdDgQWBBQeetV4PXJhHdbsTceb4TGvElARYTAfBgNVHSMEGDAW
21
+ gBTDJJC8WvER4wBvj4s8mi/4KCTcPDAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYw
22
+ FAYIKwYBBQUHAwIGCCsGAQUFBwMEMCQGA1UdEQQdMBuCCGxvZ3N0YXNogglsb2Nh
23
+ bGhvc3SHBH8AAAEwDQYJKoZIhvcNAQELBQADggIBAE+TYh1qdbFSzIDQPUehAwnC
24
+ CtUOyF1hRA38UbpRzefjT/2h85LkVbD5D4tcyJIEQyBWfhuxeroJwQYVyz1vOne0
25
+ hRM9yB8wxK9pAx/ZXEJuIfCUvH7LBZABXlhiQE08Az9rm/Pj6iq2NXdukM+YNk3W
26
+ W4kfPS9i3vx+1d6UM14xUQtzLipO9BLmOeo5pD0q0gjRczYdsJF5QL/K7xfM0dus
27
+ M+2M0Q0h4YzrqFR9jZT7zgkdS0WMcIqKh/9V9XNP2Kge4XuiImqZtvFdooYiiywV
28
+ aVdB4c94zv2XFeqIix81eCI48DXC8YVgF6H62St74deHxJobIHcXtXIr7kxsi0Sa
29
+ crrIuClkz4P99v0FtrthJD5L7+5mBBC/wcuCsXwKE+XnaP5tAYE2MdBh9xEy6Ua7
30
+ XPnItLlArKqcr3i5LE8lxhktQtJvRqaQwkn30SUXh5o2aAw1lkkUvZAAp0eoOZZP
31
+ Pkn+9wO3yl8q7L+6jOH6gD0gg8PvuKk9rTVx1jTFg5MEUpWp0lWZqDnHIolEZ2SG
32
+ xXaISAkYnfaQtAXxmhLQRbQqFwq4doxPJdMs9Bz0iDc8/GCpH5X9KZ9n0RqJp5WA
33
+ xkZeJm/MoBX85yX+T9jHMSM5vldvjcjNbP9INikoN+3ZxIPcRJVq5pwq+ELzSZO5
34
+ J55nIYTq+uBxxugiPfl8
35
+ -----END CERTIFICATE-----
@@ -0,0 +1 @@
1
+ 8475c96eb5167b9acafd5a58b920510b86582419a9b17f1116c5ba22a1478965
@@ -0,0 +1,51 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIJKQIBAAKCAgEAtD+/LdfEMEBN8JjD8AE8ZNHopz9ozvZABZ4QG4JWdZS0sGIY
3
+ OBynL2OsEgmkEmntFiewuq5hEBXHTRF8H5vh+89jyaG3C/aPfmAWs/es/Fy74g8/
4
+ lAeNJY854KVOhjCkqXi47tmy6+M8Z9D3V+RLQgm4f0aZtZ9tDi1SCPrrUYDZ3WFa
5
+ Iu7OnuK23O3mGMq5oRw1BtQMPPOObb83FiH6coCIFzj5rhHFmVG++YN/VSkAoEZG
6
+ McfkfoK8s9MB6vgk8vy3XYz+q7mqTGVxk5LSvY/APe/bMRqzlqmFyvT28pCcr/C+
7
+ ipL7joHu+pdWJSkDz622StNrUF7BpJyhNSO4pEONRtipwgp33f5UTJvEsoALgVil
8
+ HUsGNo21qNtwu8op6I4lLBrw2Xm+YCCcSI5bF5u7ItJv9VICfMJTsr8M9FQclS47
9
+ RluYXwVXWZI0gns8bUROY5z1Tsh5XajSOfuiKDQ4DR3REAwfO5Tm0kOonariM73I
10
+ jishGGmAIj1jLf3fLrtsHME1svciLEhQKtu594HSeteL3kZ5aj2pnZD4cmly7J1X
11
+ FlR83acydqVgiz6SDbU39DJOJfXa+rPjwF/OtEaydi4KN9anyL7MDMGhYKfJBTGZ
12
+ I+nubQtM0JzAtVOatnCNteXJ5TNByemuUemf65AUiBzDgA798wnSjQppF7cCAwEA
13
+ AQKCAgBONWqqZXiGxyAKSP6bYK3nwPyFtQmw40AcL90lUoRZOFC+R5HipuwTr9e1
14
+ a+F46+UnO8l+9rK+2/RCCFgnDuga7n2Ju1VFJ5JTbzXqmIjCZypOh/c6L5yas26V
15
+ fqR3rRuFPRBg8qyjlVFcalsoE7Jj0PvwnZ2MJMSY5ik2JEl+b74YRGlrxtp4Lj7R
16
+ 1ZeFIlExCqAnelJlD/i4vcMVI2Eb1ZE3Ik2TrbpjMAkBEoFpXgUbheJnLyiBjBB8
17
+ pg2q+kht9iFJwieuMz0lMM77DTXLclgjh7M/tyo9MQkQawHLddvGq1rBnczwpIgg
18
+ yxFhxk4VCnaSOPHTSYoT9rIr8Hfoc5TReJXf/bBMlJfC/BdIKLd8r3RrEbAmSfni
19
+ XDIU55Hx/lSZKBrZM5xWp/ef7WNLYoa6ZOFl+qfz/d9iTjoCMb7uwQZUm6x/QikC
20
+ bP6Vdpv10t+HWZhB8w84olJqDKX59L9aBNWUNnuf84dI4wk9QYX1nL7DZkblmLXY
21
+ dC1RrI+FF6+6PiRrQvCxRAg6ITuGVeKDwBw2T3/DF9uQXcFXK/GgnQgJShm3rqhr
22
+ 6XjBp66/1+Dq9Ogu63uaNN27s8sZ/XNaGwdzmbgfHihaRju+uUzm+aZoDX+xKSRs
23
+ pKMIIXJ4niw5cAxSYYDBEZnHQjI6zL3un0IDq8z+ivLveEuG4QKCAQEA4Ymg14eg
24
+ mYrn9lzXLsnnJxxN3gP0KiQYJvIZeKMJcg2IuzQOtbeM9HFHSVLBCQeD0m3hx0g3
25
+ AxFc2S1hUUscIX/d7gng4pyGit9JX3LEA6LJw+nXYlNcM/NEKHtuYYo73SFXXJ79
26
+ +CdpfQ+dCCQKLnuDSZiAOrl/bkKeTN6P6d9a2rMMG03ILUPRRNKJ+3p9bItcVSDU
27
+ r1fbDN1s+gMgs3vHF3qWfwEOuPddb7qK6x8QM4OOslbno1nr8mhjZbLyJmzqrErg
28
+ G2QplJ7HMkwMU0e6QRL1byewPUFuBB9B8DPtAuUUbnY/zEinDIdgecs5BskDiQ0y
29
+ ngUWEbVhVdxBkwKCAQEAzJgu3lEekG6v6QfGfLIolD9Gt9+wQfK4Sr771Nhq/fyG
30
+ 22rDeGrftdRnoS265iFV3hjQcRE/OeTt4B3anW66YhBp5nHOB5N/Cjikpv1/5+eZ
31
+ EaXQrNyvY+9TW0rokB5GDec5FYAPctuQ/lDiYxMRWrz6ih1mTMmVdLWZvmlEymsy
32
+ V0x5td7m3oDMQr+CLoUyjZ4tpXT0YfXtU3O1oyaJlnwhCJw8QjV2oQXjNmYN3K6q
33
+ C9W3hArxXtVFfOHO+Rxj9ACf3hCYXDLMFehX5u3csXO21zI5rgWWlwq4i09Edkig
34
+ liCMwezQT4CDYyiFFLXdAI5JlK292a9qkFFdTIY3zQKCAQEAhsc0Mxh9xMPZssPw
35
+ Y6mMVTb44YADXVuMg1mSFyF2941W9Gg7kiRKO5mmPA8UBE1VXV8E2Y4yMccicTZJ
36
+ Pcdg3DQJb8K/fSyEymB8/Gkc8f9KC6WmbL/cDb+GL5rzb56n/5F5H4RzyOPkijPW
37
+ Z5MB8p0k68oSdwV7PWzaJJ2r6trq9F6jEX397e7lE/etNXcRlNgDKWwhLVeXM6zu
38
+ /sj3tcp2Q3WikesT3T0VvTsA4VkC2YX4tGJyso9+DLKNE61IP+Y+pw9ntXa50nLA
39
+ HzKK+wmWKGUn/nD9RN3g3N3BDcY6EMzM1OYdYfrYuQf9g0sKnR9q2W/lm8D2W0bF
40
+ EAY7uQKCAQEAxaeYT+sqjfqBM63xUfKERYRD+8u86lllNcEAZgaWhr16Q2wHX8RQ
41
+ T8fePdaCI2W9IQ30AefZn0LNlKEC3OlmYurchGcZ1jPmnadPWoy5Dv+t32DEEtw5
42
+ DWDetOnPd7vnjfL+MQlA44O/thHKRFDdiT3dBaWVeUWef9wZpdzpOm0Je1FEnDG1
43
+ 9OuVaj69s9e2mR5hluFAX4tJNkApEG9gqONOvpTBmm0wKCwZ8Cnz5mlPmpNj8cro
44
+ mOeNdDJq1DtbTRV1XQHHT/s7M0b99PmDJmRWFdxN4RNBAra2xs9TorpTefYERi1U
45
+ qhnL1PYGa5Wu5qSP7XVUXoObfcU9T3qzWQKCAQBWPWf4DBczCbOa+z7uij7tkqm7
46
+ 15DeQfbFOUa++ieSBfZYKYtMP7Sf1Ntu9+r8VNey7pX9PuqAC/IGyG/TWTsmaHUS
47
+ sbeBtC7TW00KwPsSImvlbhyCDU+AyJHo+LuWsyFVu9NWgbyE4kxyBM7aV8fBTcfz
48
+ fj7TVsvlw+rcXvBPiJ31geLSmTyIwiGwYhH8g3srwPgr7OkRW6yb2KlVeEfy7ktw
49
+ yBVik7Qgw6jHfbskowbFPl0IEuWPf7PtlGYEyAkYlqTwUT1MRwOzLLoaLwbGQVRV
50
+ E/2K1oFSNYKvKUwesGVv58g/W1XE6Xvr7NqLb8YrzMm/Pi6ZuFE/2VLqXvHy
51
+ -----END RSA PRIVATE KEY-----
@@ -102,4 +102,53 @@ describe LogStash::Filters::Elasticsearch, :integration => true do
102
102
 
103
103
  end
104
104
 
105
+ if SECURE_INTEGRATION
106
+ context 'setting keystore' do
107
+ let(:keystore_path) { Pathname.new("../fixtures/test_certs/ls.chain.p12").expand_path(__dir__).cleanpath.to_s }
108
+ let(:keystore_password) { '12345678' }
109
+
110
+ let(:config) do
111
+ super().merge(
112
+ "hosts" => [ESHelper.get_host_port],
113
+ "keystore" => keystore_path,
114
+ "keystore_password" => keystore_password,
115
+ "ssl" => true,
116
+ "fields" => { "this" => "contents", "response" => "four-oh-four" }
117
+ )
118
+ end
119
+
120
+ it "should enhance the current event with new data" do
121
+ plugin.register
122
+ plugin.filter(event)
123
+ puts event.to_hash.inspect
124
+ expect(event.get('contents')).to eq('that')
125
+ expect(event.get('four-oh-four')).to eq(404)
126
+ end
127
+ end
128
+
129
+ if Gem::Version.create(LOGSTASH_VERSION) >= Gem::Version.create("8.3.0")
130
+ context 'setting ca_trusted_finterprint WITHOUT ca_file' do
131
+ let(:ca_trusted_fingerprint) { Pathname.new("../fixtures/test_certs/ca.der.sha256").expand_path(__dir__).read.chomp }
132
+
133
+ let(:config) do
134
+ bc = super()
135
+ bc.delete('ca_file')
136
+ bc.merge({
137
+ 'ca_trusted_fingerprint' => ca_trusted_fingerprint,
138
+ 'fields' => { "this" => "contents", "response" => "four-oh-four" }
139
+ })
140
+ end
141
+
142
+ it "should enhance the current event with new data" do
143
+ puts config.inspect
144
+ plugin.register
145
+ plugin.filter(event)
146
+ puts event.to_hash.inspect
147
+ expect(event.get('contents')).to eq('that')
148
+ expect(event.get('four-oh-four')).to eq(404)
149
+ end
150
+ end
151
+ end
152
+ end
153
+
105
154
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-filter-elasticsearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.11.1
4
+ version: 3.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-08 00:00:00.000000000 Z
11
+ date: 2022-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -58,6 +58,20 @@ dependencies:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: 0.7.1
61
+ - !ruby/object:Gem::Dependency
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '1.0'
67
+ name: logstash-mixin-ca_trusted_fingerprint_support
68
+ prerelease: false
69
+ type: :runtime
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '1.0'
61
75
  - !ruby/object:Gem::Dependency
62
76
  requirement: !ruby/object:Gem::Requirement
63
77
  requirements:
@@ -122,16 +136,28 @@ files:
122
136
  - spec/es_helper.rb
123
137
  - spec/filters/elasticsearch_spec.rb
124
138
  - spec/filters/fixtures/elasticsearch_7.x_hits_total_as_object.json
139
+ - spec/filters/fixtures/generate_test_certs.openssl.cnf
140
+ - spec/filters/fixtures/generate_test_certs.sh
125
141
  - spec/filters/fixtures/query_template.json
126
142
  - spec/filters/fixtures/query_template_unicode.json
127
143
  - spec/filters/fixtures/request_error.json
128
144
  - spec/filters/fixtures/request_size0_agg.json
129
145
  - spec/filters/fixtures/request_x_1.json
130
146
  - spec/filters/fixtures/request_x_10.json
147
+ - spec/filters/fixtures/test_certs/README.txt
131
148
  - spec/filters/fixtures/test_certs/ca.crt
149
+ - spec/filters/fixtures/test_certs/ca.der.sha256
132
150
  - spec/filters/fixtures/test_certs/ca.key
151
+ - spec/filters/fixtures/test_certs/es.chain.crt
133
152
  - spec/filters/fixtures/test_certs/es.crt
153
+ - spec/filters/fixtures/test_certs/es.der.sha256
134
154
  - spec/filters/fixtures/test_certs/es.key
155
+ - spec/filters/fixtures/test_certs/ls.chain.crt
156
+ - spec/filters/fixtures/test_certs/ls.chain.jks
157
+ - spec/filters/fixtures/test_certs/ls.chain.p12
158
+ - spec/filters/fixtures/test_certs/ls.crt
159
+ - spec/filters/fixtures/test_certs/ls.der.sha256
160
+ - spec/filters/fixtures/test_certs/ls.key
135
161
  - spec/filters/integration/elasticsearch_spec.rb
136
162
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
137
163
  licenses:
@@ -162,14 +188,26 @@ test_files:
162
188
  - spec/es_helper.rb
163
189
  - spec/filters/elasticsearch_spec.rb
164
190
  - spec/filters/fixtures/elasticsearch_7.x_hits_total_as_object.json
191
+ - spec/filters/fixtures/generate_test_certs.openssl.cnf
192
+ - spec/filters/fixtures/generate_test_certs.sh
165
193
  - spec/filters/fixtures/query_template.json
166
194
  - spec/filters/fixtures/query_template_unicode.json
167
195
  - spec/filters/fixtures/request_error.json
168
196
  - spec/filters/fixtures/request_size0_agg.json
169
197
  - spec/filters/fixtures/request_x_1.json
170
198
  - spec/filters/fixtures/request_x_10.json
199
+ - spec/filters/fixtures/test_certs/README.txt
171
200
  - spec/filters/fixtures/test_certs/ca.crt
201
+ - spec/filters/fixtures/test_certs/ca.der.sha256
172
202
  - spec/filters/fixtures/test_certs/ca.key
203
+ - spec/filters/fixtures/test_certs/es.chain.crt
173
204
  - spec/filters/fixtures/test_certs/es.crt
205
+ - spec/filters/fixtures/test_certs/es.der.sha256
174
206
  - spec/filters/fixtures/test_certs/es.key
207
+ - spec/filters/fixtures/test_certs/ls.chain.crt
208
+ - spec/filters/fixtures/test_certs/ls.chain.jks
209
+ - spec/filters/fixtures/test_certs/ls.chain.p12
210
+ - spec/filters/fixtures/test_certs/ls.crt
211
+ - spec/filters/fixtures/test_certs/ls.der.sha256
212
+ - spec/filters/fixtures/test_certs/ls.key
175
213
  - spec/filters/integration/elasticsearch_spec.rb