logstash-output-elasticsearch 11.4.0-java → 11.4.2-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 +8 -0
- data/Gemfile +2 -1
- data/docs/index.asciidoc +5 -0
- data/lib/logstash/outputs/elasticsearch/http_client.rb +3 -0
- data/lib/logstash/outputs/elasticsearch/http_client_builder.rb +3 -6
- data/lib/logstash/outputs/elasticsearch/templates/ecs-v8/elasticsearch-7x.json +1 -1
- data/lib/logstash/outputs/elasticsearch/templates/ecs-v8/elasticsearch-8x.json +1 -1
- data/logstash-output-elasticsearch.gemspec +2 -2
- data/spec/fixtures/test_certs/ca.crt +31 -0
- data/spec/fixtures/test_certs/renew.sh +11 -0
- data/spec/fixtures/test_certs/test.crt +18 -20
- data/spec/fixtures/test_certs/test.p12 +0 -0
- data/spec/fixtures/test_certs/test_invalid.crt +36 -0
- data/spec/fixtures/test_certs/test_invalid.key +51 -0
- data/spec/fixtures/test_certs/test_invalid.p12 +0 -0
- data/spec/fixtures/test_certs/test_self_signed.crt +32 -0
- data/spec/fixtures/test_certs/test_self_signed.key +54 -0
- data/spec/fixtures/test_certs/test_self_signed.p12 +0 -0
- data/spec/integration/outputs/compressed_indexing_spec.rb +3 -1
- data/spec/integration/outputs/index_spec.rb +87 -43
- data/spec/integration/outputs/no_es_on_startup_spec.rb +12 -6
- data/spec/unit/outputs/elasticsearch/http_client_spec.rb +8 -6
- data/spec/unit/outputs/elasticsearch_ssl_spec.rb +1 -1
- metadata +24 -8
- data/spec/fixtures/test_certs/ca/ca.crt +0 -32
- /data/spec/fixtures/test_certs/{ca/ca.key → ca.key} +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: a5aa752898bbe2a9417fc15ec7fb1e9a55a804a03c84cef30a936206d5b97005
         | 
| 4 | 
            +
              data.tar.gz: 89ec0c8d8ff45e4ef4892c6b2a2a5de3f108d07443f925a897e058e79987fcba
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 633594b5c0010ca14c42231f8f1851bfdadd17819b61ea75f90d89c5db805d20d1a809ade265aedd432d80138965bdca18ec66819f387f69452f10d07a2ddb88
         | 
| 7 | 
            +
              data.tar.gz: 9b4b8afaf80c0a9eebe7f7443c4fba5073c73823de87259641d373be62b9f52eb72e527d28d1dd4aca724abb487e13d1f49eff16f5ea0d528ab2ac7722522317
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,11 @@ | |
| 1 | 
            +
            ## 11.4.2
         | 
