Replace godep with dep

This commit is contained in:
Manuel de Brito Fontes 2017-10-06 17:26:14 -03:00
parent 1e7489927c
commit bf5616c65b
14883 changed files with 3937406 additions and 361781 deletions

View file

@ -0,0 +1,11 @@
root = true
[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.go]
indent_style = tab
indent_size = 4

View file

@ -0,0 +1,9 @@
.idea
*.iml
/vendor
/cert-chain-resolver
/out
tests/http-server

85
vendor/github.com/zakjan/cert-chain-resolver/README.md generated vendored Normal file
View file

@ -0,0 +1,85 @@
# SSL certificate chain resolver
[![CircleCI](https://img.shields.io/circleci/project/zakjan/cert-chain-resolver.svg)](https://circleci.com/gh/zakjan/cert-chain-resolver)
[![Licence](https://img.shields.io/badge/licence-MIT-blue.svg)](https://tldrlegal.com/license/mit-license)
This application downloads all intermediate CA certificates for a given SSL server certificate. It can help you fix the *incomplete certificate chain* issue, also reported as *Extra download* by [Qualys SSL Server Test](https://www.ssllabs.com/ssltest/).
See Releases for prebuilt binaries or build it yourself.
NOTE: In case of any troubles with Go you can try the deprecated shell script in [shell](https://github.com/zakjan/cert-chain-resolver/tree/shell) branch.
## Usage
```
NAME:
cert-chain-resolver - SSL certificate chain resolver
USAGE:
cert-chain-resolver [global options] [INPUT_FILE]
VERSION:
1.0.1
GLOBAL OPTIONS:
--output OUTPUT_FILE, -o OUTPUT_FILE output to OUTPUT_FILE (default: stdout)
--intermediate-only, -i output intermediate certificates only
--der, -d output DER format
--include-system, -s include root CA from system in output
--version, -v print the version
```
## Example
```
$ cert-chain-resolver -o domain.bundle.pem domain.pem
1: *.xxx.com
2: COMODO RSA Domain Validation Secure Server CA
3: COMODO RSA Certification Authority
Certificate chain complete.
Total 3 certificate(s) found.
```
## Build
Dependencies:
* Go 1.6
* project cloned in `$GOPATH` (otherwise vendoring doesn't work, see https://github.com/golang/go/issues/12511)
```
go get github.com/Masterminds/glide
glide install
go build
```
## Tests
```
go test $(glide novendor)
tests/run.sh
```
## Background
![Incomplete certificate chain](images/incomplete-chain.png)
All operating systems contain a set of default trusted root certificates. But CAs usually don't use their root certificate to sign customer certificates. Instead of they use so called intermediate certificates, because they can be rotated more frequently.
A certificate can contain a special *Authority Information Access* extension ([RFC-3280](http://tools.ietf.org/html/rfc3280)) with URL to issuer's certificate. Most browsers can use the AIA extension to download missing intermediate certificate to complete the certificate chain. This is the exact meaning of the *Extra download* message. But some clients (mobile browsers, OpenSSL) don't support this extension, so they report such certificate as untrusted.
A server should always send a complete chain, which means concatenated all certificates from the certificate to the trusted root certificate (exclusive, in this order), to prevent such issues. Note, the trusted root certificate should not be there, as it is already included in the systems root certificate store.
You should be able to fetch intermediate certificates from the issuer and concat them together by yourself, this script helps you automatize it by looping over certificate's AIA extension field.
### Other implementations
* [deprecated shell script](https://github.com/zakjan/cert-chain-resolver/tree/shell) (shell)
* [https://certificatechain.io/](https://certificatechain.io/) (webservice)
* [freekmurze/ssl-certificate-chain-resolver](https://github.com/freekmurze/ssl-certificate-chain-resolver) (PHP)
### Licence
The MIT License (MIT). See [LICENCE](LICENCE) file for more information. [TL;DR](https://tldrlegal.com/license/mit-license)
If you use my code in some interesting project, I'd be happy to know about it.

View file

@ -0,0 +1,33 @@
package certUtil
import (
"crypto/x509"
"testing"
"os"
"io/ioutil"
"github.com/stretchr/testify/assert"
)
func TestFetchCertificateChain(t *testing.T) {
file, err := os.Open("../tests/comodo.der.crt")
if err != nil {
t.Error(err)
}
data, err := ioutil.ReadAll(file)
if err != nil {
t.Error(err)
}
cert, err := x509.ParseCertificate(data)
if err != nil {
t.Error(err)
}
certs, err := FetchCertificateChain(cert)
if err != nil {
t.Error(err)
}
assert.Equal(t, 3, len(certs))
}

View file

@ -0,0 +1,11 @@
package certUtil
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestIsPEM(t *testing.T) {
assert.True(t, IsPEM([]byte("-----BEGIN CERTIFICATE-----\n-----END CERTIFICATE-----")))
assert.False(t, IsPEM([]byte("xxx")))
}

63
vendor/github.com/zakjan/cert-chain-resolver/circle.sh generated vendored Executable file
View file

@ -0,0 +1,63 @@
#!/usr/bin/env bash
set -eu
GO_PROJECT_HOME="/home/ubuntu/.go_workspace/src/${CIRCLE_REPOSITORY_URL/https:\/\//}"
dependencies() {
mkdir -p "${GO_PROJECT_HOME}"
rsync -a --delete . "${GO_PROJECT_HOME}"
cd "${GO_PROJECT_HOME}"
go get github.com/Masterminds/glide
glide install
}
build() {
cd "${GO_PROJECT_HOME}"
go build
}
test() {
cd "${GO_PROJECT_HOME}"
go test $(glide novendor)
tests/run.sh
}
release() {
cd "${GO_PROJECT_HOME}"
mkdir out
GOARCH="amd64"
for GOOS in linux darwin windows; do
echo "Building ${GOOS}_${GOARCH}"
DIR="${CIRCLE_PROJECT_REPONAME}_${GOOS}_${GOARCH}"
OUT="out/${DIR}/${CIRCLE_PROJECT_REPONAME}"
if [ "${GOOS}" = "windows" ]; then
OUT="${OUT}.exe"
fi
GOOS="${GOOS}" GOARCH="${GOARCH}" go build -o "${OUT}"
cd out
tar -czf "${DIR}.tar.gz" "${DIR}"
rm -rf "${DIR}"
cp "${DIR}.tar.gz" "${CIRCLE_ARTIFACTS}"
cd ..
done
}
case "$1" in
dependencies)
dependencies;;
build)
build;;
test)
test;;
release)
release;;
esac

View file

@ -0,0 +1,9 @@
dependencies:
override:
- ./circle.sh dependencies
test:
override:
- ./circle.sh build
- ./circle.sh test
- ./circle.sh release

View file

@ -0,0 +1,12 @@
hash: a2c552569a10dc8f17247d97f4d7d6801e7298721d4476c9c8d1755ec488216e
updated: 2016-06-02T09:18:54.603431478+02:00
imports:
- name: github.com/fullsailor/pkcs7
version: 2585af45975b11f1d7502bb6c01556c29efb54ce
- name: github.com/stretchr/testify
version: f390dcf405f7b83c997eac1b06768bb9f44dec18
subpackages:
- assert
- name: github.com/urfave/cli
version: 01a33823596e7cffafa9e037acdd2441dc0eb03f
devImports: []

View file

@ -0,0 +1,7 @@
package: github.com/zakjan/cert-chain-resolver
import:
- package: github.com/stretchr/testify
subpackages:
- assert
- package: github.com/fullsailor/pkcs7
- package: github.com/urfave/cli

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

146
vendor/github.com/zakjan/cert-chain-resolver/main.go generated vendored Normal file
View file

@ -0,0 +1,146 @@
package main
import (
"fmt"
"github.com/urfave/cli"
"github.com/zakjan/cert-chain-resolver/certUtil"
"io/ioutil"
"os"
)
func openInputFile(filename string) (*os.File, error) {
if filename == "" {
return os.Stdin, nil
}
file, err := os.Open(filename)
if err != nil {
return nil, err
}
return file, nil
}
func openOutputFile(filename string) (*os.File, error) {
if filename == "" {
return os.Stdout, nil
}
file, err := os.Create(filename)
if err != nil {
return nil, err
}
return file, nil
}
func run(inputFilename string, outputFilename string, outputIntermediateOnly bool,
outputDerFormat bool, includeSystem bool) error {
inputFile, err := openInputFile(inputFilename)
if err != nil {
return err
}
outputFile, err := openOutputFile(outputFilename)
if err != nil {
return err
}
data, err := ioutil.ReadAll(inputFile)
if err != nil {
return err
}
cert, err := certUtil.DecodeCertificate(data)
if err != nil {
return err
}
certs, err := certUtil.FetchCertificateChain(cert)
if err != nil {
return err
}
if includeSystem {
certs, err = certUtil.AddRootCA(certs)
if err != nil {
return err
}
}
if outputIntermediateOnly {
certs = certs[1:]
}
if !outputDerFormat {
data = certUtil.EncodeCertificates(certs)
} else {
data = certUtil.EncodeCertificatesDER(certs)
}
_, err = outputFile.Write(data)
if err != nil {
return err
}
for i, cert := range certs {
fmt.Fprintf(os.Stderr, "%d: %s\n", i+1, cert.Subject.CommonName)
}
fmt.Fprintf(os.Stderr, "Certificate chain complete.\n")
fmt.Fprintf(os.Stderr, "Total %d certificate(s) found.\n", len(certs))
return nil
}
func main() {
var (
inputFilename string
outputFilename string
outputIntermediateOnly bool
outputDerFormat bool
includeSystem bool
)
app := cli.NewApp()
app.Usage = "SSL certificate chain resolver"
app.ArgsUsage = "[INPUT_FILE]"
app.Version = "1.0.1"
app.HideHelp = true
app.Flags = []cli.Flag{
cli.StringFlag{
Name: "output, o",
Usage: "output to `OUTPUT_FILE` (default: stdout)",
Destination: &outputFilename,
},
cli.BoolFlag{
Name: "intermediate-only, i",
Usage: "output intermediate certificates only",
Destination: &outputIntermediateOnly,
},
cli.BoolFlag{
Name: "der, d",
Usage: "output DER format",
Destination: &outputDerFormat,
},
cli.BoolFlag{
Name: "include-system, s",
Usage: "include root CA from system in output",
Destination: &includeSystem,
},
}
app.Action = func(c *cli.Context) error {
args := c.Args()
if len(args) > 0 {
inputFilename = args[0]
}
err := run(inputFilename, outputFilename, outputIntermediateOnly, outputDerFormat, includeSystem)
return err
}
err := app.Run(os.Args)
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}

View file

@ -0,0 +1,98 @@
-----BEGIN CERTIFICATE-----
MIIFSzCCBDOgAwIBAgIQMT4Uwi0nWHXk9Ww81+gXlzANBgkqhkiG9w0BAQsFADCB
kDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNV
BAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
QTAeFw0xNDExMjYwMDAwMDBaFw0xNTExMjYyMzU5NTlaMFkxITAfBgNVBAsTGERv
bWFpbiBDb250cm9sIFZhbGlkYXRlZDEdMBsGA1UECxMUUG9zaXRpdmVTU0wgV2ls
ZGNhcmQxFTATBgNVBAMUDCoudGFwcHR5LmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAL1nUSUy9TubDP9MccA4UCiMBoLleQIjLMjW2BykVnUOVmyw
yJj4UAitGFcDCoqkIamu6o7hT4iGbqSfWCcBaTMisNzc0kywN56sfYeN1V5LvzRx
uwHsyeb+yfpuDYhU446lFfRvfzdK1cDbkFP7BTWgsDaaNF5Ox0fpXuxJoV5eqieu
WygEORF/scoKUt7U4wZoIKTc22lhIhvswd+DN3svTl68QXNGksJxefXEAsl+FHtH
VbxHN6N08P/DVhASKWNQbvtbPX8sJZqWkJc4/x3uthp+eKH7idr4bXN8tF/2kc8E
w24zaom/13uuA3TurITzKzGZf61sbA5irvrEka8CAwEAAaOCAdUwggHRMB8GA1Ud
IwQYMBaAFJCvajqUWgvYkOoSVnPfQ7Q6KNrnMB0GA1UdDgQWBBSaKnXK69/J+fKN
a8em/5JLG5EYYjAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUE
FjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwTwYDVR0gBEgwRjA6BgsrBgEEAbIxAQIC
BzArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8uY29tL0NQUzAI
BgZngQwBAgEwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL2NybC5jb21vZG9jYS5j
b20vQ09NT0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNybDCB
hQYIKwYBBQUHAQEEeTB3ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LmNvbW9kb2Nh
LmNvbS9DT01PRE9SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wIwYDVR0RBBww
GoIMKi50YXBwdHkuY29tggp0YXBwdHkuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQAx
gVNIM3/dP4C0gBZZ0R3XJ16jQLdm4XLm0vaDPg5I68HqvhPGbEr2qBH1okqqzFTi
qBMa3J7PLVirTk5VAzUrbqHeW5DvZCbnZk1OpOTpeqnPUbsi6dfcBpLTj+eN35Ah
n5VKRCoCzOdcqtyviWOAdt2l5VItOe/FEN6TaeMa/7PGqDCvpaM6teTdOAA72aN6
e7wEe/HWf97eeQccWtq0ZYcYplC9th3kuKwWL/asrKndT5ARSGkA5ecL3eCakAVp
AG0Zi8puMFwRpilYQmletLMGDlw2gzeNt8z6DX8uw3qN6o6LBYA8L31nEQF5pYw4
SZZbFEwO75QSDeeEzRdX
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCB
hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMjEy
MDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
Q09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZh
bGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAI7CAhnhoFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28Sh
bXcDow+G+eMGnD4LgYqbSRutA776S9uMIO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0
Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4TgllfQcBhglo/uLQeTnaG6
ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh7lgUq/51
UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0n
c13cRTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQY
MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz
30O0Oija5zAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgG
BmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNv
bS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB
AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9E
T1JTQUFkZFRydXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21v
ZG9jYS5jb20wDQYJKoZIhvcNAQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2p
mj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/
e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsItG8kO3KdY3RYPBps
P0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdoltMY
dVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc
2bXhc3js9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxG
V/Iz2tDIY+3GH5QFlkoakdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4
HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBmGqW5prU5wfWYQ//u+aen/e7KJD2AFsQX
j4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODcQgPmlKidrv0PJFGUzpII
0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje3WYkN5Ap
lBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf
+AZxAeKCINT+b72x
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw
AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6
2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr
ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt
4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq
m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/
vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT
8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE
IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO
KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO
GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/
s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD
AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9
MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy
bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6
Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ
zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj
Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY
Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5
B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx
PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR
pu/xO28QOG8=
-----END CERTIFICATE-----

Binary file not shown.

View file

@ -0,0 +1,67 @@
-----BEGIN CERTIFICATE-----
MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCB
hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMjEy
MDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
Q09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZh
bGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAI7CAhnhoFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28Sh
bXcDow+G+eMGnD4LgYqbSRutA776S9uMIO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0
Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4TgllfQcBhglo/uLQeTnaG6
ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh7lgUq/51
UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0n
c13cRTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQY
MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz
30O0Oija5zAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgG
BmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNv
bS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB
AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9E
T1JTQUFkZFRydXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21v
ZG9jYS5jb20wDQYJKoZIhvcNAQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2p
mj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/
e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsItG8kO3KdY3RYPBps
P0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdoltMY
dVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc
2bXhc3js9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxG
V/Iz2tDIY+3GH5QFlkoakdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4
HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBmGqW5prU5wfWYQ//u+aen/e7KJD2AFsQX
j4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODcQgPmlKidrv0PJFGUzpII
0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje3WYkN5Ap
lBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf
+AZxAeKCINT+b72x
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw
AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6
2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr
ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt
4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq
m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/
vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT
8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE
IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO
KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO
GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/
s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD
AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9
MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy
bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6
Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ
zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj
Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY
Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5
B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx
PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR
pu/xO28QOG8=
-----END CERTIFICATE-----

Binary file not shown.

View file

@ -0,0 +1,31 @@
-----BEGIN CERTIFICATE-----
MIIFSzCCBDOgAwIBAgIQMT4Uwi0nWHXk9Ww81+gXlzANBgkqhkiG9w0BAQsFADCB
kDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNV
BAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
QTAeFw0xNDExMjYwMDAwMDBaFw0xNTExMjYyMzU5NTlaMFkxITAfBgNVBAsTGERv
bWFpbiBDb250cm9sIFZhbGlkYXRlZDEdMBsGA1UECxMUUG9zaXRpdmVTU0wgV2ls
ZGNhcmQxFTATBgNVBAMUDCoudGFwcHR5LmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAL1nUSUy9TubDP9MccA4UCiMBoLleQIjLMjW2BykVnUOVmyw
yJj4UAitGFcDCoqkIamu6o7hT4iGbqSfWCcBaTMisNzc0kywN56sfYeN1V5LvzRx
uwHsyeb+yfpuDYhU446lFfRvfzdK1cDbkFP7BTWgsDaaNF5Ox0fpXuxJoV5eqieu
WygEORF/scoKUt7U4wZoIKTc22lhIhvswd+DN3svTl68QXNGksJxefXEAsl+FHtH
VbxHN6N08P/DVhASKWNQbvtbPX8sJZqWkJc4/x3uthp+eKH7idr4bXN8tF/2kc8E
w24zaom/13uuA3TurITzKzGZf61sbA5irvrEka8CAwEAAaOCAdUwggHRMB8GA1Ud
IwQYMBaAFJCvajqUWgvYkOoSVnPfQ7Q6KNrnMB0GA1UdDgQWBBSaKnXK69/J+fKN
a8em/5JLG5EYYjAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUE
FjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwTwYDVR0gBEgwRjA6BgsrBgEEAbIxAQIC
BzArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8uY29tL0NQUzAI
BgZngQwBAgEwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL2NybC5jb21vZG9jYS5j
b20vQ09NT0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNybDCB
hQYIKwYBBQUHAQEEeTB3ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LmNvbW9kb2Nh
LmNvbS9DT01PRE9SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wIwYDVR0RBBww
GoIMKi50YXBwdHkuY29tggp0YXBwdHkuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQAx
gVNIM3/dP4C0gBZZ0R3XJ16jQLdm4XLm0vaDPg5I68HqvhPGbEr2qBH1okqqzFTi
qBMa3J7PLVirTk5VAzUrbqHeW5DvZCbnZk1OpOTpeqnPUbsi6dfcBpLTj+eN35Ah
n5VKRCoCzOdcqtyviWOAdt2l5VItOe/FEN6TaeMa/7PGqDCvpaM6teTdOAA72aN6
e7wEe/HWf97eeQccWtq0ZYcYplC9th3kuKwWL/asrKndT5ARSGkA5ecL3eCakAVp
AG0Zi8puMFwRpilYQmletLMGDlw2gzeNt8z6DX8uw3qN6o6LBYA8L31nEQF5pYw4
SZZbFEwO75QSDeeEzRdX
-----END CERTIFICATE-----

Binary file not shown.

View file

@ -0,0 +1,123 @@
-----BEGIN CERTIFICATE-----
MIIFSzCCBDOgAwIBAgIQMT4Uwi0nWHXk9Ww81+gXlzANBgkqhkiG9w0BAQsFADCB
kDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNV
BAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
QTAeFw0xNDExMjYwMDAwMDBaFw0xNTExMjYyMzU5NTlaMFkxITAfBgNVBAsTGERv
bWFpbiBDb250cm9sIFZhbGlkYXRlZDEdMBsGA1UECxMUUG9zaXRpdmVTU0wgV2ls
ZGNhcmQxFTATBgNVBAMUDCoudGFwcHR5LmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAL1nUSUy9TubDP9MccA4UCiMBoLleQIjLMjW2BykVnUOVmyw
yJj4UAitGFcDCoqkIamu6o7hT4iGbqSfWCcBaTMisNzc0kywN56sfYeN1V5LvzRx
uwHsyeb+yfpuDYhU446lFfRvfzdK1cDbkFP7BTWgsDaaNF5Ox0fpXuxJoV5eqieu
WygEORF/scoKUt7U4wZoIKTc22lhIhvswd+DN3svTl68QXNGksJxefXEAsl+FHtH
VbxHN6N08P/DVhASKWNQbvtbPX8sJZqWkJc4/x3uthp+eKH7idr4bXN8tF/2kc8E
w24zaom/13uuA3TurITzKzGZf61sbA5irvrEka8CAwEAAaOCAdUwggHRMB8GA1Ud
IwQYMBaAFJCvajqUWgvYkOoSVnPfQ7Q6KNrnMB0GA1UdDgQWBBSaKnXK69/J+fKN
a8em/5JLG5EYYjAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUE
FjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwTwYDVR0gBEgwRjA6BgsrBgEEAbIxAQIC
BzArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8uY29tL0NQUzAI
BgZngQwBAgEwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL2NybC5jb21vZG9jYS5j
b20vQ09NT0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNybDCB
hQYIKwYBBQUHAQEEeTB3ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LmNvbW9kb2Nh
LmNvbS9DT01PRE9SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wIwYDVR0RBBww
GoIMKi50YXBwdHkuY29tggp0YXBwdHkuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQAx
gVNIM3/dP4C0gBZZ0R3XJ16jQLdm4XLm0vaDPg5I68HqvhPGbEr2qBH1okqqzFTi
qBMa3J7PLVirTk5VAzUrbqHeW5DvZCbnZk1OpOTpeqnPUbsi6dfcBpLTj+eN35Ah
n5VKRCoCzOdcqtyviWOAdt2l5VItOe/FEN6TaeMa/7PGqDCvpaM6teTdOAA72aN6
e7wEe/HWf97eeQccWtq0ZYcYplC9th3kuKwWL/asrKndT5ARSGkA5ecL3eCakAVp
AG0Zi8puMFwRpilYQmletLMGDlw2gzeNt8z6DX8uw3qN6o6LBYA8L31nEQF5pYw4
SZZbFEwO75QSDeeEzRdX
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCB
hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMjEy
MDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
Q09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZh
bGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAI7CAhnhoFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28Sh
bXcDow+G+eMGnD4LgYqbSRutA776S9uMIO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0
Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4TgllfQcBhglo/uLQeTnaG6
ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh7lgUq/51
UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0n
c13cRTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQY
MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz
30O0Oija5zAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgG
BmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNv
bS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB
AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9E
T1JTQUFkZFRydXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21v
ZG9jYS5jb20wDQYJKoZIhvcNAQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2p
mj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/
e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsItG8kO3KdY3RYPBps
P0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdoltMY
dVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc
2bXhc3js9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxG
V/Iz2tDIY+3GH5QFlkoakdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4
HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBmGqW5prU5wfWYQ//u+aen/e7KJD2AFsQX
j4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODcQgPmlKidrv0PJFGUzpII
0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje3WYkN5Ap
lBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf
+AZxAeKCINT+b72x
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw
AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6
2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr
ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt
4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq
m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/
vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT
8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE
IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO
KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO
GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/
s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD
AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9
MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy
bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6
Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ
zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj
Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY
Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5
B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx
PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR
pu/xO28QOG8=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
-----END CERTIFICATE-----

Binary file not shown.

View file

@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O
rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw
7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG
SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69
ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr
AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz
R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo
Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
-----END CERTIFICATE-----

View file

@ -0,0 +1,61 @@
-----BEGIN CERTIFICATE-----
MIIFtDCCBJygAwIBAgIHBB7rQ0SV4jANBgkqhkiG9w0BAQsFADCBtDELMAkGA1UE
BhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAY
BgNVBAoTEUdvRGFkZHkuY29tLCBJbmMuMS0wKwYDVQQLEyRodHRwOi8vY2VydHMu
Z29kYWRkeS5jb20vcmVwb3NpdG9yeS8xMzAxBgNVBAMTKkdvIERhZGR5IFNlY3Vy
ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjAeFw0xNDExMTExNTA4MzhaFw0x
NTEyMDYxNzM3MjRaMIHNMRMwEQYLKwYBBAGCNzwCAQMTAlVTMRgwFgYLKwYBBAGC
NzwCAQITB0FyaXpvbmExHTAbBgNVBA8TFFByaXZhdGUgT3JnYW5pemF0aW9uMRQw
EgYDVQQFEwtSLTE3MjQ3MzMtNjELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB0FyaXpv
bmExEzARBgNVBAcTClNjb3R0c2RhbGUxGTAXBgNVBAoTEEdvRGFkZHkuY29tLCBM
TEMxGDAWBgNVBAMTD3d3dy5nb2RhZGR5LmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAJr6IpFGsqQONXJbI/FJDmlcFwpoJ4qGjgv2nZameUcMgknV
vYQlMhFzwdp0WCs52csI6ZaSQqnTXn/vEyyvBvYj6sVGvZAneS8xFsqnOcI1w5/H
xwLNsiEneCYuz0OiAcGWs5cQUyAnUyt42Nvtr8ox/LolZqhqC+jWLkbeq39V3nhO
im+0/FW7nggvb3uq1n8wotURpiBC95TpQYFOCaBqSDpTaHvRGsINDotkoKV/xRWI
imDvlK9Yxi3cgzv8tT9XLoRW+m80gmZd8hlbvT+TRAZslLcxuxLqL1E5rNId+I5r
ulcx0Hgy1IMXfNeCA+ApcAh3R4INHP3GHRNF3g0CAwEAAaOCAa4wggGqMAwGA1Ud
EwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB
/wQEAwIFoDA1BgNVHR8ELjAsMCqgKKAmhiRodHRwOi8vY3JsLmdvZGFkZHkuY29t
L2dkaWcyczMtMS5jcmwwUwYDVR0gBEwwSjBIBgtghkgBhv1tAQcXAzA5MDcGCCsG
AQUFBwIBFitodHRwOi8vY2VydGlmaWNhdGVzLmdvZGFkZHkuY29tL3JlcG9zaXRv
cnkvMHYGCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZ29k
YWRkeS5jb20vMEAGCCsGAQUFBzAChjRodHRwOi8vY2VydGlmaWNhdGVzLmdvZGFk
ZHkuY29tL3JlcG9zaXRvcnkvZ2RpZzIuY3J0MB8GA1UdIwQYMBaAFEDCvSeOzDSD
MKIz1/tss/C0LIDOMCcGA1UdEQQgMB6CD3d3dy5nb2RhZGR5LmNvbYILZ29kYWRk
eS5jb20wHQYDVR0OBBYEFBf4KO/J46EX5uT3ASE/5yuTtOtYMA0GCSqGSIb3DQEB
CwUAA4IBAQBaLe59yCv0WgDKZ0Q4ibXUONA/dIy3yca6KdsOnOlh2s6OPLPWVONP
p6+M13CjruVciVeqsgZBJALgSp/mtlA+jdMFq8W/Lt+d3sRuq/3bDD0PJGFAKMOn
PNktmIqAwyLDiMTUkSuhXDYzUHlNdiM/VstmIefHVH0eJ75Ks7leGsM10c9kNq+d
ANoh/NEs1QicH6RhWj7RdGIHqh5pJ5q6muj8NAjc4U6ZqfURRsR3DHj2W7BCMS6A
sxxC04HqZSussKIzzRnLgvnwkWtbKimv7och5VnJ7Hk+qr1SjrggxVWcCqNx/F9/
CYkl07fceqWSERe525eO9HvPYAGNTS4c
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIE0DCCA7igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAwMFoXDTMxMDUwMzA3
MDAwMFowgbQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UE
CxMkaHR0cDovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQD
EypHbyBEYWRkeSBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC54MsQ1K92vdSTYuswZLiBCGzD
BNliF44v/z5lz4/OYuY8UhzaFkVLVat4a2ODYpDOD2lsmcgaFItMzEUz6ojcnqOv
K/6AYZ15V8TPLvQ/MDxdR/yaFrzDN5ZBUY4RS1T4KL7QjL7wMDge87Am+GZHY23e
cSZHjzhHU9FGHbTj3ADqRay9vHHZqm8A29vNMDp5T19MR/gd71vCxJ1gO7GyQ5HY
pDNO6rPWJ0+tJYqlxvTV0KaudAVkV4i1RFXULSo6Pvi4vekyCgKUZMQWOlDxSq7n
eTOvDCAHf+jfBDnCaQJsY1L6d8EbyHSHyLmTGFBUNUtpTrw700kuH9zB0lL7AgMB
AAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
HQ4EFgQUQMK9J47MNIMwojPX+2yz8LQsgM4wHwYDVR0jBBgwFoAUOpqFBxBnKLbv
9r0FQW4gwZTaD94wNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v
b2NzcC5nb2RhZGR5LmNvbS8wNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2NybC5n
b2RhZGR5LmNvbS9nZHJvb3QtZzIuY3JsMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEG
CCsGAQUFBwIBFiVodHRwczovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkv
MA0GCSqGSIb3DQEBCwUAA4IBAQAIfmyTEMg4uJapkEv/oV9PBO9sPpyIBslQj6Zz
91cxG7685C/b+LrTW+C05+Z5Yg4MotdqY3MxtfWoSKQ7CC2iXZDXtHwlTxFWMMS2
RJ17LJ3lXubvDGGqv+QqG+6EnriDfcFDzkSnE3ANkR/0yBOtg2DZ2HKocyQetawi
DsoXiWJYRBuriSUBAA/NxBti21G00w9RKpv0vHP8ds42pM3Z2Czqrpv1KrKQ0U11
GIo/ikGQI31bS/6kA1ibRrLDYGCD+H1QQc7CoZDDu+8CL9IVVO5EFdkKrqeKM+2x
LXY2JtwE65/3YR8V3Idv7kaWKK2hJn0KCacuBKONvPi8BDAB
-----END CERTIFICATE-----

View file

@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
MIIFtDCCBJygAwIBAgIHBB7rQ0SV4jANBgkqhkiG9w0BAQsFADCBtDELMAkGA1UE
BhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAY
BgNVBAoTEUdvRGFkZHkuY29tLCBJbmMuMS0wKwYDVQQLEyRodHRwOi8vY2VydHMu
Z29kYWRkeS5jb20vcmVwb3NpdG9yeS8xMzAxBgNVBAMTKkdvIERhZGR5IFNlY3Vy
ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjAeFw0xNDExMTExNTA4MzhaFw0x
NTEyMDYxNzM3MjRaMIHNMRMwEQYLKwYBBAGCNzwCAQMTAlVTMRgwFgYLKwYBBAGC
NzwCAQITB0FyaXpvbmExHTAbBgNVBA8TFFByaXZhdGUgT3JnYW5pemF0aW9uMRQw
EgYDVQQFEwtSLTE3MjQ3MzMtNjELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB0FyaXpv
bmExEzARBgNVBAcTClNjb3R0c2RhbGUxGTAXBgNVBAoTEEdvRGFkZHkuY29tLCBM
TEMxGDAWBgNVBAMTD3d3dy5nb2RhZGR5LmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAJr6IpFGsqQONXJbI/FJDmlcFwpoJ4qGjgv2nZameUcMgknV
vYQlMhFzwdp0WCs52csI6ZaSQqnTXn/vEyyvBvYj6sVGvZAneS8xFsqnOcI1w5/H
xwLNsiEneCYuz0OiAcGWs5cQUyAnUyt42Nvtr8ox/LolZqhqC+jWLkbeq39V3nhO
im+0/FW7nggvb3uq1n8wotURpiBC95TpQYFOCaBqSDpTaHvRGsINDotkoKV/xRWI
imDvlK9Yxi3cgzv8tT9XLoRW+m80gmZd8hlbvT+TRAZslLcxuxLqL1E5rNId+I5r
ulcx0Hgy1IMXfNeCA+ApcAh3R4INHP3GHRNF3g0CAwEAAaOCAa4wggGqMAwGA1Ud
EwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB
/wQEAwIFoDA1BgNVHR8ELjAsMCqgKKAmhiRodHRwOi8vY3JsLmdvZGFkZHkuY29t
L2dkaWcyczMtMS5jcmwwUwYDVR0gBEwwSjBIBgtghkgBhv1tAQcXAzA5MDcGCCsG
AQUFBwIBFitodHRwOi8vY2VydGlmaWNhdGVzLmdvZGFkZHkuY29tL3JlcG9zaXRv
cnkvMHYGCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZ29k
YWRkeS5jb20vMEAGCCsGAQUFBzAChjRodHRwOi8vY2VydGlmaWNhdGVzLmdvZGFk
ZHkuY29tL3JlcG9zaXRvcnkvZ2RpZzIuY3J0MB8GA1UdIwQYMBaAFEDCvSeOzDSD
MKIz1/tss/C0LIDOMCcGA1UdEQQgMB6CD3d3dy5nb2RhZGR5LmNvbYILZ29kYWRk
eS5jb20wHQYDVR0OBBYEFBf4KO/J46EX5uT3ASE/5yuTtOtYMA0GCSqGSIb3DQEB
CwUAA4IBAQBaLe59yCv0WgDKZ0Q4ibXUONA/dIy3yca6KdsOnOlh2s6OPLPWVONP
p6+M13CjruVciVeqsgZBJALgSp/mtlA+jdMFq8W/Lt+d3sRuq/3bDD0PJGFAKMOn
PNktmIqAwyLDiMTUkSuhXDYzUHlNdiM/VstmIefHVH0eJ75Ks7leGsM10c9kNq+d
ANoh/NEs1QicH6RhWj7RdGIHqh5pJ5q6muj8NAjc4U6ZqfURRsR3DHj2W7BCMS6A
sxxC04HqZSussKIzzRnLgvnwkWtbKimv7och5VnJ7Hk+qr1SjrggxVWcCqNx/F9/
CYkl07fceqWSERe525eO9HvPYAGNTS4c
-----END CERTIFICATE-----

View file

@ -0,0 +1,18 @@
package main
import (
"fmt"
"net/http"
"os"
)
func main() {
fs := http.FileServer(http.Dir(os.Args[1]))
http.Handle("/", fs)
err := http.ListenAndServe(":http", nil)
if err != nil {
fmt.Println(err)
}
}

View file

@ -0,0 +1,112 @@
-----BEGIN CERTIFICATE-----
MIIJMjCCCBqgAwIBAgIHGViT6Lp4fTANBgkqhkiG9w0BAQsFADCBtTELMAkGA1UE
BhMCREUxDzANBgNVBAgTBkJlcmxpbjEPMA0GA1UEBxMGQmVybGluMSIwIAYDVQQK
ExlGcmVpZSBVbml2ZXJzaXRhZXQgQmVybGluMQ4wDAYDVQQLEwVaRURBVDEwMC4G
A1UEAxMnRnJlaWUgVW5pdmVyc2l0YWV0IEJlcmxpbiAtIEZVLUNBIC0gRzAxMR4w
HAYJKoZIhvcNAQkBFg9jYUBGVS1CZXJsaW4uREUwHhcNMTUwNDIzMTU1NzE1WhcN
MTgwNzIwMTU1NzE1WjCBhDELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxpbjEP
MA0GA1UEBwwGQmVybGluMSIwIAYDVQQKDBlGcmVpZSBVbml2ZXJzaXRhZXQgQmVy
bGluMQ4wDAYDVQQLDAVaRURBVDEfMB0GA1UEAwwWd3d3LnplZGF0LmZ1LWJlcmxp
bi5kZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOtKbrwWn+/9no4T
BbMfDsqu8Nevu2VXS3Xf5VOB3oh7xlhvkSP+hLKDPI7yVdutNKgSJaHXoLZYWqPs
/d7K0uKu/hGm6qIjIQ3KZzYoqRDQPM8Zaeu7FIE0IrB5UfOKYAUU5zBMKS9TMJQ2
0/e3NFHvuFsANMEtHVKqIpfCKHIfuPKrbTsTsWBBnI2E4bx0fbswgN09Z0nnP0QY
McjPB5hC4gfP05+LDf7n4Lpv76OtVKbcY80vlDKAnHHu8qn5B00WGGpsCunjAjZG
mGq10pdPoucOBrftcx/uL0YEdHoFgJUZyvvzLKWjEoM537uUd9YtABP/wPYPnXYG
Gf9oc00CAwEAAaOCBXQwggVwME8GA1UdIARIMEYwEQYPKwYBBAGBrSGCLAEBBAMD
MBEGDysGAQQBga0hgiwCAQQDATAPBg0rBgEEAYGtIYIsAQEEMA0GCysGAQQBga0h
giweMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMC
BggrBgEFBQcDATAdBgNVHQ4EFgQU8h/wjn9RQQIY9wfQkMT0r9QhnlAwHwYDVR0j
BBgwFoAUBuE99G/0MLd6O1ewMQWJew1YWmwwggNlBgNVHREEggNcMIIDWIIWd3d3
LnplZGF0LmZ1LWJlcmxpbi5kZYISemVkYXQuZnUtYmVybGluLmRlghdlZGl0Lnpl
ZGF0LmZ1LWJlcmxpbi5kZYIMd3d3LnplZGF0LmRlggh6ZWRhdC5kZYIMemVkYXQu
YmVybGlughB3d3cuemVkYXQuYmVybGluggt6ZWRhdC5mdS5kZYIPd3d3LnplZGF0
LmZ1LmRlghR3d3cudnBuLmZ1LWJlcmxpbi5kZYIQbmFzLmZ1LWJlcmxpbi5kZYIT
d3d3LnJ6LmZ1LWJlcmxpbi5kZYIPcnouZnUtYmVybGluLmRlgg9jYy5mdS1iZXJs
aW4uZGWCE3d3dy5jYy5mdS1iZXJsaW4uZGWCEGVkdi5mdS1iZXJsaW4uZGWCFHd3
dy5lZHYuZnUtYmVybGluLmRlghpyZWNoZW56ZW50cnVtLmZ1LWJlcmxpbi5kZYIe
d3d3LnJlY2hlbnplbnRydW0uZnUtYmVybGluLmRlghtjb21wdXRlcmNlbnRlci5m
dS1iZXJsaW4uZGWCH3d3dy5jb21wdXRlcmNlbnRlci5mdS1iZXJsaW4uZGWCHmRh
dGVudmVyYXJiZWl0dW5nLmZ1LWJlcmxpbi5kZYIid3d3LmRhdGVudmVyYXJiZWl0
dW5nLmZ1LWJlcmxpbi5kZYIUbmFzLmNpcy5mdS1iZXJsaW4uZGWCFHd3dy5yei51
bmktYmVybGluLmRlghByei51bmktYmVybGluLmRlghd3d3cuemVkYXQudW5pLWJl
cmxpbi5kZYITemVkYXQudW5pLWJlcmxpbi5kZYIdd3d3LnJ6LnVuaXZlcnNpdGFl
dC1iZXJsaW4uZGWCGXJ6LnVuaXZlcnNpdGFldC1iZXJsaW4uZGWCIHd3dy56ZWRh
dC51bml2ZXJzaXRhZXQtYmVybGluLmRlghx6ZWRhdC51bml2ZXJzaXRhZXQtYmVy
bGluLmRlghR3d3cucGlhLmZ1LWJlcmxpbi5kZYIZd3d3LndpcmVsZXNzLmZ1LWJl
cmxpbi5kZYIJYXJjaGllLmRlgg13d3cuYXJjaGllLmRlgghlbnRyeS5kZYIMd3d3
LmVudHJ5LmRlgglzZWFyY2guZGWCDXd3dy5zZWFyY2guZGUwdQYDVR0fBG4wbDA0
oDKgMIYuaHR0cDovL2NkcDEucGNhLmRmbi5kZS9mdS1jYS9wdWIvY3JsL2NhY3Js
LmNybDA0oDKgMIYuaHR0cDovL2NkcDIucGNhLmRmbi5kZS9mdS1jYS9wdWIvY3Js
L2NhY3JsLmNybDCBxQYIKwYBBQUHAQEEgbgwgbUwMwYIKwYBBQUHMAGGJ2h0dHA6
Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDA+BggrBgEFBQcwAoYy
aHR0cDovL2NkcDEucGNhLmRmbi5kZS9mdS1jYS9wdWIvY2FjZXJ0L2NhY2VydC5j
cnQwPgYIKwYBBQUHMAKGMmh0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZnUtY2EvcHVi
L2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQBTdxJts4rgofA8
F97O+Ve/5dwRGyXDyonnaA1qHoYkDkQeUMOpgUw4HJ9L+pfB+aOI9hucJ6ooA/ic
hgRjzPtjZ+lvTS+odqY2YO/BW3onrIeIxHOUrREZOkfJ3l7z2iQUJLKG49AR/rth
HsmtXSCPQR+5/SXjI8/6tTq6rbaYCwRoNGTsaB4iU6RFPRwao0dlDMH5lztG8TD7
F1Joww6Gv8n2BlhqvG54z+ukYk0SD/he8mxO6u9koVDkaCF8o8XKKSyuZvXD2P9/
mEbhoLDwHhoCe8WjyiD1hGfTM55Zs5WTHNTpySfdOEQ/MVpkdQKHs8kNsYBPI8j7
3R//YW33
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFjzCCBHegAwIBAgIHF5BgzPm5bjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQG
EwJERTETMBEGA1UEChMKREZOLVZlcmVpbjEQMA4GA1UECxMHREZOLVBLSTEkMCIG
A1UEAxMbREZOLVZlcmVpbiBQQ0EgR2xvYmFsIC0gRzAxMB4XDTE0MDUxMjE1MDUz
MloXDTE5MDcwOTIzNTkwMFowgbUxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIEwZCZXJs
aW4xDzANBgNVBAcTBkJlcmxpbjEiMCAGA1UEChMZRnJlaWUgVW5pdmVyc2l0YWV0
IEJlcmxpbjEOMAwGA1UECxMFWkVEQVQxMDAuBgNVBAMTJ0ZyZWllIFVuaXZlcnNp
dGFldCBCZXJsaW4gLSBGVS1DQSAtIEcwMTEeMBwGCSqGSIb3DQEJARYPY2FARlUt
QmVybGluLkRFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjYUI0048
zDNevkmXipCDjSpIr+sEbhiXPzWnZnCnkmLOrEMFaNDWDX6kcVQ1VP71opEfGuR5
LtW0P6N+JM8E8y5HXdap62bD4Yfg0KQEmlh9vpMQ75BckReW7wRKH/Ntcrg8gwn9
7d17Hs8hgRGk8cpBRAs5v5hcqRZcjR63mKCismsjld6MVdWSNYhZJhpcnb0dVzMa
3A7Rf1OsXHwDXrhusCNph1+Pazuw2XbIKWSCsFS4qlhHOj5QA375qk5IjjsUnw2F
qljLiziu9xB4/jhSx1fz6+5RVnTe5Tb9GMbk5RVR+dvPTnzF96T/yW5DqsFIL+xB
YQ8juFoBQog3MwIDAQABo4IB/DCCAfgwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNV
HQ8BAf8EBAMCAQYwEQYDVR0gBAowCDAGBgRVHSAAMB0GA1UdDgQWBBQG4T30b/Qw
t3o7V7AxBYl7DVhabDAfBgNVHSMEGDAWgBRJt8bP6D0ff+pEexMp9/EKcD7eZDAa
BgNVHREEEzARgQ9jYUBGVS1CZXJsaW4uREUwgYgGA1UdHwSBgDB+MD2gO6A5hjdo
dHRwOi8vY2RwMS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9jcmwvY2Fj
cmwuY3JsMD2gO6A5hjdodHRwOi8vY2RwMi5wY2EuZGZuLmRlL2dsb2JhbC1yb290
LWNhL3B1Yi9jcmwvY2FjcmwuY3JsMIHXBggrBgEFBQcBAQSByjCBxzAzBggrBgEF
BQcwAYYnaHR0cDovL29jc3AucGNhLmRmbi5kZS9PQ1NQLVNlcnZlci9PQ1NQMEcG
CCsGAQUFBzAChjtodHRwOi8vY2RwMS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNh
L3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBHBggrBgEFBQcwAoY7aHR0cDovL2NkcDIu
cGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQw
DQYJKoZIhvcNAQELBQADggEBADRy38buZjrfDN8mZiukEjlsx+6s/DKj5YYWaAvU
B5kqhL2TM58bPyq4sYAVCDWALifAk11Gx4/Rp1PLNFd4tnoRcQsfgN8ywECpWBbg
ESOC73tfa6ZSPEY8uZ4yUk0o2nwxkgU0V3/b7/51XLp5TA5gBeL3aYcjYQ17QN14
Mh12MiXFp5VbPBDTHkinUXt316A8Qj09wJnHMOjt5M+ZDn82YYC7vFDzjNkNmw46
PRL3hZOfZb1IS+fhVlR4eW0FBLqmGg+4Y7Y4KKrwBcBK3OzME5jN71LkdNu1lkB4
3OfT+YOMT+pqZp1l0U6DGZa3SZy5xfWY3EL5BYVM8xAfoZg=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIE1TCCA72gAwIBAgIIUE7G9T0RtGQwDQYJKoZIhvcNAQELBQAwcTELMAkGA1UE
BhMCREUxHDAaBgNVBAoTE0RldXRzY2hlIFRlbGVrb20gQUcxHzAdBgNVBAsTFlQt
VGVsZVNlYyBUcnVzdCBDZW50ZXIxIzAhBgNVBAMTGkRldXRzY2hlIFRlbGVrb20g
Um9vdCBDQSAyMB4XDTE0MDcyMjEyMDgyNloXDTE5MDcwOTIzNTkwMFowWjELMAkG
A1UEBhMCREUxEzARBgNVBAoTCkRGTi1WZXJlaW4xEDAOBgNVBAsTB0RGTi1QS0kx
JDAiBgNVBAMTG0RGTi1WZXJlaW4gUENBIEdsb2JhbCAtIEcwMTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAOmbw2eF+Q2u9Y1Uw5ZQNT1i6W5M7ZTXAFuV
InTUIOs0j9bswDEEC5mB4qYU0lKgKCOEi3SJBF5b4OJ4wXjLFssoNTl7LZBF0O2g
AHp8v0oOGwDDhulcKzERewzzgiRDjBw4i2poAJru3E94q9LGE5t2re7eJujvAa90
D8EJovZrzr3TzRQwT/Xl46TIYpuCGgMnMA0CZWBN7dEJIyqWNVgn03bGcbaQHcTt
/zWGfW8zs9sPxRHCioOhlF1Ba9jSEPVM/cpRrNm975KDu9rrixZWVkPP4dUTPaYf
JzDNSVTbyRM0mnF1xWzqpwuY+SGdJ68+ozk5SGqMrcmZ+8MS8r0CAwEAAaOCAYYw
ggGCMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUSbfGz+g9H3/qRHsTKffxCnA+
3mQwHwYDVR0jBBgwFoAUMcN5G7r1U9cX4Il6LRdsCrMrnTMwEgYDVR0TAQH/BAgw
BgEB/wIBAjBiBgNVHSAEWzBZMBEGDysGAQQBga0hgiwBAQQCAjARBg8rBgEEAYGt
IYIsAQEEAwAwEQYPKwYBBAGBrSGCLAEBBAMBMA8GDSsGAQQBga0hgiwBAQQwDQYL
KwYBBAGBrSGCLB4wPgYDVR0fBDcwNTAzoDGgL4YtaHR0cDovL3BraTAzMzYudGVs
ZXNlYy5kZS9ybC9EVF9ST09UX0NBXzIuY3JsMHgGCCsGAQUFBwEBBGwwajAsBggr
BgEFBQcwAYYgaHR0cDovL29jc3AwMzM2LnRlbGVzZWMuZGUvb2NzcHIwOgYIKwYB
BQUHMAKGLmh0dHA6Ly9wa2kwMzM2LnRlbGVzZWMuZGUvY3J0L0RUX1JPT1RfQ0Ff
Mi5jZXIwDQYJKoZIhvcNAQELBQADggEBAGMgKP2cIYZyvjlGWTkyJbypAZsNzMp9
QZyGbQpuLLMTWXWxM5IbYScW/8Oy1TWC+4QqAUm9ZrtmL7LCBl1uP27jAVpbykNj
XJW24TGnH9UHX03mZYJOMvnDfHpLzU1cdO4h8nUC7FI+0slq05AjbklnNb5/TVak
7Mwvz7ehl6hyPsm8QNZapAg91ryCw7e3Mo6xLI5qbbc1AhnP9TlEWGOnJAAQsLv8
Tq9uLzi7pVdJP9huUG8sl5bcHUaaZYnPrszy5dmfU7M+oS+SqdgLxoQfBMbrHuif
fbV7pQLxJMUkYxE0zFqTICp5iDolQpCpZTt8htMSFSMp/CzazDlbVBc=
-----END CERTIFICATE-----

View file

@ -0,0 +1,52 @@
-----BEGIN CERTIFICATE-----
MIIJMjCCCBqgAwIBAgIHGViT6Lp4fTANBgkqhkiG9w0BAQsFADCBtTELMAkGA1UE
BhMCREUxDzANBgNVBAgTBkJlcmxpbjEPMA0GA1UEBxMGQmVybGluMSIwIAYDVQQK
ExlGcmVpZSBVbml2ZXJzaXRhZXQgQmVybGluMQ4wDAYDVQQLEwVaRURBVDEwMC4G
A1UEAxMnRnJlaWUgVW5pdmVyc2l0YWV0IEJlcmxpbiAtIEZVLUNBIC0gRzAxMR4w
HAYJKoZIhvcNAQkBFg9jYUBGVS1CZXJsaW4uREUwHhcNMTUwNDIzMTU1NzE1WhcN
MTgwNzIwMTU1NzE1WjCBhDELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxpbjEP
MA0GA1UEBwwGQmVybGluMSIwIAYDVQQKDBlGcmVpZSBVbml2ZXJzaXRhZXQgQmVy
bGluMQ4wDAYDVQQLDAVaRURBVDEfMB0GA1UEAwwWd3d3LnplZGF0LmZ1LWJlcmxp
bi5kZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOtKbrwWn+/9no4T
BbMfDsqu8Nevu2VXS3Xf5VOB3oh7xlhvkSP+hLKDPI7yVdutNKgSJaHXoLZYWqPs
/d7K0uKu/hGm6qIjIQ3KZzYoqRDQPM8Zaeu7FIE0IrB5UfOKYAUU5zBMKS9TMJQ2
0/e3NFHvuFsANMEtHVKqIpfCKHIfuPKrbTsTsWBBnI2E4bx0fbswgN09Z0nnP0QY
McjPB5hC4gfP05+LDf7n4Lpv76OtVKbcY80vlDKAnHHu8qn5B00WGGpsCunjAjZG
mGq10pdPoucOBrftcx/uL0YEdHoFgJUZyvvzLKWjEoM537uUd9YtABP/wPYPnXYG
Gf9oc00CAwEAAaOCBXQwggVwME8GA1UdIARIMEYwEQYPKwYBBAGBrSGCLAEBBAMD
MBEGDysGAQQBga0hgiwCAQQDATAPBg0rBgEEAYGtIYIsAQEEMA0GCysGAQQBga0h
giweMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMC
BggrBgEFBQcDATAdBgNVHQ4EFgQU8h/wjn9RQQIY9wfQkMT0r9QhnlAwHwYDVR0j
BBgwFoAUBuE99G/0MLd6O1ewMQWJew1YWmwwggNlBgNVHREEggNcMIIDWIIWd3d3
LnplZGF0LmZ1LWJlcmxpbi5kZYISemVkYXQuZnUtYmVybGluLmRlghdlZGl0Lnpl
ZGF0LmZ1LWJlcmxpbi5kZYIMd3d3LnplZGF0LmRlggh6ZWRhdC5kZYIMemVkYXQu
YmVybGlughB3d3cuemVkYXQuYmVybGluggt6ZWRhdC5mdS5kZYIPd3d3LnplZGF0
LmZ1LmRlghR3d3cudnBuLmZ1LWJlcmxpbi5kZYIQbmFzLmZ1LWJlcmxpbi5kZYIT
d3d3LnJ6LmZ1LWJlcmxpbi5kZYIPcnouZnUtYmVybGluLmRlgg9jYy5mdS1iZXJs
aW4uZGWCE3d3dy5jYy5mdS1iZXJsaW4uZGWCEGVkdi5mdS1iZXJsaW4uZGWCFHd3
dy5lZHYuZnUtYmVybGluLmRlghpyZWNoZW56ZW50cnVtLmZ1LWJlcmxpbi5kZYIe
d3d3LnJlY2hlbnplbnRydW0uZnUtYmVybGluLmRlghtjb21wdXRlcmNlbnRlci5m
dS1iZXJsaW4uZGWCH3d3dy5jb21wdXRlcmNlbnRlci5mdS1iZXJsaW4uZGWCHmRh
dGVudmVyYXJiZWl0dW5nLmZ1LWJlcmxpbi5kZYIid3d3LmRhdGVudmVyYXJiZWl0
dW5nLmZ1LWJlcmxpbi5kZYIUbmFzLmNpcy5mdS1iZXJsaW4uZGWCFHd3dy5yei51
bmktYmVybGluLmRlghByei51bmktYmVybGluLmRlghd3d3cuemVkYXQudW5pLWJl
cmxpbi5kZYITemVkYXQudW5pLWJlcmxpbi5kZYIdd3d3LnJ6LnVuaXZlcnNpdGFl
dC1iZXJsaW4uZGWCGXJ6LnVuaXZlcnNpdGFldC1iZXJsaW4uZGWCIHd3dy56ZWRh
dC51bml2ZXJzaXRhZXQtYmVybGluLmRlghx6ZWRhdC51bml2ZXJzaXRhZXQtYmVy
bGluLmRlghR3d3cucGlhLmZ1LWJlcmxpbi5kZYIZd3d3LndpcmVsZXNzLmZ1LWJl
cmxpbi5kZYIJYXJjaGllLmRlgg13d3cuYXJjaGllLmRlgghlbnRyeS5kZYIMd3d3
LmVudHJ5LmRlgglzZWFyY2guZGWCDXd3dy5zZWFyY2guZGUwdQYDVR0fBG4wbDA0
oDKgMIYuaHR0cDovL2NkcDEucGNhLmRmbi5kZS9mdS1jYS9wdWIvY3JsL2NhY3Js
LmNybDA0oDKgMIYuaHR0cDovL2NkcDIucGNhLmRmbi5kZS9mdS1jYS9wdWIvY3Js
L2NhY3JsLmNybDCBxQYIKwYBBQUHAQEEgbgwgbUwMwYIKwYBBQUHMAGGJ2h0dHA6
Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDA+BggrBgEFBQcwAoYy
aHR0cDovL2NkcDEucGNhLmRmbi5kZS9mdS1jYS9wdWIvY2FjZXJ0L2NhY2VydC5j
cnQwPgYIKwYBBQUHMAKGMmh0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZnUtY2EvcHVi
L2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQBTdxJts4rgofA8
F97O+Ve/5dwRGyXDyonnaA1qHoYkDkQeUMOpgUw4HJ9L+pfB+aOI9hucJ6ooA/ic
hgRjzPtjZ+lvTS+odqY2YO/BW3onrIeIxHOUrREZOkfJ3l7z2iQUJLKG49AR/rth
HsmtXSCPQR+5/SXjI8/6tTq6rbaYCwRoNGTsaB4iU6RFPRwao0dlDMH5lztG8TD7
F1Joww6Gv8n2BlhqvG54z+ukYk0SD/he8mxO6u9koVDkaCF8o8XKKSyuZvXD2P9/
mEbhoLDwHhoCe8WjyiD1hGfTM55Zs5WTHNTpySfdOEQ/MVpkdQKHs8kNsYBPI8j7
3R//YW33
-----END CERTIFICATE-----

View file

@ -0,0 +1,134 @@
-----BEGIN CERTIFICATE-----
MIIJMjCCCBqgAwIBAgIHGViT6Lp4fTANBgkqhkiG9w0BAQsFADCBtTELMAkGA1UE
BhMCREUxDzANBgNVBAgTBkJlcmxpbjEPMA0GA1UEBxMGQmVybGluMSIwIAYDVQQK
ExlGcmVpZSBVbml2ZXJzaXRhZXQgQmVybGluMQ4wDAYDVQQLEwVaRURBVDEwMC4G
A1UEAxMnRnJlaWUgVW5pdmVyc2l0YWV0IEJlcmxpbiAtIEZVLUNBIC0gRzAxMR4w
HAYJKoZIhvcNAQkBFg9jYUBGVS1CZXJsaW4uREUwHhcNMTUwNDIzMTU1NzE1WhcN
MTgwNzIwMTU1NzE1WjCBhDELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxpbjEP
MA0GA1UEBwwGQmVybGluMSIwIAYDVQQKDBlGcmVpZSBVbml2ZXJzaXRhZXQgQmVy
bGluMQ4wDAYDVQQLDAVaRURBVDEfMB0GA1UEAwwWd3d3LnplZGF0LmZ1LWJlcmxp
bi5kZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOtKbrwWn+/9no4T
BbMfDsqu8Nevu2VXS3Xf5VOB3oh7xlhvkSP+hLKDPI7yVdutNKgSJaHXoLZYWqPs
/d7K0uKu/hGm6qIjIQ3KZzYoqRDQPM8Zaeu7FIE0IrB5UfOKYAUU5zBMKS9TMJQ2
0/e3NFHvuFsANMEtHVKqIpfCKHIfuPKrbTsTsWBBnI2E4bx0fbswgN09Z0nnP0QY
McjPB5hC4gfP05+LDf7n4Lpv76OtVKbcY80vlDKAnHHu8qn5B00WGGpsCunjAjZG
mGq10pdPoucOBrftcx/uL0YEdHoFgJUZyvvzLKWjEoM537uUd9YtABP/wPYPnXYG
Gf9oc00CAwEAAaOCBXQwggVwME8GA1UdIARIMEYwEQYPKwYBBAGBrSGCLAEBBAMD
MBEGDysGAQQBga0hgiwCAQQDATAPBg0rBgEEAYGtIYIsAQEEMA0GCysGAQQBga0h
giweMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMC
BggrBgEFBQcDATAdBgNVHQ4EFgQU8h/wjn9RQQIY9wfQkMT0r9QhnlAwHwYDVR0j
BBgwFoAUBuE99G/0MLd6O1ewMQWJew1YWmwwggNlBgNVHREEggNcMIIDWIIWd3d3
LnplZGF0LmZ1LWJlcmxpbi5kZYISemVkYXQuZnUtYmVybGluLmRlghdlZGl0Lnpl
ZGF0LmZ1LWJlcmxpbi5kZYIMd3d3LnplZGF0LmRlggh6ZWRhdC5kZYIMemVkYXQu
YmVybGlughB3d3cuemVkYXQuYmVybGluggt6ZWRhdC5mdS5kZYIPd3d3LnplZGF0
LmZ1LmRlghR3d3cudnBuLmZ1LWJlcmxpbi5kZYIQbmFzLmZ1LWJlcmxpbi5kZYIT
d3d3LnJ6LmZ1LWJlcmxpbi5kZYIPcnouZnUtYmVybGluLmRlgg9jYy5mdS1iZXJs
aW4uZGWCE3d3dy5jYy5mdS1iZXJsaW4uZGWCEGVkdi5mdS1iZXJsaW4uZGWCFHd3
dy5lZHYuZnUtYmVybGluLmRlghpyZWNoZW56ZW50cnVtLmZ1LWJlcmxpbi5kZYIe
d3d3LnJlY2hlbnplbnRydW0uZnUtYmVybGluLmRlghtjb21wdXRlcmNlbnRlci5m
dS1iZXJsaW4uZGWCH3d3dy5jb21wdXRlcmNlbnRlci5mdS1iZXJsaW4uZGWCHmRh
dGVudmVyYXJiZWl0dW5nLmZ1LWJlcmxpbi5kZYIid3d3LmRhdGVudmVyYXJiZWl0
dW5nLmZ1LWJlcmxpbi5kZYIUbmFzLmNpcy5mdS1iZXJsaW4uZGWCFHd3dy5yei51
bmktYmVybGluLmRlghByei51bmktYmVybGluLmRlghd3d3cuemVkYXQudW5pLWJl
cmxpbi5kZYITemVkYXQudW5pLWJlcmxpbi5kZYIdd3d3LnJ6LnVuaXZlcnNpdGFl
dC1iZXJsaW4uZGWCGXJ6LnVuaXZlcnNpdGFldC1iZXJsaW4uZGWCIHd3dy56ZWRh
dC51bml2ZXJzaXRhZXQtYmVybGluLmRlghx6ZWRhdC51bml2ZXJzaXRhZXQtYmVy
bGluLmRlghR3d3cucGlhLmZ1LWJlcmxpbi5kZYIZd3d3LndpcmVsZXNzLmZ1LWJl
cmxpbi5kZYIJYXJjaGllLmRlgg13d3cuYXJjaGllLmRlgghlbnRyeS5kZYIMd3d3
LmVudHJ5LmRlgglzZWFyY2guZGWCDXd3dy5zZWFyY2guZGUwdQYDVR0fBG4wbDA0
oDKgMIYuaHR0cDovL2NkcDEucGNhLmRmbi5kZS9mdS1jYS9wdWIvY3JsL2NhY3Js
LmNybDA0oDKgMIYuaHR0cDovL2NkcDIucGNhLmRmbi5kZS9mdS1jYS9wdWIvY3Js
L2NhY3JsLmNybDCBxQYIKwYBBQUHAQEEgbgwgbUwMwYIKwYBBQUHMAGGJ2h0dHA6
Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDA+BggrBgEFBQcwAoYy
aHR0cDovL2NkcDEucGNhLmRmbi5kZS9mdS1jYS9wdWIvY2FjZXJ0L2NhY2VydC5j
cnQwPgYIKwYBBQUHMAKGMmh0dHA6Ly9jZHAyLnBjYS5kZm4uZGUvZnUtY2EvcHVi
L2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQBTdxJts4rgofA8
F97O+Ve/5dwRGyXDyonnaA1qHoYkDkQeUMOpgUw4HJ9L+pfB+aOI9hucJ6ooA/ic
hgRjzPtjZ+lvTS+odqY2YO/BW3onrIeIxHOUrREZOkfJ3l7z2iQUJLKG49AR/rth
HsmtXSCPQR+5/SXjI8/6tTq6rbaYCwRoNGTsaB4iU6RFPRwao0dlDMH5lztG8TD7
F1Joww6Gv8n2BlhqvG54z+ukYk0SD/he8mxO6u9koVDkaCF8o8XKKSyuZvXD2P9/
mEbhoLDwHhoCe8WjyiD1hGfTM55Zs5WTHNTpySfdOEQ/MVpkdQKHs8kNsYBPI8j7
3R//YW33
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFjzCCBHegAwIBAgIHF5BgzPm5bjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQG
EwJERTETMBEGA1UEChMKREZOLVZlcmVpbjEQMA4GA1UECxMHREZOLVBLSTEkMCIG
A1UEAxMbREZOLVZlcmVpbiBQQ0EgR2xvYmFsIC0gRzAxMB4XDTE0MDUxMjE1MDUz
MloXDTE5MDcwOTIzNTkwMFowgbUxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIEwZCZXJs
aW4xDzANBgNVBAcTBkJlcmxpbjEiMCAGA1UEChMZRnJlaWUgVW5pdmVyc2l0YWV0
IEJlcmxpbjEOMAwGA1UECxMFWkVEQVQxMDAuBgNVBAMTJ0ZyZWllIFVuaXZlcnNp
dGFldCBCZXJsaW4gLSBGVS1DQSAtIEcwMTEeMBwGCSqGSIb3DQEJARYPY2FARlUt
QmVybGluLkRFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjYUI0048
zDNevkmXipCDjSpIr+sEbhiXPzWnZnCnkmLOrEMFaNDWDX6kcVQ1VP71opEfGuR5
LtW0P6N+JM8E8y5HXdap62bD4Yfg0KQEmlh9vpMQ75BckReW7wRKH/Ntcrg8gwn9
7d17Hs8hgRGk8cpBRAs5v5hcqRZcjR63mKCismsjld6MVdWSNYhZJhpcnb0dVzMa
3A7Rf1OsXHwDXrhusCNph1+Pazuw2XbIKWSCsFS4qlhHOj5QA375qk5IjjsUnw2F
qljLiziu9xB4/jhSx1fz6+5RVnTe5Tb9GMbk5RVR+dvPTnzF96T/yW5DqsFIL+xB
YQ8juFoBQog3MwIDAQABo4IB/DCCAfgwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNV
HQ8BAf8EBAMCAQYwEQYDVR0gBAowCDAGBgRVHSAAMB0GA1UdDgQWBBQG4T30b/Qw
t3o7V7AxBYl7DVhabDAfBgNVHSMEGDAWgBRJt8bP6D0ff+pEexMp9/EKcD7eZDAa
BgNVHREEEzARgQ9jYUBGVS1CZXJsaW4uREUwgYgGA1UdHwSBgDB+MD2gO6A5hjdo
dHRwOi8vY2RwMS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9jcmwvY2Fj
cmwuY3JsMD2gO6A5hjdodHRwOi8vY2RwMi5wY2EuZGZuLmRlL2dsb2JhbC1yb290
LWNhL3B1Yi9jcmwvY2FjcmwuY3JsMIHXBggrBgEFBQcBAQSByjCBxzAzBggrBgEF
BQcwAYYnaHR0cDovL29jc3AucGNhLmRmbi5kZS9PQ1NQLVNlcnZlci9PQ1NQMEcG
CCsGAQUFBzAChjtodHRwOi8vY2RwMS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNh
L3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBHBggrBgEFBQcwAoY7aHR0cDovL2NkcDIu
cGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQw
DQYJKoZIhvcNAQELBQADggEBADRy38buZjrfDN8mZiukEjlsx+6s/DKj5YYWaAvU
B5kqhL2TM58bPyq4sYAVCDWALifAk11Gx4/Rp1PLNFd4tnoRcQsfgN8ywECpWBbg
ESOC73tfa6ZSPEY8uZ4yUk0o2nwxkgU0V3/b7/51XLp5TA5gBeL3aYcjYQ17QN14
Mh12MiXFp5VbPBDTHkinUXt316A8Qj09wJnHMOjt5M+ZDn82YYC7vFDzjNkNmw46
PRL3hZOfZb1IS+fhVlR4eW0FBLqmGg+4Y7Y4KKrwBcBK3OzME5jN71LkdNu1lkB4
3OfT+YOMT+pqZp1l0U6DGZa3SZy5xfWY3EL5BYVM8xAfoZg=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIE1TCCA72gAwIBAgIIUE7G9T0RtGQwDQYJKoZIhvcNAQELBQAwcTELMAkGA1UE
BhMCREUxHDAaBgNVBAoTE0RldXRzY2hlIFRlbGVrb20gQUcxHzAdBgNVBAsTFlQt
VGVsZVNlYyBUcnVzdCBDZW50ZXIxIzAhBgNVBAMTGkRldXRzY2hlIFRlbGVrb20g
Um9vdCBDQSAyMB4XDTE0MDcyMjEyMDgyNloXDTE5MDcwOTIzNTkwMFowWjELMAkG
A1UEBhMCREUxEzARBgNVBAoTCkRGTi1WZXJlaW4xEDAOBgNVBAsTB0RGTi1QS0kx
JDAiBgNVBAMTG0RGTi1WZXJlaW4gUENBIEdsb2JhbCAtIEcwMTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAOmbw2eF+Q2u9Y1Uw5ZQNT1i6W5M7ZTXAFuV
InTUIOs0j9bswDEEC5mB4qYU0lKgKCOEi3SJBF5b4OJ4wXjLFssoNTl7LZBF0O2g
AHp8v0oOGwDDhulcKzERewzzgiRDjBw4i2poAJru3E94q9LGE5t2re7eJujvAa90
D8EJovZrzr3TzRQwT/Xl46TIYpuCGgMnMA0CZWBN7dEJIyqWNVgn03bGcbaQHcTt
/zWGfW8zs9sPxRHCioOhlF1Ba9jSEPVM/cpRrNm975KDu9rrixZWVkPP4dUTPaYf
JzDNSVTbyRM0mnF1xWzqpwuY+SGdJ68+ozk5SGqMrcmZ+8MS8r0CAwEAAaOCAYYw
ggGCMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUSbfGz+g9H3/qRHsTKffxCnA+
3mQwHwYDVR0jBBgwFoAUMcN5G7r1U9cX4Il6LRdsCrMrnTMwEgYDVR0TAQH/BAgw
BgEB/wIBAjBiBgNVHSAEWzBZMBEGDysGAQQBga0hgiwBAQQCAjARBg8rBgEEAYGt
IYIsAQEEAwAwEQYPKwYBBAGBrSGCLAEBBAMBMA8GDSsGAQQBga0hgiwBAQQwDQYL
KwYBBAGBrSGCLB4wPgYDVR0fBDcwNTAzoDGgL4YtaHR0cDovL3BraTAzMzYudGVs
ZXNlYy5kZS9ybC9EVF9ST09UX0NBXzIuY3JsMHgGCCsGAQUFBwEBBGwwajAsBggr
BgEFBQcwAYYgaHR0cDovL29jc3AwMzM2LnRlbGVzZWMuZGUvb2NzcHIwOgYIKwYB
BQUHMAKGLmh0dHA6Ly9wa2kwMzM2LnRlbGVzZWMuZGUvY3J0L0RUX1JPT1RfQ0Ff
Mi5jZXIwDQYJKoZIhvcNAQELBQADggEBAGMgKP2cIYZyvjlGWTkyJbypAZsNzMp9
QZyGbQpuLLMTWXWxM5IbYScW/8Oy1TWC+4QqAUm9ZrtmL7LCBl1uP27jAVpbykNj
XJW24TGnH9UHX03mZYJOMvnDfHpLzU1cdO4h8nUC7FI+0slq05AjbklnNb5/TVak
7Mwvz7ehl6hyPsm8QNZapAg91ryCw7e3Mo6xLI5qbbc1AhnP9TlEWGOnJAAQsLv8
Tq9uLzi7pVdJP9huUG8sl5bcHUaaZYnPrszy5dmfU7M+oS+SqdgLxoQfBMbrHuif
fbV7pQLxJMUkYxE0zFqTICp5iDolQpCpZTt8htMSFSMp/CzazDlbVBc=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc
MBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj
IFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB
IDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE
RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl
U2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290
IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU
ha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC
QN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr
rFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S
NNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc
QqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH
txa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP
BgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC
AQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp
tJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa
IzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl
6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+
xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
Cm26OWMohpLzGITY+9HPBVZkVw==
-----END CERTIFICATE-----

83
vendor/github.com/zakjan/cert-chain-resolver/tests/run.sh generated vendored Executable file
View file

@ -0,0 +1,83 @@
#!/bin/sh
set -u
DIR="$(dirname $0)"
CMD="${DIR}/../cert-chain-resolver"
TEMP_FILE="$(mktemp)"
(
set -e
# it should output certificate bundle in PEM format with certificate from Comodo, PEM leaf, 2x DER intermediate
$CMD -o "$TEMP_FILE" "$DIR/comodo.crt"
diff "$TEMP_FILE" "$DIR/comodo.bundle.crt"
# it should output certificate bundle in PEM format with certificate from Comodo, DER leaf, 2x DER intermediate
$CMD -o "$TEMP_FILE" "$DIR/comodo.der.crt"
diff "$TEMP_FILE" "$DIR/comodo.bundle.crt"
# it should output certificate bundle in PEM format with certificate from GoDaddy, PEM leaf, PEM intermediate
$CMD -o "$TEMP_FILE" "$DIR/godaddy.crt"
diff "$TEMP_FILE" "$DIR/godaddy.bundle.crt"
# it should output certificate bundle in PEM format with certificate with multiple issuer URLs
$CMD -o "$TEMP_FILE" "$DIR/multiple-issuer-urls.crt"
diff "$TEMP_FILE" "$DIR/multiple-issuer-urls.bundle.crt"
# it should output certificate bundle in DER format
$CMD -d -o "$TEMP_FILE" "$DIR/comodo.crt"
diff "$TEMP_FILE" "$DIR/comodo.bundle.der.crt"
# it should output certificate chain in PEM format
$CMD -i -o "$TEMP_FILE" "$DIR/comodo.crt"
diff "$TEMP_FILE" "$DIR/comodo.chain.crt"
# it should output certificate chain in DER format
$CMD -d -i -o "$TEMP_FILE" "$DIR/comodo.crt"
diff "$TEMP_FILE" "$DIR/comodo.chain.der.crt"
# it should output certificate bundle in PEM format, with input from stdin and output to stdout
$CMD < "$DIR/comodo.crt" > "$TEMP_FILE"
diff "$TEMP_FILE" "$DIR/comodo.bundle.crt"
# Append CA root cert to output
$CMD -s < "$DIR/comodo.crt" > "$TEMP_FILE"
diff "$TEMP_FILE" "$DIR/comodo.withca.crt"
# Already has CA root cert
$CMD -s < "$DIR/multiple-issuer-urls.crt" > "$TEMP_FILE"
diff "$TEMP_FILE" "$DIR/multiple-issuer-urls.withca.bundle.crt"
# DST Root CA X3, PKCS#7 package
$CMD < "$DIR/dstrootcax3.p7c" > "$TEMP_FILE"
diff "$TEMP_FILE" "$DIR/dstrootcax3.pem"
# it should detect invalid certificate
(
set +e
! echo "xxx" | $CMD
)
# Build and start the webserver to serve the certificates
go build -o "${DIR}/http-server" "${DIR}/http-server.go"
sudo "${DIR}/http-server" "${DIR}" &
PID="$!"
sleep 1
# It should correctly detect root certificates to prevent infinite traversal loops when the root
# certificate also has an AIA Certification Authority Issuer record
$CMD < "$DIR/self-issued.crt" > "$TEMP_FILE"
diff "$TEMP_FILE" "$DIR/self-issued.bundle.crt"
# Stop the webserver
sudo kill "$PID"
)
STATUS="$?"
rm -f "$TEMP_FILE"
exit "$STATUS"

View file

@ -0,0 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDjTCCAnWgAwIBAgIUMzpit8+j2dWxdk1PdMqGWYalZyIwDQYJKoZIhvcNAQEL
BQAwFzEVMBMGA1UEAxMMVGVzdCBSb290IENBMB4XDTE2MDUyOTEwNDYwMFoXDTMx
MDUyNjEwNDYzMFowHzEdMBsGA1UEAxMUVGVzdCBJbnRlcm1lZGlhdGUgQ0EwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDs6kY6mHJWzupq5dsSavPZHuv6
0E9PczHbujWLuzv7+qbwzcAgfRvaeR0xgvf7q9pjMgJ7/kNANgneWGpwciLgHtiJ
rSHii3RZfWlK4gdbCXya9EmHj8zO+9xGBHM0FrqfqA+IA70SimFcwGPrGHyERsdX
+mqO64Z95yI5uJpoS8OBAUPU8i6xvNLZGmgUEF3CRhDDTYVGcTEtKAPcnnBuZzZU
Ds+DrHf/MC7HHK0/l0auuRz3p+/GFNePGePG+FFbInS/vwHwrkMW2tzBKG41K+gD
GfkTjVU8xBSiMYOiEja6YcJ4GuzEPcmu5LS+6BkLlsIbazDW5IM8p+7+8RKjAgMB
AAGjgcgwgcUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
BBYEFGbR8UdJe0MJUcLxRbv+hu8Mun21MB8GA1UdIwQYMBaAFKmz0h3CW1HBO9uz
uCzg+MNPGZtkMEEGCCsGAQUFBwEBBDUwMzAxBggrBgEFBQcwAoYlaHR0cDovL2xv
Y2FsaG9zdC9zZWxmLWlzc3VlZC1yb290LmNydDAfBgNVHREEGDAWghRUZXN0IElu
dGVybWVkaWF0ZSBDQTANBgkqhkiG9w0BAQsFAAOCAQEAaYVGqHbaE0c9F/kyIMgu
S3HuNn4pBh2EwGcKIlPkDe43hqXjhS/+itmWk75rQz+Rw+acevGoxbpDR38abTIS
RJd9L/3MA644z8F82er3pNjKqvS/vTre/wsvGYwmEM+GrgJw3HUcisc93qLgaWH2
kjky208k9kOuzJDiY45eu9TfSSmjSHSMCtxk8p5wYKDcfVz+uqlBhVEiHGjQIc2E
66SituusiwgQv/mdtEW7y48EvMGdzxPfLFcvj06B3vTsZaaYyB6GyKwMcaPFvHRr
V0yYaKRZgAh4X6LHlgPJqvIv3gjMdJR55durAO7tI9Pos0o5Lv5WJgi0g0KvMsco
qQ==
-----END CERTIFICATE-----

View file

@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDfTCCAmWgAwIBAgIUCWpyaSDYd/wBNEXDgbdbZZj5awcwDQYJKoZIhvcNAQEL
BQAwFzEVMBMGA1UEAxMMVGVzdCBSb290IENBMB4XDTE2MDUyOTEwMDIyM1oXDTQ2
MDUyMjEwMDI1M1owFzEVMBMGA1UEAxMMVGVzdCBSb290IENBMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5fM4iZn95jRb5q89oLihg58HDJPua6rQKMrQ
MUSXKLxYjJPotfPwSuEuTrt0tMs71p6C456d9VTkPOY92Lcx5HGjDazZdHjWMiUt
sN0gZOPoUCux2ZveuP15TpA9YKCCYFB7lJvXaWR0NgVgjuqCvGkDk2aYKVBQpR/Y
RzScEJoBqTIBgK7YAWVMYdT46JAhChnuYuGuPtZcBLM1LmdIMnZJ+6k9r9MCADqM
fly9DgFVKtJ7Eay5ccVetVdjLQFpwaZchgCsrdugwrd3xVjqBmvnl9OD5SzpavLT
yfPQ9FW+kliGSe30I9pN1SumPkPDJgE7TuhGuXlVDRpDIM5x3wIDAQABo4HAMIG9
MA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSps9Id
wltRwTvbs7gs4PjDTxmbZDAfBgNVHSMEGDAWgBSps9IdwltRwTvbs7gs4PjDTxmb
ZDBBBggrBgEFBQcBAQQ1MDMwMQYIKwYBBQUHMAKGJWh0dHA6Ly9sb2NhbGhvc3Qv
c2VsZi1pc3N1ZWQtcm9vdC5jcnQwFwYDVR0RBBAwDoIMVGVzdCBSb290IENBMA0G
CSqGSIb3DQEBCwUAA4IBAQANQDBdDuYf3lUDE+WV1B//ToFd5cCBTiPPXJSJhS9q
38OSM0bjfJF1+15Yw95Nrj7AJqJAxDgjKXDOoYXm/Nd+saIvt+FZzt2LBfjb072b
eai1lWz0yeZ+UYF9wSvCuwtq5iCAxsReO8i+c1KAb24x9cqgHM+Ux5AuKqwAjcAW
q6A3ROiaDpDmgxSEjPwU1huPgPwnCPfmrKr8OZ6cZKDCbQYOdkLq10TqwwVbNnS+
fr0VtfxtwPkgKcIJGaLU5ONzzaqt8aO0HRpG5JhlZW2nbrzeJkDJBDXSxpxiLSaw
VFwRqT2cqpOks03p/EyM1dnFPLV3GREUPkl5fpcV0E0/
-----END CERTIFICATE-----

View file

@ -0,0 +1,44 @@
-----BEGIN CERTIFICATE-----
MIIDkzCCAnugAwIBAgIUErqfph4F1ZIYc/olcUFWcnE1MTcwDQYJKoZIhvcNAQEL
BQAwHzEdMBsGA1UEAxMUVGVzdCBJbnRlcm1lZGlhdGUgQ0EwHhcNMTYwNTI5MTEw
MjA0WhcNMTkwNTI5MTEwMjM0WjAbMRkwFwYDVQQDExBzZWxmLWlzc3VlZC50ZXN0
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1H2aWYgALyv2Caa6TtwS
Ys9OFbPdvX2GVZJk25NSHkLNBB8aEyQuQabklfI6fwt2b7r1cZfNg3Nz3zCH6jb4
PyyYoTHWFs/bXl17bgnFfsnOSZ3+Pvew3QmtsgAE/maQlqeyQRcWFoB6FhGk4NZs
9qRF03SNriujwUalW7PD6uQBSV3ttb26HCeiCwuQNGzqSnCW5sWNDZWxRamVm4bP
iZmViVrN+d0SOOoOK3jJhTzd64MPXfENHoXQtThXpOVJqPBxDX7FeQ3XWbd2ofIY
upLNzx2/3CClaJepkOsWfZNRftQX3qqH0vI2zx1nzYZSBpjPaMSEJ3JyEEWFQpJH
rQIDAQABo4HKMIHHMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNV
HQ4EFgQUyjlTdoj+EV5oFM1OXbzTFA5Qh1MwHwYDVR0jBBgwFoAUZtHxR0l7QwlR
wvFFu/6G7wy6fbUwSQYIKwYBBQUHAQEEPTA7MDkGCCsGAQUFBzAChi1odHRwOi8v
bG9jYWxob3N0L3NlbGYtaXNzdWVkLWludGVybWVkaWF0ZS5jcnQwGwYDVR0RBBQw
EoIQc2VsZi1pc3N1ZWQudGVzdDANBgkqhkiG9w0BAQsFAAOCAQEAJo+aoIK+8G2T
dov6nYU+/bFxkA0hxkgfSdfQJYYGTtaww5xhceXcvACAwHWKTwIWCIx6EGyV5nye
GrfRjCZCW0IKXKXvqmsOSOkYL/w/6ITOUrQlXrtg17iTm97jsF7KkuIefnnfClek
iD1ZqdVXjPofKhtQuIBJlheN3dq0RN9xIVQ1XK+52857pqxlTKiD8rkptLxHgtWr
dfj7QVm+GcUCmPNWCMdfWVfey18tjHn9c1OtnegIlt2xmjF2/xcCtRcEs9kO/8OB
Defpx5SfqT0z3WDcUEHpYBHjaoU/7S78Mt4DirIn8QEdj67GfoUfx503X4FuZPFF
4JGdmOV2sQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDjTCCAnWgAwIBAgIUMzpit8+j2dWxdk1PdMqGWYalZyIwDQYJKoZIhvcNAQEL
BQAwFzEVMBMGA1UEAxMMVGVzdCBSb290IENBMB4XDTE2MDUyOTEwNDYwMFoXDTMx
MDUyNjEwNDYzMFowHzEdMBsGA1UEAxMUVGVzdCBJbnRlcm1lZGlhdGUgQ0EwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDs6kY6mHJWzupq5dsSavPZHuv6
0E9PczHbujWLuzv7+qbwzcAgfRvaeR0xgvf7q9pjMgJ7/kNANgneWGpwciLgHtiJ
rSHii3RZfWlK4gdbCXya9EmHj8zO+9xGBHM0FrqfqA+IA70SimFcwGPrGHyERsdX
+mqO64Z95yI5uJpoS8OBAUPU8i6xvNLZGmgUEF3CRhDDTYVGcTEtKAPcnnBuZzZU
Ds+DrHf/MC7HHK0/l0auuRz3p+/GFNePGePG+FFbInS/vwHwrkMW2tzBKG41K+gD
GfkTjVU8xBSiMYOiEja6YcJ4GuzEPcmu5LS+6BkLlsIbazDW5IM8p+7+8RKjAgMB
AAGjgcgwgcUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
BBYEFGbR8UdJe0MJUcLxRbv+hu8Mun21MB8GA1UdIwQYMBaAFKmz0h3CW1HBO9uz
uCzg+MNPGZtkMEEGCCsGAQUFBwEBBDUwMzAxBggrBgEFBQcwAoYlaHR0cDovL2xv
Y2FsaG9zdC9zZWxmLWlzc3VlZC1yb290LmNydDAfBgNVHREEGDAWghRUZXN0IElu
dGVybWVkaWF0ZSBDQTANBgkqhkiG9w0BAQsFAAOCAQEAaYVGqHbaE0c9F/kyIMgu
S3HuNn4pBh2EwGcKIlPkDe43hqXjhS/+itmWk75rQz+Rw+acevGoxbpDR38abTIS
RJd9L/3MA644z8F82er3pNjKqvS/vTre/wsvGYwmEM+GrgJw3HUcisc93qLgaWH2
kjky208k9kOuzJDiY45eu9TfSSmjSHSMCtxk8p5wYKDcfVz+uqlBhVEiHGjQIc2E
66SituusiwgQv/mdtEW7y48EvMGdzxPfLFcvj06B3vTsZaaYyB6GyKwMcaPFvHRr
V0yYaKRZgAh4X6LHlgPJqvIv3gjMdJR55durAO7tI9Pos0o5Lv5WJgi0g0KvMsco
qQ==
-----END CERTIFICATE-----

View file

@ -0,0 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDkzCCAnugAwIBAgIUErqfph4F1ZIYc/olcUFWcnE1MTcwDQYJKoZIhvcNAQEL
BQAwHzEdMBsGA1UEAxMUVGVzdCBJbnRlcm1lZGlhdGUgQ0EwHhcNMTYwNTI5MTEw
MjA0WhcNMTkwNTI5MTEwMjM0WjAbMRkwFwYDVQQDExBzZWxmLWlzc3VlZC50ZXN0
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1H2aWYgALyv2Caa6TtwS
Ys9OFbPdvX2GVZJk25NSHkLNBB8aEyQuQabklfI6fwt2b7r1cZfNg3Nz3zCH6jb4
PyyYoTHWFs/bXl17bgnFfsnOSZ3+Pvew3QmtsgAE/maQlqeyQRcWFoB6FhGk4NZs
9qRF03SNriujwUalW7PD6uQBSV3ttb26HCeiCwuQNGzqSnCW5sWNDZWxRamVm4bP
iZmViVrN+d0SOOoOK3jJhTzd64MPXfENHoXQtThXpOVJqPBxDX7FeQ3XWbd2ofIY
upLNzx2/3CClaJepkOsWfZNRftQX3qqH0vI2zx1nzYZSBpjPaMSEJ3JyEEWFQpJH
rQIDAQABo4HKMIHHMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNV
HQ4EFgQUyjlTdoj+EV5oFM1OXbzTFA5Qh1MwHwYDVR0jBBgwFoAUZtHxR0l7QwlR
wvFFu/6G7wy6fbUwSQYIKwYBBQUHAQEEPTA7MDkGCCsGAQUFBzAChi1odHRwOi8v
bG9jYWxob3N0L3NlbGYtaXNzdWVkLWludGVybWVkaWF0ZS5jcnQwGwYDVR0RBBQw
EoIQc2VsZi1pc3N1ZWQudGVzdDANBgkqhkiG9w0BAQsFAAOCAQEAJo+aoIK+8G2T
dov6nYU+/bFxkA0hxkgfSdfQJYYGTtaww5xhceXcvACAwHWKTwIWCIx6EGyV5nye
GrfRjCZCW0IKXKXvqmsOSOkYL/w/6ITOUrQlXrtg17iTm97jsF7KkuIefnnfClek
iD1ZqdVXjPofKhtQuIBJlheN3dq0RN9xIVQ1XK+52857pqxlTKiD8rkptLxHgtWr
dfj7QVm+GcUCmPNWCMdfWVfey18tjHn9c1OtnegIlt2xmjF2/xcCtRcEs9kO/8OB
Defpx5SfqT0z3WDcUEHpYBHjaoU/7S78Mt4DirIn8QEdj67GfoUfx503X4FuZPFF
4JGdmOV2sQ==
-----END CERTIFICATE-----