| 2 | 
            +
             - Fixes an issue where events containing non-unicode strings could fail to serialize correctly when compression is enabled [#1169](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1169)
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            ## 11.4.1
         | 
| 5 | 
            +
             - Feat: upgrade manticore (http-client) library [#1063](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1063)
         | 
| 6 | 
            +
               - the underlying changes include latest HttpClient (4.5.13)
         | 
| 7 | 
            +
               - resolves an old issue with `ssl_certificate_verification => false` still doing some verification logic
         | 
| 8 | 
            +
             | 
| 1 9 | 
             
            ## 11.4.0
         | 
| 2 10 | 
             
             - Updates ECS templates [#1062](https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/1062)
         | 
| 3 11 | 
             
               - Updates v1 templates to 1.12.1 for use with Elasticsearch 7.x and 8.x
         | 
    
        data/Gemfile
    CHANGED
    
    
    
        data/docs/index.asciidoc
    CHANGED
    
    | @@ -293,6 +293,11 @@ index level and `monitoring` permissions at cluster level. The `monitoring` | |
| 293 293 | 
             
            permission at cluster level is necessary to perform periodic connectivity
         | 
| 294 294 | 
             
            checks.
         | 
| 295 295 |  | 
| 296 | 
            +
            [id="plugins-{type}s-{plugin}-handling-non-utf-8"]
         | 
| 297 | 
            +
            ==== Handling non UTF-8 data
         | 
| 298 | 
            +
             | 
| 299 | 
            +
            This plugin transmits events to Elasticsearch using a JSON API, and therefore requires that all string values in events to be valid UTF-8.
         | 
| 300 | 
            +
            When a string value on an event contains one or more byte sequences that are not valid in UTF-8, each offending byte sequence is replaced with the UTF-8 replacement character (`\uFFFD`).
         | 
| 296 301 |  | 
| 297 302 | 
             
            [id="plugins-{type}s-{plugin}-options"]
         | 
| 298 303 | 
             
            ==== Elasticsearch Output Configuration Options
         | 
| @@ -127,6 +127,9 @@ module LogStash; module Outputs; class ElasticSearch; | |
| 127 127 | 
             
                                action.map {|line| LogStash::Json.dump(line)}.join("\n") :
         | 
| 128 128 | 
             
                                LogStash::Json.dump(action)
         | 
| 129 129 | 
             
                    as_json << "\n"
         | 
| 130 | 
            +
             | 
| 131 | 
            +
                    as_json.scrub! # ensure generated JSON is valid UTF-8
         | 
| 132 | 
            +
             | 
| 130 133 | 
             
                    if (stream_writer.pos + as_json.bytesize) > TARGET_BULK_BYTES && stream_writer.pos > 0
         | 
| 131 134 | 
             
                      stream_writer.flush # ensure writer has sync'd buffers before reporting sizes
         | 
| 132 135 | 
             
                      logger.debug("Sending partial bulk request for batch with one or more actions remaining.",
         | 
| @@ -133,12 +133,9 @@ module LogStash; module Outputs; class ElasticSearch; | |
| 133 133 | 
             
                    ssl_options[:keystore_password] = keystore_password.value if keystore_password
         | 
| 134 134 | 
             
                  end
         | 
| 135 135 | 
             
                  if !params["ssl_certificate_verification"]
         | 
| 136 | 
            -
                    logger.warn  | 
| 137 | 
            -
             | 
| 138 | 
            -
             | 
| 139 | 
            -
                                   "** WARNING ** To make sure your data is secure change :ssl_certificate_verification to true"
         | 
| 140 | 
            -
                                 ].join("\n")
         | 
| 141 | 
            -
                    ssl_options[:verify] = false
         | 
| 136 | 
            +
                    logger.warn "You have enabled encryption but DISABLED certificate verification, " +
         | 
| 137 | 
            +
                                "to make sure your data is secure remove `ssl_certificate_verification => false`"
         | 
| 138 | 
            +
                    ssl_options[:verify] = :disable # false accepts self-signed but still validates hostname
         | 
| 142 139 | 
             
                  end
         | 
| 143 140 | 
             
                  { ssl: ssl_options }
         | 
| 144 141 | 
             
                end
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            Gem::Specification.new do |s|
         | 
| 2 2 | 
             
              s.name            = 'logstash-output-elasticsearch'
         | 
| 3 | 
            -
              s.version         = '11.4. | 
| 3 | 
            +
              s.version         = '11.4.2'
         | 
| 4 4 |  | 
| 5 5 | 
             
              s.licenses        = ['apache-2.0']
         | 
| 6 6 | 
             
              s.summary         = "Stores logs in Elasticsearch"
         | 
| @@ -21,7 +21,7 @@ Gem::Specification.new do |s| | |
| 21 21 | 
             
              # Special flag to let us know this is actually a logstash plugin
         | 
| 22 22 | 
             
              s.metadata = { "logstash_plugin" => "true", "logstash_group" => "output" }
         | 
| 23 23 |  | 
| 24 | 
            -
              s.add_runtime_dependency "manticore", '>= 0. | 
| 24 | 
            +
              s.add_runtime_dependency "manticore", '>= 0.8.0', '< 1.0.0'
         | 
| 25 25 | 
             
              s.add_runtime_dependency 'stud', ['>= 0.0.17', '~> 0.0']
         | 
| 26 26 | 
             
              s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
         | 
| 27 27 | 
             
              s.add_runtime_dependency 'logstash-mixin-ecs_compatibility_support', '~>1.0'
         | 
| @@ -0,0 +1,31 @@ | |
| 1 | 
            +
            -----BEGIN CERTIFICATE-----
         | 
| 2 | 
            +
            MIIFRTCCAy2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJQVDEL
         | 
| 3 | 
            +
            MAkGA1UECAwCTkExDzANBgNVBAcMBkxpc2JvbjEOMAwGA1UECgwFTXlMYWIxDzAN
         | 
| 4 | 
            +
            BgNVBAMMBlJvb3RDQTAeFw0yNDAzMTkyMjM3MTdaFw0yNTAzMTkyMjM3MTdaMEwx
         | 
| 5 | 
            +
            CzAJBgNVBAYTAlBUMQswCQYDVQQIDAJOQTEPMA0GA1UEBwwGTGlzYm9uMQ4wDAYD
         | 
| 6 | 
            +
            VQQKDAVNeUxhYjEPMA0GA1UEAwwGUm9vdENBMIICIjANBgkqhkiG9w0BAQEFAAOC
         | 
| 7 | 
            +
            Ag8AMIICCgKCAgEAy1MyoBa4fXtv1eo9rkvcc2qCdn3nz6C9w63tD+w4S9wNAmCT
         | 
| 8 | 
            +
            Nn4bLCHl6vkkXaKiZg4eIPkmdxivhiZFAq5h8PoHVYjkW5C2EP86UDX9Eeq1tjbs
         | 
| 9 | 
            +
            nfdJo7rqujyBqXu+MetcpCR59VhHB187oOqpuFXoviwyLLwXNDnlMymgzflxa6+g
         | 
| 10 | 
            +
            AzG9JCoZnilhgqd81IaHMe+yx81LXG78vBvtWO7iM+Gn7jcGQbASKYjmSbuM0LWf
         | 
| 11 | 
            +
            COIe3EOxj+z3cApr+8uS1cpQrmcDeOMk6EBtFNWds4CDEW3Rhtf3zFb9pSqxyAFR
         | 
| 12 | 
            +
            Wz0n8zJNEzBUontWya2HU90lCSxQBK7MRKVI+XT10yNND4xfMkO3Qm9fxIgk+ZsG
         | 
| 13 | 
            +
            eDvwxJoJSGk5mKKLWXaYF89Z6PHbQj9IwJQ2bNvCbbD0kPnQm/aJfiXiB7gfUIgr
         | 
| 14 | 
            +
            X+itbWl1j3E8vS4piboAOwMLQHywaA0wFd4HpouiNjX8hPCaZ+l+T1z/JY98Luy0
         | 
| 15 | 
            +
            eAJhEC/kx8YCya/T/JrlWtZAYEmQWJjLWmifqfFSMJuCfREAGiNGgZ2GFjdAOKmD
         | 
| 16 | 
            +
            CZKAVnGvTrhEWvVu38yXcwmY9/nfmZLA92T+P/PDghlO+WbApbcXIwOHBgv/Nfsn
         | 
| 17 | 
            +
            RzozMw8sR2LvdCPOavcQ0iuKvg7zrA3PzVhF9iSD1lfzIokr0sEBStgKMncCAwEA
         | 
| 18 | 
            +
            AaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUoVp0nHjq6mJ/UGuFhnSK
         | 
| 19 | 
            +
            7yjbPyswDQYJKoZIhvcNAQELBQADggIBADeI0gRfzF5zyhCCmtlA44L1fo3BEYtm
         | 
| 20 | 
            +
            0Deq2W6bsW9zakYT7fivCUbt0VtS0jzhAlbaLfksJk+Emg+kpsy/CdFr8nk9jlpN
         | 
| 21 | 
            +
            XJMKwjQIVGYDDlJsP9VDw2m+HhUugEpx09QCREaCWCDtobE9bd42VloPd0u3VWZx
         | 
| 22 | 
            +
            u5rSrZCy5wjFeq3dPEFPyDTfV6p1kXkwy9pdG3ww0rw0dqj5OqcGhLyG8b7q7LLP
         | 
| 23 | 
            +
            aFVuwjnutrBJtDNOsvbD/dyybQVj3hF1IpVZLwoFQ3ji43/X3NJ5jdo/WrwwdwbH
         | 
| 24 | 
            +
            NE6YxNlsIrql4sJFeHzNukTxcC5wHcOLtc6E6dhe7uK+5rRD75+odz85rPLsBTPt
         | 
| 25 | 
            +
            zje8OWyxO1cGol7inpKUsO9ITFQdDC9iyRjvDRouwneT+XeVwW6BmAKg4DvXdLtQ
         | 
| 26 | 
            +
            oQNLlMbbZWskvWoI4amXwSpzWmn4mRK3e4IPWFju64QRvkEExFynvC69jeih5Llh
         | 
| 27 | 
            +
            JU3OjLobG4wKOQHB7w1UjiPJNsxGB0P1zug6ztTBLjsvJoxdJuIGkCsI7g12cKNR
         | 
| 28 | 
            +
            PbXp8453klofFpMNGlCP8dns92Qu20pPvYJcWiC9k42nYu3FHDMbAfSrFU90RNS6
         | 
| 29 | 
            +
            hRWkpXZOMIY1GdudgsxanDtJgFRbkPzwNkMcBQ1538f9U4MrJ9vPsuKx4bYbZ//8
         | 
| 30 | 
            +
            pIe/z3b1V9zV
         | 
| 31 | 
            +
            -----END CERTIFICATE-----
         | 
| @@ -0,0 +1,11 @@ | |
| 1 | 
            +
            #!/usr/bin/env bash
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            set -e
         | 
| 4 | 
            +
            cd "$(dirname "$0")"
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            openssl x509 -x509toreq -copy_extensions copyall -in ca.crt -signkey ca.key -out ca.csr
         | 
| 7 | 
            +
            openssl x509 -req -copy_extensions copyall -days 365 -in ca.csr -set_serial 0x01 -signkey ca.key -out ca.crt && rm ca.csr
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            openssl x509 -x509toreq -copy_extensions copyall -in test.crt -signkey test.key -out test.csr
         | 
| 10 | 
            +
            openssl x509 -req -copy_extensions copyall -days 365 -in test.csr -set_serial 0x01 -CA ca.crt -CAkey ca.key -out test.crt && rm test.csr
         | 
| 11 | 
            +
            openssl pkcs12 -export -inkey test.key -in test.crt -passout "pass:1234567890" -out test.p12
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            -----BEGIN CERTIFICATE-----
         | 
| 2 | 
            -
             | 
| 2 | 
            +
            MIIF1jCCA76gAwIBAgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJQVDEL
         | 
| 3 3 | 
             
            MAkGA1UECAwCTkExDzANBgNVBAcMBkxpc2JvbjEOMAwGA1UECgwFTXlMYWIxDzAN
         | 
| 4 | 
            -
             | 
| 4 | 
            +
            BgNVBAMMBlJvb3RDQTAeFw0yNDAzMTkyMjM3MTdaFw0yNTAzMTkyMjM3MTdaMFMx
         | 
| 5 5 | 
             
            CzAJBgNVBAYTAlBUMQswCQYDVQQIDAJOQTEPMA0GA1UEBwwGTGlzYm9uMQ4wDAYD
         | 
| 6 6 | 
             
            VQQKDAVNeUxhYjEWMBQGA1UEAwwNZWxhc3RpY3NlYXJjaDCCAiIwDQYJKoZIhvcN
         | 
| 7 7 | 
             
            AQEBBQADggIPADCCAgoCggIBAMYhP2zPOE3ke9naeK+cIPNV91htuoGGARs+mlY/
         | 
| @@ -15,22 +15,20 @@ bFMKspGHnytQZF+a+mc5H33G9HiPP3jZE2JjrWlOay+j6ImylMgjcZmHAgaUe3ET | |
| 15 15 | 
             
            tyczoQ5/L5BNiyA2h+1TU8jWicNDtl1+CtOsgEVBBHA6p/IHhsHbNZWPrYtIO9mh
         | 
| 16 16 | 
             
            hiJw1R5yrITXnjZY0rObITwyt/e6Sc3YnoQfsSGaLJEG0aDc0RALAhgzj+RY8086
         | 
| 17 17 | 
             
            2RKOyfdw1sw1RmJKdCf+dOzhPyDpvauvCxrL8UZQTzcBs+qpxOWnZFRWeNsLwoDn
         | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
            VTrvnAM1L3LwqtYQYfUWUHYZFYdvh8layA2ImNE7yx/9wIIkw/L1j9m71Upi6WKR
         | 
| 35 | 
            -
            FKbYFqzgpWksa+zZ2RYYplUAxq0wYw==
         | 
| 18 | 
            +
            6JXXAgMBAAGjgbswgbgwCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAwMwYJ
         | 
| 19 | 
            +
            YIZIAYb4QgENBCYWJE9wZW5TU0wgR2VuZXJhdGVkIFNlcnZlciBDZXJ0aWZpY2F0
         | 
| 20 | 
            +
            ZTAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYE
         | 
| 21 | 
            +
            FG+/PTIbDpPPZTFsEsAbLNUy1wxQMB8GA1UdIwQYMBaAFKFadJx46upif1BrhYZ0
         | 
| 22 | 
            +
            iu8o2z8rMA0GCSqGSIb3DQEBCwUAA4ICAQB6Fptgev/wPHn36lamR9RCBpqvh/Xg
         | 
| 23 | 
            +
            4nSnUfT1EVkEI7vUKkC/+/XeRTfnc14Yclo3uiYBY7QM953FhXOmlH0Rx1wwZSME
         | 
| 24 | 
            +
            ZzyO+1TWNVR2QI7/MhpXdKpqHhNLNTYKFa602ZTA5NXa9XDJ8T3kjbuAKiNwcuu7
         | 
| 25 | 
            +
            RzRK0o3KOWe0uohuI6bgcpgpKqcxrbtUkrPOWAn+XK7JQVSEV1kst4uDr1S+041c
         | 
| 26 | 
            +
            T+NHFQarDXw5g/Y0pHnU42dPyDvT/RrcBbzbe7qylFTbjKro/uFqPAayHlLMnGZp
         | 
| 27 | 
            +
            ZthGAPJJ0pDzBBxGtUmwOnat/HKWe2UN/A3Xqmy0Za7adhrYGj0IaZ0SNblNYDKy
         | 
| 28 | 
            +
            OjWtfOwLQrD9NEIhBXBE3KS5uyXP8kZESnHtIN0b7SMyP7lUxTQ/Rh8U7S6QD9AI
         | 
| 29 | 
            +
            gc+AfBx8UO+fdW3Z4VK+DU0NGRP+127w0yiEz1OtfS87dWBQq+kk2Hlc9TfFeG0b
         | 
| 30 | 
            +
            rckM4v54X8uTlnNfPo+RYRkMAXB/fnx2vVIyxTxFPo4bAnTFA6vnIz8rrRO+Vmh3
         | 
| 31 | 
            +
            oOclhE+ZemZ3BEC+Tgpvb4XD8pvDLnNOYr8tuDjN9jNNDofxplbsjI44wnb1v3HX
         | 
| 32 | 
            +
            M8Xe3P1WfqpWZniRmtVi/CWjkPy2JeC6zW4dn7JdkfEFHGsHQZrEZyrVrtVFPRFo
         | 
| 33 | 
            +
            hbgPGNWCxOhWzg==
         | 
| 36 34 | 
             
            -----END CERTIFICATE-----
         | 
| Binary file | 
| @@ -0,0 +1,36 @@ | |
| 1 | 
            +
            -----BEGIN CERTIFICATE-----
         | 
| 2 | 
            +
            MIIGVzCCBD+gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJQVDEL
         | 
| 3 | 
            +
            MAkGA1UECAwCTkExDzANBgNVBAcMBkxpc2JvbjEOMAwGA1UECgwFTXlMYWIxDzAN
         | 
| 4 | 
            +
            BgNVBAMMBlJvb3RDQTAeFw0yMjAxMTgwNTA0MDZaFw0yNTAxMTgwNTA0MDZaMFIx
         | 
| 5 | 
            +
            CzAJBgNVBAYTAkxTMQswCQYDVQQIDAJOQTESMBAGA1UEBwwJRVMgT3V0cHV0MREw
         | 
| 6 | 
            +
            DwYDVQQKDAhMb2dzdGFzaDEPMA0GA1UEAwwGc2VydmVyMIICIjANBgkqhkiG9w0B
         | 
| 7 | 
            +
            AQEFAAOCAg8AMIICCgKCAgEAunKYkXLoAC14bdIveIZlImtrp2rkQ5Ugz/vGVWFJ
         | 
| 8 | 
            +
            YatJh9x5dmqJQeO1gpGayNedbwDI/50CTDoqwCz4aunMKpgQdKHryjeuR1zqElhC
         | 
| 9 | 
            +
            QLZtAkzM/pCkTnMYvXDfJrBZcSWP+ddlkH8ffmN0Fxf3LsKln+K5A4hASrVGSKYw
         | 
| 10 | 
            +
            +eNDV7yIxdhthqD0xNRuw/j3lSLxwBbwKOs7Mh+xmdMa4vs3AKJvG9LdTm7xdHtD
         | 
| 11 | 
            +
            4rkQAA7TRQOR5pl+eDICRnNkGVzgPMdf2kM94ZU7TI1zUMqV1uPNE05Vps14kuWq
         | 
| 12 | 
            +
            Z84r8ecExCo6mQxrQ1M7Y2UBGa5NM9kb+UP1famANadEOlS5kAGEtcpHnh1WK+98
         | 
| 13 | 
            +
            4mxtMQJHIOOASde/coA3mZ4Oa8Z0Hzy3fsNvD9ieLo2V8yQN9UAQshbB1BEuOaRr
         | 
| 14 | 
            +
            9wQKT4jlnCinZ4UU6FpEJ7NIiZ9wBKqNbN8iySPYmRihOj6BDuEQB/W/K54KQB5n
         | 
| 15 | 
            +
            ctT6MsoTyTFgqe3Zn0owMrGCsSDJsvUcaAz7ZsnesoiFtKsYyRZAWJVcLO5R0FxZ
         | 
| 16 | 
            +
            YjCGk9stspLT1cqmJ8VbMLhiW7T4ZP+sZj3B+aSZWnS5r78I4G9sB9swDMJMjNRP
         | 
| 17 | 
            +
            O15zvQKIRluULhm9WhPET78Iy9Qg1zoiGdnzxBSZ9Sh8+yb57cCRD4da7eLne4Sb
         | 
| 18 | 
            +
            uU8CAwEAAaOCATwwggE4MAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgZAMDMG
         | 
| 19 | 
            +
            CWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBTZXJ2ZXIgQ2VydGlmaWNh
         | 
| 20 | 
            +
            dGUwHQYDVR0OBBYEFPqrHNv/8Io82JmzcNWBdaRmftvdMIGIBgNVHSMEgYAwfoAU
         | 
| 21 | 
            +
            oVp0nHjq6mJ/UGuFhnSK7yjbPyuhUKROMEwxCzAJBgNVBAYTAlBUMQswCQYDVQQI
         | 
| 22 | 
            +
            DAJOQTEPMA0GA1UEBwwGTGlzYm9uMQ4wDAYDVQQKDAVNeUxhYjEPMA0GA1UEAwwG
         | 
| 23 | 
            +
            Um9vdENBghRT5Ucn3UmwssDUYlgL5RyE1/DeETAOBgNVHQ8BAf8EBAMCBaAwEwYD
         | 
| 24 | 
            +
            VR0lBAwwCgYIKwYBBQUHAwEwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3
         | 
| 25 | 
            +
            DQEBCwUAA4ICAQDHt/3rR3rzESrZNNLIU+jbW6Vsfcr22mghhbdoU+pnkZB8Spzp
         | 
| 26 | 
            +
            AUqgmSlOOuz/3OMLPP64sj+gm9kiU177uBoqJUsnaAaV0LNvp+EIWIdskw0OGU2X
         | 
| 27 | 
            +
            uOslZK5EdYGqGgRlElnohPRXcFXwsh//QJYDmNnnC3Fk+ZjZQKjH4q4Ur8ECPqit
         | 
| 28 | 
            +
            wVnRXqlKfLRjWWzvTgoPTAN42KHP2R7xxIHdV+cXH6riLLvtkWcGJbfoQaSuNOvc
         | 
| 29 | 
            +
            GAIoQc2YmIiVsGZ82n9Ww2zO9ByqF+KfGgIFDTCp1CzpfLKLLhzMv/p4n2zf/BOb
         | 
| 30 | 
            +
            MCJJfljOewqmzMo48Wj2vk/46IAGl5uA6PnDwa0LNgomA9c6loDcYEOsCr69xL+D
         | 
| 31 | 
            +
            7GL/Jzm9HaTE97lRGVwoKBG0hKabFEfOueKB6Oab8bVTuY99kbbRaFZs7I9QYVQy
         | 
| 32 | 
            +
            eY38YJv5kN3yAjFclO39R8cAngqecbQDZ7xTl7dF7CvrpAoNI8olL01Kjy/+vfX4
         | 
| 33 | 
            +
            WAMO9YONnVPwwB05voRZfKErVKi9iwAWa5m9DdtE5QdfjcsXZkITW2CF2skSgujw
         | 
| 34 | 
            +
            BS8P8Z+HccKa+qEPQM+eBWjrlzlx/XC2iXKE1w4zZL0wRgY7+W4dIMgJmPmV/Gue
         | 
| 35 | 
            +
            5wSnZtMueBdyKy+xFrJcszoakKg/JfSesKfnVLC+60EL2FQqbrGCEiTp2A==
         | 
| 36 | 
            +
            -----END CERTIFICATE-----
         | 
| @@ -0,0 +1,51 @@ | |
| 1 | 
            +
            -----BEGIN RSA PRIVATE KEY-----
         | 
| 2 | 
            +
            MIIJKgIBAAKCAgEAunKYkXLoAC14bdIveIZlImtrp2rkQ5Ugz/vGVWFJYatJh9x5
         | 
| 3 | 
            +
            dmqJQeO1gpGayNedbwDI/50CTDoqwCz4aunMKpgQdKHryjeuR1zqElhCQLZtAkzM
         | 
| 4 | 
            +
            /pCkTnMYvXDfJrBZcSWP+ddlkH8ffmN0Fxf3LsKln+K5A4hASrVGSKYw+eNDV7yI
         | 
| 5 | 
            +
            xdhthqD0xNRuw/j3lSLxwBbwKOs7Mh+xmdMa4vs3AKJvG9LdTm7xdHtD4rkQAA7T
         | 
| 6 | 
            +
            RQOR5pl+eDICRnNkGVzgPMdf2kM94ZU7TI1zUMqV1uPNE05Vps14kuWqZ84r8ecE
         | 
| 7 | 
            +
            xCo6mQxrQ1M7Y2UBGa5NM9kb+UP1famANadEOlS5kAGEtcpHnh1WK+984mxtMQJH
         | 
| 8 | 
            +
            IOOASde/coA3mZ4Oa8Z0Hzy3fsNvD9ieLo2V8yQN9UAQshbB1BEuOaRr9wQKT4jl
         | 
| 9 | 
            +
            nCinZ4UU6FpEJ7NIiZ9wBKqNbN8iySPYmRihOj6BDuEQB/W/K54KQB5nctT6MsoT
         | 
| 10 | 
            +
            yTFgqe3Zn0owMrGCsSDJsvUcaAz7ZsnesoiFtKsYyRZAWJVcLO5R0FxZYjCGk9st
         | 
| 11 | 
            +
            spLT1cqmJ8VbMLhiW7T4ZP+sZj3B+aSZWnS5r78I4G9sB9swDMJMjNRPO15zvQKI
         | 
| 12 | 
            +
            RluULhm9WhPET78Iy9Qg1zoiGdnzxBSZ9Sh8+yb57cCRD4da7eLne4SbuU8CAwEA
         | 
| 13 | 
            +
            AQKCAgEAjd1oLTOrR4dRnO5S5HgON9RYg3iX2rx7zQUb8hcmSMSWHGQrn2iMq6/h
         | 
| 14 | 
            +
            iknT5oH47l9AkQ4ck3em07bkBiWDDd3Kl5Qk3ybi2rXd/LtfHfIwm5FoYUIZYv+8
         | 
| 15 | 
            +
            kVhy0vNX+vnDxSyZwQqZIgf2ayP3FoNQlolikUd4899ebSTXGyxLL1TrFO8K12dd
         | 
| 16 | 
            +
            Fu80oLStXbLLE4fgkKH71rW64vp3+MGBJmBx/k/ByE4uNp0cGEUL4Z9mLZr7xuSA
         | 
| 17 | 
            +
            EGCszoI6Zfn/PP/O9To4uY5dInB2j8C1pl6KyefO0C6DUfKiaH29fkBzpfcjwxRq
         | 
| 18 | 
            +
            AT4xb/2IisvPPmYyHMYS4ty4CxsMk7Cu5q+DlmRMa7ShOOdSAw+1k7yUl3rodXuu
         | 
| 19 | 
            +
            48k806s1cpoowo1aiNYMlZ6scQ0GtYU9/KfeWyfzO3QzgNguyAXifZNepU6qumUw
         | 
| 20 | 
            +
            S3670/1O/7KfpUCd8zgGmbHXlm6lhGj6ZHRDVDvp9/RKkqySbTGuWAXRgK3iLvEg
         | 
| 21 | 
            +
            26KTBtqW6WMx0XsZf7T2CDfXqdL+XzDrYNl9GB5rqgCjBUmsaK9QdwDGw4oFY3+k
         | 
| 22 | 
            +
            9KzBYj7wE7/W9vjBNBoWg/821McHJyYDaFCdOyC0YkppZKNENMcUkNE1noXQB7w5
         | 
| 23 | 
            +
            ib0NPWum//H+DT+F2iKOzP7N5f4XpHUSRnpYQ3C3d3Jt7n9NRoECggEBAObPgZd/
         | 
| 24 | 
            +
            ZnrgZtt++tMAsG8wEfjPS4GM/vbAdNJFruT1zamwIQv4ba/7/m2UO2nIpS1T6vBR
         | 
| 25 | 
            +
            MeVjsaueNe2K/9iRbXWKidTj38EnWCeEQQek9+bCjXqW01WjF+fomXYGSOj2RUWx
         | 
| 26 | 
            +
            5z7CcsfFe2N4yQxZEv9ynf2PZsA90F5FGcm7RvputhcY79Oyq8/baQmT2JpJMbHT
         | 
| 27 | 
            +
            X3J1usCQyIBjaGRErh0rSwXKcNL09Z1P5t4TDkZ+bctzO3s/0qdgS0E3keilyE4L
         | 
| 28 | 
            +
            cKe+hoGl8CsCaUBSmzY5evuLVChoZi6Pwlk84+CxFm5O9l505Bmphb22vZXII3ZS
         | 
| 29 | 
            +
            k7zDIJEBRzN+Sy8CggEBAM7LqE0yy56c55itsWQOKAVYyObn7HdwylQvd3OaEDhG
         | 
| 30 | 
            +
            L5MFFdif/GeLHcNzv2eRnd2n7cyjDfHR7znw9H0/xlLlloxonGiGR3XXCGexQYBY
         | 
| 31 | 
            +
            lJPkeCQRPAqNWXxUKsSPaChXJROsXRy6G2dgcdruM88z9iKnyeu8Ky++y8r6DLrm
         | 
| 32 | 
            +
            niTcRdqzz2HiGbnUyYdH7mg3IVT5LZsXxNyLAN+t4r0LmeZkijCC5xUd1brOxEAM
         | 
| 33 | 
            +
            h36qJZ1XXAGmhPgYW31VAqyDZ4oL9PGXEU/MCrxp8xHflbBOWBLm80gYmbZzxvvK
         | 
| 34 | 
            +
            4aGdXYWRmlEI3MS+HsvtcGXh4WOE1nLSU3cvDDIBa+ECggEBAKO+hvORoIR/+rix
         | 
| 35 | 
            +
            hwR2srTO55EajzijbKZltvsOEJvCfltp5qf1YOu+3Kukw9myTOyxYjWHhNx2M6/L
         | 
| 36 | 
            +
            F/sj54oe8ga3eD0eRLllTjcKro/byztcvr4/jkJs6CLQcz62CrerL03YfnOZw5BS
         | 
| 37 | 
            +
            W80f/ZHTB5VOHSOrvnuX3uFiKH9ja2FzdZ9BQ7NuSFG4GPaAeuRKFQVRLZ+oQgsn
         | 
| 38 | 
            +
            K/dZjs/Dobpz4k+DZTNkMXOfIexenHwKaZ4ya/puNuYjfIASCmOAaXBk0VFP62DC
         | 
| 39 | 
            +
            9nWsyjql4BNCCCu4lsXr+sIBnyFr/0aCm6U6Q7KTPtet2oHSyQEf8XiZ8NGzpMD6
         | 
| 40 | 
            +
            pSa07GUCggEBAJc0JCAmJuoX0eM6BT2ieDLIo0TqiWUf7GC3wECfgoKTFxAJpNqa
         | 
| 41 | 
            +
            yCQxfRa/WFFzEJnUwrRg+L47AQ89lpbJ/cn5IyYRC2QF4tRP4U5oNfuRSToF0K6W
         | 
| 42 | 
            +
            h28zwR1+MTM9pCvy5CJJYl+x2H2y8CzjBLDZTnwycRrToEQt3rbQNGSoYTOUd+Mc
         | 
| 43 | 
            +
            nGL2vla5No2a08ARp2aJN4ZyT7fuTzo9207c36+tDbnAzRQMl40ayDYIsz2zTQOJ
         | 
| 44 | 
            +
            r7VpO0poDOVMNkNLZXZznarUCY1uJN91HIySDdI2xoEzquipTCMy7miHBIl2Fb6n
         | 
| 45 | 
            +
            Is1jjICyfrQfLZLhITryExcroGnB1cnubiECggEAdOeyL1Q0MC59nbZ3E0OwCSMe
         | 
| 46 | 
            +
            HAEbcEp8J6nyyxJ+VVSVSmh5SIEajSh5PPkrzzqKkVo6LSXvHeiwvx5R302RBIew
         | 
| 47 | 
            +
            GZ41oUJA5ApPWAiZo/pusRR0nnClBXPSqFOb7uYuDTXuma2rWcN3xt4L1zGbSMS7
         | 
| 48 | 
            +
            de3Wsp6kVv3q2uF/2fv78BwpwaRQaDcmw269iSHjMAtVbBm2QIkN4FI+4CCUdn7H
         | 
| 49 | 
            +
            plUAW5CXWtAHRKFJwjF/I8PYAlyvGb4i8ll/RK5hworj1VrPgnKIg2JP8LcAm1a4
         | 
| 50 | 
            +
            9sk2DRryU+7PZBWgqaXeTfoDUzdcKmWx/jbGPP7Wlvh3Ao6ityQ0pauWZKzSFg==
         | 
| 51 | 
            +
            -----END RSA PRIVATE KEY-----
         | 
| Binary file | 
| @@ -0,0 +1,32 @@ | |
| 1 | 
            +
            -----BEGIN CERTIFICATE-----
         | 
| 2 | 
            +
            MIIFdzCCA1+gAwIBAgIUNtmhsOlqXXLvFvsvImAvs9ZrnFkwDQYJKoZIhvcNAQEL
         | 
| 3 | 
            +
            BQAwSzELMAkGA1UEBhMCTFMxCzAJBgNVBAgMAk5BMQswCQYDVQQHDAJFUzERMA8G
         | 
| 4 | 
            +
            A1UECgwITG9nc3Rhc2gxDzANBgNVBAMMBmNsaWVudDAeFw0yMjAxMTgxMzIwMDNa
         | 
| 5 | 
            +
            Fw0yNTAxMTgxMzIwMDNaMEsxCzAJBgNVBAYTAkxTMQswCQYDVQQIDAJOQTELMAkG
         | 
| 6 | 
            +
            A1UEBwwCRVMxETAPBgNVBAoMCExvZ3N0YXNoMQ8wDQYDVQQDDAZjbGllbnQwggIi
         | 
| 7 | 
            +
            MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDT+NYvZzi7y2RHvklPQ7BYV478
         | 
| 8 | 
            +
            A+nN/ncakJ0JjmdekwDhUjb8VO/YxN68FyLargI89hsa9Aw20GRZrtibUYfl2qZy
         | 
| 9 | 
            +
            CW5Gydl/t2evCbO2mIcObImsagp/wNbPfopX8efU1aK3KPSlES0qDX6oB2hl9Afx
         | 
| 10 | 
            +
            oeJY+NBlg1xhVWC8/WAKxG/me9XPYhsOSVYR8UiA2RkPnhSND6dqqR+KGUdhxcZH
         | 
| 11 | 
            +
            rB2Y/fHyy2uAgErWguNSvVRudy7yZn5eAIhV2cI+710SOGPIXPbMPzdJBiNFNhaK
         | 
| 12 | 
            +
            QSCze+lC7xJg2lYhR+2H3DofhftemPMLPtFauVUe1xm5rP/hrVSbZuNN8DEffpAO
         | 
| 13 | 
            +
            whhgsDDmkAh8oY+OTSWCdjKHrir+Dbqo/OfmMK5tkC12LP2e45nvGKLrJGsHtBeP
         | 
| 14 | 
            +
            +l3edtYLy0lvKVXvF/3krujTQYrA04Gqb9JKsvUSFarlhiY3dmJ1+na3kCNRu5Ei
         | 
| 15 | 
            +
            oFlvr8uWJLeEFTll6ahTGkCnWZ5bHP1NNYD4JRwTNtujArtWxEEomoiyjgw3RfHE
         | 
| 16 | 
            +
            pGlSaljnCvP9OX72zfrpfbQJx937CEt22jVTyKls4TPvkX+bKXHUVNG0xDlMcUK/
         | 
| 17 | 
            +
            +DdTDLxD+j0gBJofSD/uWeWd8VhwSG7jY5PimUhQxwrHouyKbktF3useuElH/3wn
         | 
| 18 | 
            +
            pDy0hPKbgZmATChOBQIDAQABo1MwUTAdBgNVHQ4EFgQUKj3kW3xSP4/7D9djf8DM
         | 
| 19 | 
            +
            XdAG0e8wHwYDVR0jBBgwFoAUKj3kW3xSP4/7D9djf8DMXdAG0e8wDwYDVR0TAQH/
         | 
| 20 | 
            +
            BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAbNsBp/QUTXNKblQUPsjK97BDHVLs
         | 
| 21 | 
            +
            pdcHAabLd5Cwveb+0RyqUoMGz+XmtOiCS4bX5uLnNbjiFQK1zMyen6RBmdfZ4+nv
         | 
| 22 | 
            +
            /Uh5XMQx3oZCCrmXbTEsFjlSgQuQlTGlaJBZXKwN7KmBgqvsNEPRwteDPOLuQ4DP
         | 
| 23 | 
            +
            4zc/6euJDeHcrqTYEF4sYB5srkkL4A0Kw3ZaukopKMpdEaAzgqeQdQ5AqbKlfiiI
         | 
| 24 | 
            +
            /XJxomGLQ7LWY9KWYeZZ3RhdN/mEREFYHZ+OkptPcKqjQimIq6JulHVQJar3A3ec
         | 
| 25 | 
            +
            zaVsyT4UkDDn0nf8N/D9mjbCuO3Pd/8EHgqRzxMvglkCkDElrucrXjECK6SBpmgu
         | 
| 26 | 
            +
            nCIvEIJxlHqLicBAQxdv6/N+UILZ37Wg1MyoIkzQA1j6lkw8kMLi0OIStZ6COOVA
         | 
| 27 | 
            +
            6x00SDH7GwkWEWJCGN7v8xOTd4ftN3Srhsai0wMyNtA39Wi3GiAWo8XwtfrtkWwk
         | 
| 28 | 
            +
            7zmWYZu/Q98WAKSv7V5UYkCCzI1R9L2ZRBYtl94kQyfCzwVAyw7+x+z2mFm9hKIo
         | 
| 29 | 
            +
            g4Gc2UVOgMdYeghNwst7GUmCOJGo1hAr36UtZgDV4PnM1V41GAFNff+XArdZTpgu
         | 
| 30 | 
            +
            dEEhFp2ITlM/+9c68EvFMUhoi8M0GBv7IPwOE70f4blkBvTnNLQqe0bRfwB4FUcI
         | 
| 31 | 
            +
            8X4SIgxrmMAlKIc=
         | 
| 32 | 
            +
            -----END CERTIFICATE-----
         | 
| @@ -0,0 +1,54 @@ | |
| 1 | 
            +
            -----BEGIN ENCRYPTED PRIVATE KEY-----
         | 
| 2 | 
            +
            MIIJnDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQI+GmeuhQKe3oCAggA
         | 
| 3 | 
            +
            MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECBMDAiAm75L9BIIJSAuO3VTZO5tn
         | 
| 4 | 
            +
            F16ZpsL/9CW03G78wIGfiDE3Z4cWGfV/b+0eLUiPEPTWXwsT2dKOK1ih7yWecOLY
         | 
| 5 | 
            +
            Bb1jE/RJGd6SdAvE7Ur8xyEQhDgVbybcn0hubjQj4koP/k7HwcVVyR4cyXUCKcsr
         | 
| 6 | 
            +
            105LS4lagX3RI6zQCpK47dKbBj3YpZKN8CZPM03SEnmFh+QMDoXAegP2941hIdvL
         | 
| 7 | 
            +
            UO+VY5UpCe1VweBaMAXS6xWSk+LCQ/rlvR7vOTFkXqqC9KybkmrwN8hP2DPi218P
         | 
| 8 | 
            +
            XdQ720tP5gfhYLZtWoEQGrSgoJ7P4we3YyTMtCMmBZLuk5zk/OfwvX7Z+RlxX2rN
         | 
| 9 | 
            +
            TQxn2DlOc5anEG23r3Opv/ETm4awPgpdYYm7by3MJEY0lnOTZRuze8LcW6NjvyVd
         | 
| 10 | 
            +
            oi7geDPmVdvs5AQTV4aSBNfd9xvaq5NWiFPTbtnK17FqWSnWYlmrGJLaWvmSSBdZ
         | 
| 11 | 
            +
            4BLKElaU9v5uOmCCExaTpx4r+RcNZIdfAggCpcThwJuLtS1Kt0VhDvW5vkUbEq7h
         | 
| 12 | 
            +
            lhObPkUQfCEOgcNgo97ww1E4GxJEth6TN1hP78pcDYg7/Lb4p4DzrBTHH2IFYVmW
         | 
| 13 | 
            +
            cd195YeJIHOt96LWQuslv1HK24Of4+8luR/aLEfT1pGjyvm+5ShsgklEv21YVLJZ
         | 
| 14 | 
            +
            a4NKw8VNL5Y0ErlgN5RXd0n4MAdQHfpHSSUmcW3WNkC607OiS5f4DOAwoyWu8Roa
         | 
| 15 | 
            +
            9RaHpvJcQEtT1g0qCmLPoaqXOXqXJL+/ayEPXtaTv9wfUYgYpQdaB1b88/USneCx
         | 
| 16 | 
            +
            yUpSnI1Sn4HiZiaNzh+ZpHf0qBDdwPslRXFjtBefoOfJidklTTMQ4kEx4j6Uh2lM
         | 
| 17 | 
            +
            u2EEq0/kldydIUKhqpNdvOBmsylAzOoeWX/PQrVneRXZwe18aZb4QbEtPdB+Lobf
         | 
| 18 | 
            +
            oqRSObI98o9B7joXDJ891GnlsiNg+JvKBgUR9hce14EV8wU25/DiuFr6Mm8yUv3f
         | 
| 19 | 
            +
            UaGf8Cz6H8poj8djBoSF5vrVxu9Ucxkt4thN6J7/OXCnCCOU0vV+FUQqE23FPadh
         | 
| 20 | 
            +
            VK9MMA3cQKPiv+d4HNJriThLEgj2s+5xxZ2QXMl1gGNmMEHclIOA2BOSqoq8VkKS
         | 
| 21 | 
            +
            BpLQEZHMyfkRHzB+bclJnkAFLb2Vh/y3SkOgFggJFIRq0kL7g5PYrOwS6qRgHnNZ
         | 
| 22 | 
            +
            tw+hdTMWBLMwLNgMs1rWkEvTxvT//mDRKFmOV/rlG3xozb6OKB+7O60Tx1N5o3oP
         | 
| 23 | 
            +
            KH7qD3bzJ8JyIg85oJJHqOvvMlkoFk4qhL0l8N79EQy/+bOKpQeOxhWDuIpd0sCA
         | 
| 24 | 
            +
            FJjVEBFlYVI25ZO0pjFYvFQKd8IwfA2DpnXX7DRLZmzUvNG7mfkhmzKzqjwAw3GY
         | 
| 25 | 
            +
            RKfRdYF3OMo6/QcKDE3xl/x7XyepAnFlTEQzHHD6o+uhWEvX0+7McY2YAmPrXUjf
         | 
| 26 | 
            +
            bC+au6vp6945FoBe1AcqbQb2ZdJqQq9F1bgi0QwWhh/JlQfvRMz3PqcYct/92Wvr
         | 
| 27 | 
            +
            Fq6P+awwEq0V2XvOU376f5qC2TPOoEyErCHj+m5zUTezP6rmeO6G1txf1qdVfvcS
         | 
| 28 | 
            +
            yqU5iOyQZnf++ObJCsV3HILu3FyOVKrjplFYF7VzLwcNw/ulUK4d2LaZX99WTTJA
         | 
| 29 | 
            +
            H18OG3x0Y0OqLyWKkO9Pl5WkCW8v8IvocDwVl3KsZI6m6JE+92t+IDI2p27hiN8+
         | 
| 30 | 
            +
            PzoOQ51EGY/nmtDevaxAy4HcOxXYQJV3gZrAOOlBe+7KwPw1mhR/BW64y7JZaCsj
         | 
| 31 | 
            +
            m7CTWbu/tt+xio+PGJ4woj5K5zKDKkP2O46shJRS5/03r3EDrfySgYvfT1M2y9Aw
         | 
| 32 | 
            +
            tGdFQhF8tMSRUYWVPaj8dBH/cRoFvOSI4ARek/TbbJO0XHYPV+rf76MA8VpE6EFK
         | 
| 33 | 
            +
            BskLXLsgxti3sm5p/6D6tg6iC7efBkEebtKmjMvLK38Td1h8aVRZ1tVtJj7K/hYw
         | 
| 34 | 
            +
            Zp2WQaEwpZskgVGXvN+fMN33VUNTYqNS6jTYwPY9OyN1lwoaxw4yAhJolLKp9qJZ
         | 
| 35 | 
            +
            SF7CdYFbao6pgBj5/pzTwANPeRtm5M2gzrNrLgPHjM5w43R3mC6L2qG47Apw8DnI
         | 
| 36 | 
            +
            HhyfzWbnS4UNP64yZoeIY7QpykGcOsR3wO5qjg9hH3WFOgWMciOzOKn3LnhcA05I
         | 
| 37 | 
            +
            C8a4W+xYEcWYfRG7oTBpMKgswWz+++Ho09MuDbkDO3WSwmaKw+dU+ACJc0L6Rov2
         | 
| 38 | 
            +
            wEe0vE4vNugvUbS15ST9Z3zKZuEnMVDw8u5qFLDRz9tEhF/wgi4O9W4k/Qy6Ib42
         | 
| 39 | 
            +
            SUJxbLxPRC8w/CnzRa6xHPxzDcfYQbwnNG+hq5PPgn8xyoIjNJatfigo9o3THRbv
         | 
| 40 | 
            +
            wwDzJEWEzhew9MVYz0Re09KZrCi4BqCNCMwkAM8nOdPu38+MO+0DylqgIY+0u/zt
         | 
| 41 | 
            +
            HbfKl+cbImCuRWzUZFzb6lo3uEJeUZa0UjrxykYCupzMNJ15ezXYxSsWgH58ah/0
         | 
| 42 | 
            +
            6uqw0I8XwJM6mWY7BQvhixUXmeOgRBFBaNaLBe/bvvEideoEAXgLWw5ID40PZvh4
         | 
| 43 | 
            +
            4nRtMSOdEJFt6EGLnNl+WCC/f9B/NXHKx2yTzXam52UEe0SDnDcDca3v4z54U2MY
         | 
| 44 | 
            +
            v3qozFf8GSM1EFAcEHRDfCLj+/gXgOHK2DFcMc3YwGJUfiSbz2LfGzFG34nezJDA
         | 
| 45 | 
            +
            TtRFdRlW4ctqUKA4CkGbbZlJ6v9WFAg72BD5OognB035vtpdvfLOiUfUeflskMTt
         | 
| 46 | 
            +
            Uyci5s5sxw8TWRIpaXwk1pnLcivXC0TSVnzi1HhD6pNsejkBXBeQPxB6qMbWUhQb
         | 
| 47 | 
            +
            RDzRqbe4z0/IjG6uAXhacXw087iPjPN7+xtZJWwCaQjWGuNn2Fs76CJRrWlt/DF9
         | 
| 48 | 
            +
            PgaBlpul8EuNyMqZWKaehln0zBvH5Y177BXlrEeTpuUo5/kPWj2jEu51jfe+xIW8
         | 
| 49 | 
            +
            3RejLknCS39KjOV794ImLw8B1WlCwrfajVnXwgga8fCY6KGz7u3Prqq9irhRfycO
         | 
| 50 | 
            +
            pAl7Rja/fb/1yBuQHrUU1lgYIXqb262lebMhLlDHntc+J8Vjk++UuP2WjPNeztp2
         | 
| 51 | 
            +
            H4VF5NxMKJU8gScaN67FUtFYst5cz2aJuDHxbitFHKgoxNFYHVMjY26X/kmZVnUb
         | 
| 52 | 
            +
            aNCsaa8YbPPUDmHf2rJjIlK+PZLvLlENFbWDxaRC7/ab39Za9DTD9zH4aut6gw3Y
         | 
| 53 | 
            +
            q/eu/hnuc3qa580zbpgcAg==
         | 
| 54 | 
            +
            -----END ENCRYPTED PRIVATE KEY-----
         | 
| Binary file | 
| @@ -10,10 +10,12 @@ end | |
| 10 10 |  | 
| 11 11 | 
             
            describe "indexing with http_compression turned on", :integration => true do
         | 
| 12 12 | 
             
              let(:event) { LogStash::Event.new("message" => "Hello World!", "type" => type) }
         | 
| 13 | 
            +
              let(:event_with_invalid_utf_8_bytes) { LogStash::Event.new("message" => "Message from spacecraft which contains \xAC invalid \xD7 byte sequences.", "type" => type) }
         | 
| 13 14 | 
             
              let(:index) { 10.times.collect { rand(10).to_s }.join("") }
         | 
| 14 15 | 
             
              let(:type) { ESHelper.es_version_satisfies?("< 7") ? "doc" : "_doc" }
         | 
| 15 16 | 
             
              let(:event_count) { 10000 + rand(500) }
         | 
| 16 | 
            -
               | 
| 17 | 
            +
              # mix the events with valid and invalid UTF-8 payloads
         | 
| 18 | 
            +
              let(:events) { event_count.times.map { |i| i%3 == 0 ? event : event_with_invalid_utf_8_bytes }.to_a }
         | 
| 17 19 | 
             
              let(:config) {
         | 
| 18 20 | 
             
                {
         | 
| 19 21 | 
             
                  "hosts" => get_host_port,
         | 
| @@ -46,7 +46,8 @@ describe "TARGET_BULK_BYTES", :integration => true do | |
| 46 46 | 
             
            end
         | 
| 47 47 |  | 
| 48 48 | 
             
            describe "indexing" do
         | 
| 49 | 
            -
              let(: | 
| 49 | 
            +
              let(:message) { "Hello from #{__FILE__}" }
         | 
| 50 | 
            +
              let(:event) { LogStash::Event.new("message" => message, "type" => type) }
         | 
| 50 51 | 
             
              let(:index) { 10.times.collect { rand(10).to_s }.join("") }
         | 
| 51 52 | 
             
              let(:type) { ESHelper.es_version_satisfies?("< 7") ? "doc" : "_doc" }
         | 
| 52 53 | 
             
              let(:event_count) { 1 + rand(2) }
         | 
| @@ -55,10 +56,22 @@ describe "indexing" do | |
| 55 56 | 
             
              subject { LogStash::Outputs::ElasticSearch.new(config) }
         | 
| 56 57 |  | 
| 57 58 | 
             
              let(:es_url) { "http://#{get_host_port}" }
         | 
| 58 | 
            -
              let(:index_url) {"#{es_url}/#{index}"}
         | 
| 59 | 
            -
             | 
| 60 | 
            -
              let(: | 
| 61 | 
            -
             | 
| 59 | 
            +
              let(:index_url) { "#{es_url}/#{index}" }
         | 
| 60 | 
            +
             | 
| 61 | 
            +
              let(:curl_opts) { nil }
         | 
| 62 | 
            +
             | 
| 63 | 
            +
              def curl_and_get_json_response(url, method: :get); require 'open3'
         | 
| 64 | 
            +
                begin
         | 
| 65 | 
            +
                  stdout, status = Open3.capture2("curl #{curl_opts} -X #{method.to_s.upcase} -k #{url}")
         | 
| 66 | 
            +
                rescue Errno::ENOENT
         | 
| 67 | 
            +
                  fail "curl not available, make sure curl binary is installed and available on $PATH"
         | 
| 68 | 
            +
                end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                if status.success?
         | 
| 71 | 
            +
                  LogStash::Json.load(stdout)
         | 
| 72 | 
            +
                else
         | 
| 73 | 
            +
                  fail "curl failed: #{status}\n  #{stdout}"
         | 
| 74 | 
            +
                end
         | 
| 62 75 | 
             
              end
         | 
| 63 76 |  | 
| 64 77 | 
             
              before do
         | 
| @@ -70,16 +83,16 @@ describe "indexing" do | |
| 70 83 | 
             
                it "ships events" do
         | 
| 71 84 | 
             
                  subject.multi_receive(events)
         | 
| 72 85 |  | 
| 73 | 
            -
                   | 
| 86 | 
            +
                  curl_and_get_json_response "#{es_url}/_refresh", method: :post
         | 
| 74 87 |  | 
| 75 | 
            -
                   | 
| 76 | 
            -
                  result = LogStash::Json.load(response.body)
         | 
| 88 | 
            +
                  result = curl_and_get_json_response "#{index_url}/_count?q=*"
         | 
| 77 89 | 
             
                  cur_count = result["count"]
         | 
| 78 90 | 
             
                  expect(cur_count).to eq(event_count)
         | 
| 79 91 |  | 
| 80 | 
            -
                   | 
| 81 | 
            -
                  result = LogStash::Json.load(response.body)
         | 
| 92 | 
            +
                  result = curl_and_get_json_response "#{index_url}/_search?q=*&size=1000"
         | 
| 82 93 | 
             
                  result["hits"]["hits"].each do |doc|
         | 
| 94 | 
            +
                    expect(doc["_source"]["message"]).to eq(message)
         | 
| 95 | 
            +
             | 
| 83 96 | 
             
                    if ESHelper.es_version_satisfies?("< 8")
         | 
| 84 97 | 
             
                      expect(doc["_type"]).to eq(type)
         | 
| 85 98 | 
             
                    else
         | 
| @@ -132,7 +145,7 @@ describe "indexing" do | |
| 132 145 | 
             
              describe "a secured indexer", :secure_integration => true do
         | 
| 133 146 | 
             
                let(:user) { "simpleuser" }
         | 
| 134 147 | 
             
                let(:password) { "abc123" }
         | 
| 135 | 
            -
                let(:cacert) { "spec/fixtures/test_certs/ | 
| 148 | 
            +
                let(:cacert) { "spec/fixtures/test_certs/ca.crt" }
         | 
| 136 149 | 
             
                let(:es_url) {"https://elasticsearch:9200"}
         | 
| 137 150 | 
             
                let(:config) do
         | 
| 138 151 | 
             
                  {
         | 
| @@ -140,42 +153,73 @@ describe "indexing" do | |
| 140 153 | 
             
                    "user" => user,
         | 
| 141 154 | 
             
                    "password" => password,
         | 
| 142 155 | 
             
                    "ssl" => true,
         | 
| 143 | 
            -
                    "cacert" =>  | 
| 156 | 
            +
                    "cacert" => cacert,
         | 
| 144 157 | 
             
                    "index" => index
         | 
| 145 158 | 
             
                  }
         | 
| 146 159 | 
             
                end
         | 
| 147 | 
            -
             | 
| 148 | 
            -
             | 
| 149 | 
            -
             | 
| 150 | 
            -
             | 
| 151 | 
            -
             | 
| 152 | 
            -
             | 
| 153 | 
            -
             | 
| 154 | 
            -
             | 
| 155 | 
            -
                       | 
| 156 | 
            -
                     | 
| 157 | 
            -
             | 
| 158 | 
            -
             | 
| 159 | 
            -
             | 
| 160 | 
            -
             | 
| 161 | 
            -
             | 
| 162 | 
            -
             | 
| 163 | 
            -
             | 
| 164 | 
            -
             | 
| 165 | 
            -
             | 
| 166 | 
            -
             | 
| 167 | 
            -
             | 
| 168 | 
            -
             | 
| 169 | 
            -
             | 
| 170 | 
            -
                     | 
| 171 | 
            -
             | 
| 172 | 
            -
             | 
| 173 | 
            -
             | 
| 174 | 
            -
             | 
| 175 | 
            -
             | 
| 160 | 
            +
             | 
| 161 | 
            +
                let(:curl_opts) { "-u #{user}:#{password}" }
         | 
| 162 | 
            +
             | 
| 163 | 
            +
                if ENV['ES_SSL_KEY_INVALID'] == 'true' # test_invalid.crt (configured in ES) has SAN: DNS:localhost
         | 
| 164 | 
            +
                  # javax.net.ssl.SSLPeerUnverifiedException: Host name 'elasticsearch' does not match the certificate subject ...
         | 
| 165 | 
            +
             | 
| 166 | 
            +
                  context "when no keystore nor ca cert set and verification is disabled" do
         | 
| 167 | 
            +
                    let(:config) do
         | 
| 168 | 
            +
                      super().tap { |config| config.delete('cacert') }.merge('ssl_certificate_verification' => false)
         | 
| 169 | 
            +
                    end
         | 
| 170 | 
            +
             | 
| 171 | 
            +
                    include_examples("an indexer", true)
         | 
| 172 | 
            +
                  end
         | 
| 173 | 
            +
             | 
| 174 | 
            +
                  context "when keystore is set and verification is disabled" do
         | 
| 175 | 
            +
                    let(:config) do
         | 
| 176 | 
            +
                      super().merge(
         | 
| 177 | 
            +
                          'ssl_certificate_verification' => false,
         | 
| 178 | 
            +
                          'keystore' => 'spec/fixtures/test_certs/test.p12',
         | 
| 179 | 
            +
                          'keystore_password' => '1234567890'
         | 
| 180 | 
            +
                      )
         | 
| 181 | 
            +
                    end
         | 
| 182 | 
            +
             | 
| 183 | 
            +
                    include_examples("an indexer", true)
         | 
| 184 | 
            +
                  end
         | 
| 185 | 
            +
             | 
| 186 | 
            +
                  context "when keystore has self-signed cert and verification is disabled" do
         | 
| 187 | 
            +
                    let(:config) do
         | 
| 188 | 
            +
                      super().tap { |config| config.delete('cacert') }.merge(
         | 
| 189 | 
            +
                          'ssl_certificate_verification' => false,
         | 
| 190 | 
            +
                          'keystore' => 'spec/fixtures/test_certs/test_self_signed.p12',
         | 
| 191 | 
            +
                          'keystore_password' => '1234567890'
         | 
| 192 | 
            +
                      )
         | 
| 193 | 
            +
                    end
         | 
| 194 | 
            +
             | 
| 195 | 
            +
                    include_examples("an indexer", true)
         | 
| 196 | 
            +
                  end
         | 
| 197 | 
            +
             | 
| 198 | 
            +
                else
         | 
| 199 | 
            +
             | 
| 200 | 
            +
                  it_behaves_like("an indexer", true)
         | 
| 201 | 
            +
             | 
| 202 | 
            +
                  describe "with a password requiring escaping" do
         | 
| 203 | 
            +
                    let(:user) { "f@ncyuser" }
         | 
| 204 | 
            +
                    let(:password) { "ab%12#" }
         | 
| 205 | 
            +
             | 
| 206 | 
            +
                    include_examples("an indexer", true)
         | 
| 176 207 | 
             
                  end
         | 
| 177 | 
            -
             | 
| 178 | 
            -
                   | 
| 208 | 
            +
             | 
| 209 | 
            +
                  describe "with a user/password requiring escaping in the URL" do
         | 
| 210 | 
            +
                    let(:config) do
         | 
| 211 | 
            +
                      {
         | 
| 212 | 
            +
                          "hosts" => ["https://#{CGI.escape(user)}:#{CGI.escape(password)}@elasticsearch:9200"],
         | 
| 213 | 
            +
                          "ssl" => true,
         | 
| 214 | 
            +
                          "cacert" => "spec/fixtures/test_certs/test.crt",
         | 
| 215 | 
            +
                          "index" => index
         | 
| 216 | 
            +
                      }
         | 
| 217 | 
            +
                    end
         | 
| 218 | 
            +
             | 
| 219 | 
            +
                    include_examples("an indexer", true)
         | 
| 220 | 
            +
                  end
         | 
| 221 | 
            +
             | 
| 179 222 | 
             
                end
         | 
| 223 | 
            +
             | 
| 180 224 | 
             
              end
         | 
| 181 225 | 
             
            end
         | 
| @@ -12,13 +12,13 @@ describe "elasticsearch is down on startup", :integration => true do | |
| 12 12 | 
             
                                                       "template_overwrite" => true,
         | 
| 13 13 | 
             
                                                       "hosts" => get_host_port(),
         | 
| 14 14 | 
             
                                                       "retry_max_interval" => 64,
         | 
| 15 | 
            -
                                                       "retry_initial_interval" => 2
         | 
| 15 | 
            +
                                                       "retry_initial_interval" => 2,
         | 
| 16 | 
            +
                                                       'ecs_compatibility' => 'disabled'
         | 
| 16 17 | 
             
                                                   })
         | 
| 17 18 | 
             
              }
         | 
| 18 19 |  | 
| 19 20 | 
             
              before :each do
         | 
| 20 21 | 
             
                # Delete all templates first.
         | 
| 21 | 
            -
                require "elasticsearch"
         | 
| 22 22 | 
             
                allow(Stud).to receive(:stoppable_sleep)
         | 
| 23 23 |  | 
| 24 24 | 
             
                # Clean ES of data before we start.
         | 
| @@ -33,7 +33,9 @@ describe "elasticsearch is down on startup", :integration => true do | |
| 33 33 | 
             
              end
         | 
| 34 34 |  | 
| 35 35 | 
             
              it 'should ingest events when Elasticsearch recovers before documents are sent' do
         | 
| 36 | 
            -
                allow_any_instance_of(LogStash::Outputs::ElasticSearch::HttpClient::Pool).to receive(:get_es_version).and_raise( | 
| 36 | 
            +
                allow_any_instance_of(LogStash::Outputs::ElasticSearch::HttpClient::Pool).to receive(:get_es_version).and_raise(
         | 
| 37 | 
            +
                    ::LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError.new StandardError.new("TEST: before docs are sent"), 'http://test.es/'
         | 
| 38 | 
            +
                )
         | 
| 37 39 | 
             
                subject.register
         | 
| 38 40 | 
             
                allow_any_instance_of(LogStash::Outputs::ElasticSearch::HttpClient::Pool).to receive(:get_es_version).and_return(ESHelper.es_version)
         | 
| 39 41 | 
             
                subject.multi_receive([event1, event2])
         | 
| @@ -43,7 +45,9 @@ describe "elasticsearch is down on startup", :integration => true do | |
| 43 45 | 
             
              end
         | 
| 44 46 |  | 
| 45 47 | 
             
              it 'should ingest events when Elasticsearch recovers after documents are sent' do
         | 
| 46 | 
            -
                allow_any_instance_of(LogStash::Outputs::ElasticSearch::HttpClient::Pool).to receive(:get_es_version).and_raise( | 
| 48 | 
            +
                allow_any_instance_of(LogStash::Outputs::ElasticSearch::HttpClient::Pool).to receive(:get_es_version).and_raise(
         | 
| 49 | 
            +
                    ::LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError.new StandardError.new("TEST: after docs are sent"), 'http://test.es/'
         | 
| 50 | 
            +
                )
         | 
| 47 51 | 
             
                subject.register
         | 
| 48 52 | 
             
                Thread.new do
         | 
| 49 53 | 
             
                  sleep 4
         | 
| @@ -56,11 +60,13 @@ describe "elasticsearch is down on startup", :integration => true do | |
| 56 60 | 
             
              end
         | 
| 57 61 |  | 
| 58 62 | 
             
              it 'should get cluster_uuid when Elasticsearch recovers from license check failure' do
         | 
| 59 | 
            -
                allow_any_instance_of(LogStash::Outputs::ElasticSearch::HttpClient::Pool).to receive(:get_license). | 
| 63 | 
            +
                allow_any_instance_of(LogStash::Outputs::ElasticSearch::HttpClient::Pool).to receive(:get_license).and_raise(
         | 
| 64 | 
            +
                    ::LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError.new StandardError.new("TEST: docs are sent"), 'http://test.es/_license'
         | 
| 65 | 
            +
                )
         | 
| 60 66 | 
             
                subject.register
         | 
| 61 67 | 
             
                Thread.new do
         | 
| 62 68 | 
             
                  sleep 4
         | 
| 63 | 
            -
                  allow_any_instance_of(LogStash::Outputs::ElasticSearch::HttpClient::Pool).to receive(:get_license). | 
| 69 | 
            +
                  allow_any_instance_of(LogStash::Outputs::ElasticSearch::HttpClient::Pool).to receive(:get_license).and_call_original
         | 
| 64 70 | 
             
                end
         | 
| 65 71 | 
             
                subject.multi_receive([event1, event2])
         | 
| 66 72 | 
             
                @es.indices.refresh
         | 
| @@ -243,12 +243,14 @@ describe LogStash::Outputs::ElasticSearch::HttpClient do | |
| 243 243 | 
             
                      end
         | 
| 244 244 | 
             
                    end
         | 
| 245 245 |  | 
| 246 | 
            -
                    context "with  | 
| 247 | 
            -
                      let(: | 
| 248 | 
            -
                      let(: | 
| 246 | 
            +
                    context "with multiple messages" do
         | 
| 247 | 
            +
                      let(:message_head) { "Spacecraft message" }
         | 
| 248 | 
            +
                      let(:message_tail) { "byte sequence" }
         | 
| 249 | 
            +
                      let(:invalid_utf_8_message) { "contains invalid \xAC" }
         | 
| 249 250 | 
             
                      let(:actions) { [
         | 
| 250 | 
            -
                        ["index", {:_id=>nil, :_index=>"logstash"}, {"message"=>  | 
| 251 | 
            -
                        ["index", {:_id=>nil, :_index=>"logstash"}, {"message"=>  | 
| 251 | 
            +
                        ["index", {:_id=>nil, :_index=>"logstash"}, {"message"=> message_head}],
         | 
| 252 | 
            +
                        ["index", {:_id=>nil, :_index=>"logstash"}, {"message"=> invalid_utf_8_message}],
         | 
| 253 | 
            +
                        ["index", {:_id=>nil, :_index=>"logstash"}, {"message"=> message_tail}],
         | 
| 252 254 | 
             
                      ]}
         | 
| 253 255 | 
             
                      it "executes one bulk_send operation" do
         | 
| 254 256 | 
             
                        allow(subject).to receive(:join_bulk_responses)
         | 
| @@ -258,7 +260,7 @@ describe LogStash::Outputs::ElasticSearch::HttpClient do | |
| 258 260 |  | 
| 259 261 | 
             
                      context "if one exceeds TARGET_BULK_BYTES" do
         | 
| 260 262 | 
             
                        let(:target_bulk_bytes) { LogStash::Outputs::ElasticSearch::TARGET_BULK_BYTES }
         | 
| 261 | 
            -
                        let(: | 
| 263 | 
            +
                        let(:message_head) { "a" * (target_bulk_bytes + 1) }
         | 
| 262 264 | 
             
                        it "executes two bulk_send operations" do
         | 
| 263 265 | 
             
                          allow(subject).to receive(:join_bulk_responses)
         | 
| 264 266 | 
             
                          expect(subject).to receive(:bulk_send).twice
         | 
| @@ -33,7 +33,7 @@ describe "SSL option" do | |
| 33 33 |  | 
| 34 34 | 
             
                it "should pass the flag to the ES client" do
         | 
| 35 35 | 
             
                  expect(::Manticore::Client).to receive(:new) do |args|
         | 
| 36 | 
            -
                    expect(args[:ssl]).to eq(:enabled => true, :verify =>  | 
| 36 | 
            +
                    expect(args[:ssl]).to eq(:enabled => true, :verify => :disable)
         | 
| 37 37 | 
             
                  end.and_return(manticore_double)
         | 
| 38 38 |  | 
| 39 39 | 
             
                  subject.register
         | 
    
        metadata
    CHANGED
    
    | @@ -1,21 +1,21 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: logstash-output-elasticsearch
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 11.4. | 
| 4 | 
            +
              version: 11.4.2
         | 
| 5 5 | 
             
            platform: java
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Elastic
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2024-03-20 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 15 15 | 
             
                requirements:
         | 
| 16 16 | 
             
                - - ">="
         | 
| 17 17 | 
             
                  - !ruby/object:Gem::Version
         | 
| 18 | 
            -
                    version: 0. | 
| 18 | 
            +
                    version: 0.8.0
         | 
| 19 19 | 
             
                - - "<"
         | 
| 20 20 | 
             
                  - !ruby/object:Gem::Version
         | 
| 21 21 | 
             
                    version: 1.0.0
         | 
| @@ -26,7 +26,7 @@ dependencies: | |
| 26 26 | 
             
                requirements:
         | 
| 27 27 | 
             
                - - ">="
         | 
| 28 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            -
                    version: 0. | 
| 29 | 
            +
                    version: 0.8.0
         | 
| 30 30 | 
             
                - - "<"
         | 
| 31 31 | 
             
                  - !ruby/object:Gem::Version
         | 
| 32 32 | 
             
                    version: 1.0.0
         | 
| @@ -244,10 +244,18 @@ files: | |
| 244 244 | 
             
            - spec/fixtures/template-with-policy-es6x.json
         | 
| 245 245 | 
             
            - spec/fixtures/template-with-policy-es7x.json
         | 
| 246 246 | 
             
            - spec/fixtures/template-with-policy-es8x.json
         | 
| 247 | 
            -
            - spec/fixtures/test_certs/ca | 
| 248 | 
            -
            - spec/fixtures/test_certs/ca | 
| 247 | 
            +
            - spec/fixtures/test_certs/ca.crt
         | 
| 248 | 
            +
            - spec/fixtures/test_certs/ca.key
         | 
| 249 | 
            +
            - spec/fixtures/test_certs/renew.sh
         | 
| 249 250 | 
             
            - spec/fixtures/test_certs/test.crt
         | 
| 250 251 | 
             
            - spec/fixtures/test_certs/test.key
         | 
| 252 | 
            +
            - spec/fixtures/test_certs/test.p12
         | 
| 253 | 
            +
            - spec/fixtures/test_certs/test_invalid.crt
         | 
| 254 | 
            +
            - spec/fixtures/test_certs/test_invalid.key
         | 
| 255 | 
            +
            - spec/fixtures/test_certs/test_invalid.p12
         | 
| 256 | 
            +
            - spec/fixtures/test_certs/test_self_signed.crt
         | 
| 257 | 
            +
            - spec/fixtures/test_certs/test_self_signed.key
         | 
| 258 | 
            +
            - spec/fixtures/test_certs/test_self_signed.p12
         | 
| 251 259 | 
             
            - spec/integration/outputs/compressed_indexing_spec.rb
         | 
| 252 260 | 
             
            - spec/integration/outputs/create_spec.rb
         | 
| 253 261 | 
             
            - spec/integration/outputs/data_stream_spec.rb
         | 
| @@ -319,10 +327,18 @@ test_files: | |
| 319 327 | 
             
            - spec/fixtures/template-with-policy-es6x.json
         | 
| 320 328 | 
             
            - spec/fixtures/template-with-policy-es7x.json
         | 
| 321 329 | 
             
            - spec/fixtures/template-with-policy-es8x.json
         | 
| 322 | 
            -
            - spec/fixtures/test_certs/ca | 
| 323 | 
            -
            - spec/fixtures/test_certs/ca | 
| 330 | 
            +
            - spec/fixtures/test_certs/ca.crt
         | 
| 331 | 
            +
            - spec/fixtures/test_certs/ca.key
         | 
| 332 | 
            +
            - spec/fixtures/test_certs/renew.sh
         | 
| 324 333 | 
             
            - spec/fixtures/test_certs/test.crt
         | 
| 325 334 | 
             
            - spec/fixtures/test_certs/test.key
         | 
| 335 | 
            +
            - spec/fixtures/test_certs/test.p12
         | 
| 336 | 
            +
            - spec/fixtures/test_certs/test_invalid.crt
         | 
| 337 | 
            +
            - spec/fixtures/test_certs/test_invalid.key
         | 
| 338 | 
            +
            - spec/fixtures/test_certs/test_invalid.p12
         | 
| 339 | 
            +
            - spec/fixtures/test_certs/test_self_signed.crt
         | 
| 340 | 
            +
            - spec/fixtures/test_certs/test_self_signed.key
         | 
| 341 | 
            +
            - spec/fixtures/test_certs/test_self_signed.p12
         | 
| 326 342 | 
             
            - spec/integration/outputs/compressed_indexing_spec.rb
         | 
| 327 343 | 
             
            - spec/integration/outputs/create_spec.rb
         | 
| 328 344 | 
             
            - spec/integration/outputs/data_stream_spec.rb
         | 
| @@ -1,32 +0,0 @@ | |
| 1 | 
            -
            -----BEGIN CERTIFICATE-----
         | 
| 2 | 
            -
            MIIFeTCCA2GgAwIBAgIUU+VHJ91JsLLA1GJYC+UchNfw3hEwDQYJKoZIhvcNAQEL
         | 
| 3 | 
            -
            BQAwTDELMAkGA1UEBhMCUFQxCzAJBgNVBAgMAk5BMQ8wDQYDVQQHDAZMaXNib24x
         | 
| 4 | 
            -
            DjAMBgNVBAoMBU15TGFiMQ8wDQYDVQQDDAZSb290Q0EwHhcNMTkwNzE1MTMxMTI5
         | 
| 5 | 
            -
            WhcNMjQwNzE0MTMxMTI5WjBMMQswCQYDVQQGEwJQVDELMAkGA1UECAwCTkExDzAN
         | 
| 6 | 
            -
            BgNVBAcMBkxpc2JvbjEOMAwGA1UECgwFTXlMYWIxDzANBgNVBAMMBlJvb3RDQTCC
         | 
| 7 | 
            -
            AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMtTMqAWuH17b9XqPa5L3HNq
         | 
| 8 | 
            -
            gnZ958+gvcOt7Q/sOEvcDQJgkzZ+Gywh5er5JF2iomYOHiD5JncYr4YmRQKuYfD6
         | 
| 9 | 
            -
            B1WI5FuQthD/OlA1/RHqtbY27J33SaO66ro8gal7vjHrXKQkefVYRwdfO6DqqbhV
         | 
| 10 | 
            -
            6L4sMiy8FzQ55TMpoM35cWuvoAMxvSQqGZ4pYYKnfNSGhzHvssfNS1xu/Lwb7Vju
         | 
| 11 | 
            -
            4jPhp+43BkGwEimI5km7jNC1nwjiHtxDsY/s93AKa/vLktXKUK5nA3jjJOhAbRTV
         | 
| 12 | 
            -
            nbOAgxFt0YbX98xW/aUqscgBUVs9J/MyTRMwVKJ7Vsmth1PdJQksUASuzESlSPl0
         | 
| 13 | 
            -
            9dMjTQ+MXzJDt0JvX8SIJPmbBng78MSaCUhpOZiii1l2mBfPWejx20I/SMCUNmzb
         | 
| 14 | 
            -
            wm2w9JD50Jv2iX4l4ge4H1CIK1/orW1pdY9xPL0uKYm6ADsDC0B8sGgNMBXeB6aL
         | 
| 15 | 
            -
            ojY1/ITwmmfpfk9c/yWPfC7stHgCYRAv5MfGAsmv0/ya5VrWQGBJkFiYy1pon6nx
         | 
| 16 | 
            -
            UjCbgn0RABojRoGdhhY3QDipgwmSgFZxr064RFr1bt/Ml3MJmPf535mSwPdk/j/z
         | 
| 17 | 
            -
            w4IZTvlmwKW3FyMDhwYL/zX7J0c6MzMPLEdi73Qjzmr3ENIrir4O86wNz81YRfYk
         | 
| 18 | 
            -
            g9ZX8yKJK9LBAUrYCjJ3AgMBAAGjUzBRMB0GA1UdDgQWBBShWnSceOrqYn9Qa4WG
         | 
| 19 | 
            -
            dIrvKNs/KzAfBgNVHSMEGDAWgBShWnSceOrqYn9Qa4WGdIrvKNs/KzAPBgNVHRMB
         | 
| 20 | 
            -
            Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQBRQK0m3t5h2Y3CUCJYLMiCUge4
         | 
| 21 | 
            -
            UOzvpCoawSXH1FP2ycA+P1bP8H8htjwvV334ZADlQrDQRu0hqa1T+DxwhLxNOxgE
         | 
| 22 | 
            -
            1XCthN3TTyd3O1mT4NmT6mcn2wYSn/JC6fPwFcloX8BcUvxl+xwmOgL/pzgf1ekK
         | 
| 23 | 
            -
            MVS0n+r3bzdFTgGnvsmxmPHe2bUhyXXqzQIx3ObSGtuKYUu7aZEysEtJhaR+vGTd
         | 
| 24 | 
            -
            jjTOV2S71edVlKTxRLZpHgoTZpBL/phwRQ63vdef4ftNGs0glGDc0yqXGMxMALOl
         | 
| 25 | 
            -
            Up7+H4HI99rldZcul6oZ+ORltt047Hk7ctWb20SqxEH9tGLXKm6hDEL9HzyFXeyJ
         | 
| 26 | 
            -
            DAue1GF+3H0KvsjSs5XH7LHMuJDCuSP64+h9gzkI+q06oBNX/9pQyQaHj0K4don8
         | 
| 27 | 
            -
            lWOMLI4gQibV7R1Opt2feA8MwWxouP/yni8IX6sPePVQ+fLEk1C+Kg+x6k1yQHEM
         | 
| 28 | 
            -
            36BEP6iYOYvqG0OIjMas2U7Yhn2wWlVm9It3WMyaW8ZPI8kwc3dx715dZuNg/zjd
         | 
| 29 | 
            -
            rJS678BNBVxInc7dzpY6el0Lr70CGwiJpX/N9P1yiTFZ7GZm3Kax8QnTtvqXzRIy
         | 
| 30 | 
            -
            sBgt8BVZHUe1lWFYlG+jlakiXqz752nmHuwif7iBI4iWzRmW2vYPfTEmYPRLZES2
         | 
| 31 | 
            -
            nIg9fQPvVw+fIHACZQ==
         | 
| 32 | 
            -
            -----END CERTIFICATE-----
         | 
| 
            File without changes
         |