Skip to content

Instantly share code, notes, and snippets.

@5dotsconnected
Last active November 8, 2017 00:52
Show Gist options
  • Save 5dotsconnected/28f59611a744abae94c5 to your computer and use it in GitHub Desktop.
Save 5dotsconnected/28f59611a744abae94c5 to your computer and use it in GitHub Desktop.

Just run:

docker run -it -v $PWD:/example -p 443:443 ubuntu:14.04 /example/run.sh

This will launch nginx, show some examples, and drop you in a shell to try it out. You can hit SSL port 443 from the guest or the host.

-----BEGIN CERTIFICATE-----
MIIFXTCCA0WgAwIBAgIJAO8wVwh9VKxVMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTUwMzI2MTc1NjQwWhcNMTUwNDI1MTc1NjQwWjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
CgKCAgEAwxWqNfEGfa+Ur+rkRm5nIl4FWCiVpDulzQMB2WnLjFEfz3kvHEJ6I9Pw
f8NIVL5L6HduV4PO4TSakGQqNhhIxpHMsGpEiip37qMvz2djs/tHzEF9hLH4kIQI
fM6oqWlIdPevU/vswnQ5zodmZQfeQWHm5j8/CLtHvpe8vx+NSb8CbG0ojGsw4xqf
1XmMPjWbuZ2WunLL2TrLjBFUoFB6btB3JrZko3otor3G1AJedEYZ2VVIEstuYv0y
FVxcHrZKuuYOa70YNLge+7pHd3SAKajGTB53PxW2wUInHmV8DZEccVcqntfnObkH
LN71hfR2/HCTn8inR2HwgOvhTJvF+M4yvVwjOftOAax7Qbf81sRzmYvpMBmnXdBl
DyVdCze79IaECgxzcO8z4tKcqy773Cf/El0+tJ2H2UoJgMEmuomUrZPuD4N0ytPB
sW5TDCqgZRsY6QJaQu+fKgCvaVOS+HA4WNuLPlfUQdvvON65ElTO//pUXv6wQA79
K6PrHv389wTUUOqS0gJlBSRqSOfsX4aqxIOzBGD1M6DB0jMCa0swDmu/PEq55Z9Y
fPfXrb6x7oNqoAmgDEvpVDey0VnsWZpUxvo1L6IE6v/XCEOy6k6j5b1YOuDLV9AK
uYmSLelru50szh3MAU3Twoy9niGTM2lH83rxttmwCYooHa+N8bkCAwEAAaNQME4w
HQYDVR0OBBYEFEX3J1KOPrGm36jU2FD7g0/HsRsBMB8GA1UdIwQYMBaAFEX3J1KO
PrGm36jU2FD7g0/HsRsBMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIB
ALQHCW16hYAWxuLtMjwu49Jg/r2F3UUxwQv1J3hNJncAPqJ71EI9U5rjG3pNhu9j
lLCg5WSWGUk0Hdj4SNDB6QWOn8v3o2yPr7JzdLNNl5qjum7zchCpwQn9h58zkm6S
1e6EDKXy/Isv9EwFmNFKZTjuZBUjk9UN4wvcha20sE4WVvhNvvlgGFfP4SwtS9ao
xTf3cV2O4BsRjJH5p2cg6WbgCp1wmFJPz7e4lSzxWL7ccmMvQbfq5Krc40e52F8v
0ZJSR2JMvI94/qCek8sFQNHDPNxG9moGVnnRtvd8hEHqRjttcBIJGDKO+GA/Zpd/
oDD5jIMnzeBc+Byz46vEZggjpmH6D/ZZ76CjW5WEKM/yZSiDSaKqwB0HuBSphOia
oR/Fb55xqrFGZNAAwhEgm34EpGoUoVOm4Py7d1EpDfCBdOd9cx3sr5Qlt77ebD8K
t/ZawUzkiFktVuYc7JYk/auTV1BCi6GP+8J+fET+BXA3sRubGXgapNnxu7gJQYev
pfqpV7En0x9dZlwPvsVC/5JJaCrscRBhrzNdueBDRjm1dH/0P1jnfsVIta2h9WMP
kxzGWNwAK/+PDig3CjQ56Y7WXGK9qEMZUNdR73b7U9Fh9jxAEWHseoHLkEBqgLVf
QsfmQll4UDKAVjjK+4Uel8xldZ+TqLg+qXJoetD7ifBw
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIE/jCCAuYCAQEwDQYJKoZIhvcNAQELBQAwRTELMAkGA1UEBhMCQVUxEzARBgNV
BAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0
ZDAeFw0xNTAzMjYxNzU2NDBaFw0xNTA0MjUxNzU2NDBaMEUxCzAJBgNVBAYTAkFV
MRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRz
IFB0eSBMdGQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDDFao18QZ9
r5Sv6uRGbmciXgVYKJWkO6XNAwHZacuMUR/PeS8cQnoj0/B/w0hUvkvod25Xg87h
NJqQZCo2GEjGkcywakSKKnfuoy/PZ2Oz+0fMQX2EsfiQhAh8zqipaUh0969T++zC
dDnOh2ZlB95BYebmPz8Iu0e+l7y/H41JvwJsbSiMazDjGp/VeYw+NZu5nZa6csvZ
OsuMEVSgUHpu0HcmtmSjei2ivcbUAl50RhnZVUgSy25i/TIVXFwetkq65g5rvRg0
uB77ukd3dIApqMZMHnc/FbbBQiceZXwNkRxxVyqe1+c5uQcs3vWF9Hb8cJOfyKdH
YfCA6+FMm8X4zjK9XCM5+04BrHtBt/zWxHOZi+kwGadd0GUPJV0LN7v0hoQKDHNw
7zPi0pyrLvvcJ/8SXT60nYfZSgmAwSa6iZStk+4Pg3TK08GxblMMKqBlGxjpAlpC
758qAK9pU5L4cDhY24s+V9RB2+843rkSVM7/+lRe/rBADv0ro+se/fz3BNRQ6pLS
AmUFJGpI5+xfhqrEg7MEYPUzoMHSMwJrSzAOa788Srnln1h899etvrHug2qgCaAM
S+lUN7LRWexZmlTG+jUvogTq/9cIQ7LqTqPlvVg64MtX0Aq5iZIt6Wu7nSzOHcwB
TdPCjL2eIZMzaUfzevG22bAJiigdr43xuQIDAQABMA0GCSqGSIb3DQEBCwUAA4IC
AQBgC27NzVIy24lWR1jjzdLo7kHKS6kbyt9Sg65+/jDnBxOAs+aIOQqTPOuHYcSz
C2Ysv/i3wb90hueaLah+Bhwuovru17zQLQIXLaDqzvDaIh+GDiyBVvQCeCiEuvkr
IpXr6KQsCzBt8kBo0GZj7rxUyeO/lkj7KowPX6iju2zo9lBdAKxbpVFYeUvdUww+
25WN7rgeWIwhY+CjQbGwbXxSPjmH5A87YAOTo8FyLXBthBs3tN6q5VGWk2Qqkfvl
Jybr+A/5YzTfPtgx0LFEhLNrcUd80/IXWCQpP4QZtZUVoCb+2MH/ErZLludTRoZh
rJmkux+2VqfgBaHPRFtEfcfScADQREWCiklT3tjjcyTrnLWBWBCKyyjSsBBBMLsd
xt7JxwF6Ua/2i1d+jOSE4jlZtdcN8PrsMR9WB4dmwqajm9a8yyZfRyJLnmB3Iyxa
q6On+5Zzuz3wOb9+hOt/S++1zIHb97eB8T6i9QxJgzK8/RZ2bKRu5Lh3yNxYIjJP
2K31S+DFM+xu6YJg+6XjQQww5ja524E32NN3UZCeFAunlMa3XodwU0UyUvtZTo5T
MexUXzorXT7fzH0sPiMtKxUtfA1QxizW1CU3ROJN68Pnv9OsJJqNNWOWE2luxOWB
+6bTMWC4v5E9msjp/nl5I2wnaosrnVlWfNBa+zD7i2YHtQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIE/jCCAuYCAQEwDQYJKoZIhvcNAQELBQAwRTELMAkGA1UEBhMCQVUxEzARBgNV
BAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0
ZDAeFw0xNTAzMjYxNzU2NDBaFw0xNTA0MjUxNzU2NDBaMEUxCzAJBgNVBAYTAkFV
MRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRz
IFB0eSBMdGQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDDFao18QZ9
r5Sv6uRGbmciXgVYKJWkO6XNAwHZacuMUR/PeS8cQnoj0/B/w0hUvkvod25Xg87h
NJqQZCo2GEjGkcywakSKKnfuoy/PZ2Oz+0fMQX2EsfiQhAh8zqipaUh0969T++zC
dDnOh2ZlB95BYebmPz8Iu0e+l7y/H41JvwJsbSiMazDjGp/VeYw+NZu5nZa6csvZ
OsuMEVSgUHpu0HcmtmSjei2ivcbUAl50RhnZVUgSy25i/TIVXFwetkq65g5rvRg0
uB77ukd3dIApqMZMHnc/FbbBQiceZXwNkRxxVyqe1+c5uQcs3vWF9Hb8cJOfyKdH
YfCA6+FMm8X4zjK9XCM5+04BrHtBt/zWxHOZi+kwGadd0GUPJV0LN7v0hoQKDHNw
7zPi0pyrLvvcJ/8SXT60nYfZSgmAwSa6iZStk+4Pg3TK08GxblMMKqBlGxjpAlpC
758qAK9pU5L4cDhY24s+V9RB2+843rkSVM7/+lRe/rBADv0ro+se/fz3BNRQ6pLS
AmUFJGpI5+xfhqrEg7MEYPUzoMHSMwJrSzAOa788Srnln1h899etvrHug2qgCaAM
S+lUN7LRWexZmlTG+jUvogTq/9cIQ7LqTqPlvVg64MtX0Aq5iZIt6Wu7nSzOHcwB
TdPCjL2eIZMzaUfzevG22bAJiigdr43xuQIDAQABMA0GCSqGSIb3DQEBCwUAA4IC
AQBgC27NzVIy24lWR1jjzdLo7kHKS6kbyt9Sg65+/jDnBxOAs+aIOQqTPOuHYcSz
C2Ysv/i3wb90hueaLah+Bhwuovru17zQLQIXLaDqzvDaIh+GDiyBVvQCeCiEuvkr
IpXr6KQsCzBt8kBo0GZj7rxUyeO/lkj7KowPX6iju2zo9lBdAKxbpVFYeUvdUww+
25WN7rgeWIwhY+CjQbGwbXxSPjmH5A87YAOTo8FyLXBthBs3tN6q5VGWk2Qqkfvl
Jybr+A/5YzTfPtgx0LFEhLNrcUd80/IXWCQpP4QZtZUVoCb+2MH/ErZLludTRoZh
rJmkux+2VqfgBaHPRFtEfcfScADQREWCiklT3tjjcyTrnLWBWBCKyyjSsBBBMLsd
xt7JxwF6Ua/2i1d+jOSE4jlZtdcN8PrsMR9WB4dmwqajm9a8yyZfRyJLnmB3Iyxa
q6On+5Zzuz3wOb9+hOt/S++1zIHb97eB8T6i9QxJgzK8/RZ2bKRu5Lh3yNxYIjJP
2K31S+DFM+xu6YJg+6XjQQww5ja524E32NN3UZCeFAunlMa3XodwU0UyUvtZTo5T
MexUXzorXT7fzH0sPiMtKxUtfA1QxizW1CU3ROJN68Pnv9OsJJqNNWOWE2luxOWB
+6bTMWC4v5E9msjp/nl5I2wnaosrnVlWfNBa+zD7i2YHtQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE REQUEST-----
MIIEijCCAnICAQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDCCAiIwDQYJKoZIhvcN
AQEBBQADggIPADCCAgoCggIBAMMVqjXxBn2vlK/q5EZuZyJeBVgolaQ7pc0DAdlp
y4xRH895LxxCeiPT8H/DSFS+S+h3bleDzuE0mpBkKjYYSMaRzLBqRIoqd+6jL89n
Y7P7R8xBfYSx+JCECHzOqKlpSHT3r1P77MJ0Oc6HZmUH3kFh5uY/Pwi7R76XvL8f
jUm/AmxtKIxrMOMan9V5jD41m7mdlrpyy9k6y4wRVKBQem7Qdya2ZKN6LaK9xtQC
XnRGGdlVSBLLbmL9MhVcXB62SrrmDmu9GDS4Hvu6R3d0gCmoxkwedz8VtsFCJx5l
fA2RHHFXKp7X5zm5Byze9YX0dvxwk5/Ip0dh8IDr4UybxfjOMr1cIzn7TgGse0G3
/NbEc5mL6TAZp13QZQ8lXQs3u/SGhAoMc3DvM+LSnKsu+9wn/xJdPrSdh9lKCYDB
JrqJlK2T7g+DdMrTwbFuUwwqoGUbGOkCWkLvnyoAr2lTkvhwOFjbiz5X1EHb7zje
uRJUzv/6VF7+sEAO/Suj6x79/PcE1FDqktICZQUkakjn7F+GqsSDswRg9TOgwdIz
AmtLMA5rvzxKueWfWHz3162+se6DaqAJoAxL6VQ3stFZ7FmaVMb6NS+iBOr/1whD
supOo+W9WDrgy1fQCrmJki3pa7udLM4dzAFN08KMvZ4hkzNpR/N68bbZsAmKKB2v
jfG5AgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAgEAmFaMZYYiICJPfUnAIZQXS0M7
nIQHRER7Yva9s1I3aEZOuSaNiaXXZcFGtuxMfwAoE+apQfKpqQsSJfIw+d4USZ0r
4g6um/1pn9X/B2ORo2/dbJTBUwryUO7Tjam8VQXgFBzo6oFwtld8F8ifoyXWtksL
7CeYsGAaQTbUjNiJB0RCez+zn52SeUOogpxOMcNx29RVplbkoMN1WIquff/TDpeZ
iyhZzyzMD1t+OTQuVxpPG4bXweB8fxMrqi2cu5UJSljkP+1TrEA6rzYUhHWx7wIJ
13XHvcLElbbTXtAxLecqS2a3VTsT8JwEAjsi+e79dtb7xfchVsGeAQFxJJVBU9Cb
YAw2RprzDvIfIMs1Jh9BPCKotvawRDq7cO5260auWNQJw7aI8X7rnsnDBWXW91ge
2USabkIsyzxrk6D+sh6GLbLdm27yZuD22IFXfkKqiVPB0dF94sPTtTZqtvmDwmlB
sPyO/hc4qYw6M2Rjdv02IWzvFLjU0rJOk69sMdIJDFKJVE2G9KpoKB0TeuDg7QZo
+8n0ILhh6NLI6VrxcP/aH6ZKQXBavSlXwoQ6L131FvI6FMJWk5jgBYIkcBCa5qwG
lZK6ehvnY1/tYB42KFRpscViRQOhkaDFJ+Eh8mBojppPItIbL4AgRHcIkuIb0+pY
z/n8E41QOv3DQq8I5dU=
-----END CERTIFICATE REQUEST-----
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----
#!/bin/bash -e
#
# SERVER'S CERT
#
# Generate a self-signed certificate to serve
openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 999 -nodes
# Combine for nginx
cat server.key server.crt > server.combined
#
# CLIENT'S CERT
#
# Generate private key
openssl genrsa -out client.pem 4096
# Generate CSR (spam stdin for prompts)
openssl req -new -sha256 -key client.pem -out client.csr
# Information about the CSR (debug)
# openssl req -noout -text -in client.csr
# Sign yourself a CA (spam stdin for prompts)
openssl req -new -x509 -key client.pem -out client.ca.pem
# Sign your CSR with your CA
openssl x509 -req -in client.csr -CA client.ca.pem -CAkey client.pem -set_serial 01 -out client.crt
# Combine for curl
cat client.pem client.crt > client.combined
package main
import (
"crypto/tls"
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
certFile := "client.crt"
keyFile := "client.pem"
// Load client cert
cert, err := tls.LoadX509KeyPair(certFile, keyFile)
if err != nil {
log.Fatal(err)
}
// Setup HTTPS client
tlsConfig := &tls.Config{
Certificates: []tls.Certificate{cert},
InsecureSkipVerify: true,
}
transport := &http.Transport{
TLSClientConfig: tlsConfig,
}
client := &http.Client{
Transport: transport,
}
// Do GET something
resp, err := client.Get("https://localhost")
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
// Dump response
data, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(data))
}
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /example/access.log;
error_log /example/error.log debug;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_types text/plain text/css text/xml text/javascript application/json application/x-javascript application/xml application/xml+rss;
#
# SSL settings
#
ssl_certificate /example/server.combined;
ssl_certificate_key /example/server.combined;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:1m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
server {
listen 443 ssl;
#
# SSL client settings
#
ssl_client_certificate /example/client.crt;
ssl_verify_client on;
ssl_verify_depth 3;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
}
#!/bin/bash -e
# Speed up installs and don't create cache files
# See: https://github.com/dotcloud/docker/pull/1883#issuecomment-24434115
echo "force-unsafe-io" > /etc/dpkg/dpkg.cfg.d/02apt-speedup
echo "Acquire::http {No-Cache=True;};" > /etc/apt/apt.conf.d/no-cache
chmod 0644 /etc/dpkg/dpkg.cfg.d/02apt-speedup
chmod 0644 /etc/apt/apt.conf.d/no-cache
# Prevent daemons from auto-starting on install or upgrade
# See: https://github.com/dotcloud/docker/issues/446#issuecomment-16953173
cat > /usr/sbin/policy-rc.d <<EOF
#!/bin/sh
exit 101
EOF
chmod 0755 /usr/sbin/policy-rc.d
# Pin initscripts, because docker conflicts with files that package thinks it owns.
apt-mark hold initscripts makedev
# Clean state
apt-get autoremove -y
apt-get clean -y
rm -rf /var/lib/apt/lists
# Set to non-interactive installs
export DEBIAN_FRONTEND=noninteractive
# Install nginx
apt-get update -y
apt-get install -y nginx curl
# Install golang
curl https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz | tar xz -C /usr/local
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
# Override configuration
clear
cd /etc/nginx
rm nginx.conf
ln -s /example/nginx.conf
cd /example
# Check syntax, start
nginx -t
nginx
# Examples
echo
echo "Example with curl:"
curl -sk https://localhost | grep title
echo
echo "Example with curl and client cert:"
curl -sk -E client.combined https://localhost | grep title
echo
echo "Example with golang and client cert:"
go run http.go | grep title
# Shell
echo
bash
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDQpTNcNWblq7S5
WOwLmYppH5byX4CEzYOaZUgKv00UjbdRuk2E0//03am0vg4unDEwMBISXe+tAw9i
2ScgntvSYf244ybTLWHvQiXtr/mdczh6yQ8WYLiMsHlMIsdyJ9ggNxLOcoJMEzWs
MsGeZLjijNmbevU/pIBtsEM1HIQjwkkEEa0EjG/a0X1ZlmQyRP37oASog/zWFywZ
G4Py4VRdBNz6QnORFWdtDqPFn4d/radOlYWbiSWlU/m1aVrCOGGhnftFNIE9ty3N
pGK4LlDCK93gY5cYL4MbmZp1T7eLhoCJwMvQCtluftuFwjClf9lrgHdj0JYByIzk
9WvOXgqDAgMBAAECggEBAJtxmLQn7QNLS5eTEjkKKT5slI76a8uFOXj74BJxt8GK
W3t+K2a8c0NBKcBIoFRFdbgK+EvKxFfHodzpH+eDsw4oh1kJktFeTEpuo8dThcqy
HvALfzwSzyuyBoyclK8N1E0b+tzoHv8CiMhEAFA7hiry+OSHVNQXgL83xLp7Bk+E
hW8V2DwR0qhhiLEUtmR9lyHZjR0yrFrBZkX5QnFUqR1szzyTuoGZksII/yzuDvRh
0LxdTzgB4Iz19YWReUIv9IeN+mzHNKvPQRi4Tm5GSBIxG/U4ZaliwW/kZPbME7QL
v1PJblIRutLyZNLgSeWCOXJK7bYZkly9TCGN2d7SU7ECgYEA6jA6Meoiuu0cCG9l
yD6zBs8V/AkrL80yCwJQiWgsbLg7mWOi11InX7da0oUuHgMN3Vw+K/cL/MnRJDu0
tRV2AE3CwI8YVtzScg2p01vu7Oysz+IImvhOQeUnva5PvFwX/E7/zxAZ/hV9KPwV
bM/lza0msPaZ50ikW518ZcToz/cCgYEA5BPyn22Jbymlo0rIEym16gxVGs029tim
NOE7U2jPNmJd7HN9VfBzVuoKV+J4NS3jvoFXbP5Bcrp8v9WXVXexU2o4hnsVxZcT
f0aqtkAsGqCQ8YA0UUtyrFuBArBy+G1ANnH4ZVo2u3dOL2FJX2CjSipQltMEfjkL
JZfUJt2ijtUCgYAE7Xzb/gQ7ELAtUULAAum7c/IPepXpDJVH/AV7zrBYnUvLv3f2
tejUL8R+d4Tv5rqM9NruC+W5rPl0nLkBsnDoMrqtWJV3hm/7LGRtaRrO62/7c9Mg
h6cF5e9/I0LUQM/UZEknrzwMx6D5ksxUnM9GE6WjxZyZbELhFqA+d/U6IwKBgD4Q
l5N+0UloweQ/s1ZToWdBV99lPLHLnt8A843tFYYtGnX/r3m1Zw2dvpbPz/pYtILg
25OTVOgNi2kAjJ/7ZEvYue0OjYwpYmreJhJWQCo2y3qMcrA0oc35UJAUyBSGVlT6
iqe59u7otmP6S2ci+wxxm2CPp8dZaokeWeMBqPzJAoGAUR6T7naxIuLoMl2UVLaH
KSB8CHm2RECakHoQ8ExE4fr/PD1txbi3lzgtG5v/f6LHRG9EfwaYbz5PoWbTNefI
/wElwyjVsB0O6DCCmPbhaTaGw+F7EZw3K4lRP/ES6+h6wgM5cTPW8iE2Ol981uqU
EWFFhQ7fB4CN7PG+SHd3j7I=
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAJdp+MzNamR/MA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTUwMzI2MTc1NjMzWhcNMTcxMjE5MTc1NjMzWjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEA0KUzXDVm5au0uVjsC5mKaR+W8l+AhM2DmmVICr9NFI23UbpNhNP/9N2p
tL4OLpwxMDASEl3vrQMPYtknIJ7b0mH9uOMm0y1h70Il7a/5nXM4eskPFmC4jLB5
TCLHcifYIDcSznKCTBM1rDLBnmS44ozZm3r1P6SAbbBDNRyEI8JJBBGtBIxv2tF9
WZZkMkT9+6AEqIP81hcsGRuD8uFUXQTc+kJzkRVnbQ6jxZ+Hf62nTpWFm4klpVP5
tWlawjhhoZ37RTSBPbctzaRiuC5Qwivd4GOXGC+DG5madU+3i4aAicDL0ArZbn7b
hcIwpX/Za4B3Y9CWAciM5PVrzl4KgwIDAQABo1AwTjAdBgNVHQ4EFgQUMzrPqA7o
BUoa2q6wu7p8/jREKdowHwYDVR0jBBgwFoAUMzrPqA7oBUoa2q6wu7p8/jREKdow
DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEACcbsrYEY7OwB5x5Jo61d
y3pq+/PdL8a0WRfE7W55IW0Zb6NysotlXrg/SZmMZR1S2GE1J34p05rjAY0PQ224
mm/qANgj41FQ2IpSf+Ky3WR9tkXBIzef09fDRBC/hI+ltBJDBHE9Bit1SfDS/HqK
iDqJpD5QPElXTEbdgWNWQL74whtB1UX24sejdOYkVOuGduzBHUUSHz7GnpQmc+ot
9NF35kRPIXgj3QTlna2BNa2F6vX/fMInqB3RfixpRhE1P32uSLAq+ftIG7E1y5fo
SGVO53OVstc1LjNOq4yx9Z5pP/uZ2mgKHUqhJ7uGcCrX5JDojh0rTZp+BbLHbB78
fQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAJdp+MzNamR/MA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTUwMzI2MTc1NjMzWhcNMTcxMjE5MTc1NjMzWjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEA0KUzXDVm5au0uVjsC5mKaR+W8l+AhM2DmmVICr9NFI23UbpNhNP/9N2p
tL4OLpwxMDASEl3vrQMPYtknIJ7b0mH9uOMm0y1h70Il7a/5nXM4eskPFmC4jLB5
TCLHcifYIDcSznKCTBM1rDLBnmS44ozZm3r1P6SAbbBDNRyEI8JJBBGtBIxv2tF9
WZZkMkT9+6AEqIP81hcsGRuD8uFUXQTc+kJzkRVnbQ6jxZ+Hf62nTpWFm4klpVP5
tWlawjhhoZ37RTSBPbctzaRiuC5Qwivd4GOXGC+DG5madU+3i4aAicDL0ArZbn7b
hcIwpX/Za4B3Y9CWAciM5PVrzl4KgwIDAQABo1AwTjAdBgNVHQ4EFgQUMzrPqA7o
BUoa2q6wu7p8/jREKdowHwYDVR0jBBgwFoAUMzrPqA7oBUoa2q6wu7p8/jREKdow
DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEACcbsrYEY7OwB5x5Jo61d
y3pq+/PdL8a0WRfE7W55IW0Zb6NysotlXrg/SZmMZR1S2GE1J34p05rjAY0PQ224
mm/qANgj41FQ2IpSf+Ky3WR9tkXBIzef09fDRBC/hI+ltBJDBHE9Bit1SfDS/HqK
iDqJpD5QPElXTEbdgWNWQL74whtB1UX24sejdOYkVOuGduzBHUUSHz7GnpQmc+ot
9NF35kRPIXgj3QTlna2BNa2F6vX/fMInqB3RfixpRhE1P32uSLAq+ftIG7E1y5fo
SGVO53OVstc1LjNOq4yx9Z5pP/uZ2mgKHUqhJ7uGcCrX5JDojh0rTZp+BbLHbB78
fQ==
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDQpTNcNWblq7S5
WOwLmYppH5byX4CEzYOaZUgKv00UjbdRuk2E0//03am0vg4unDEwMBISXe+tAw9i
2ScgntvSYf244ybTLWHvQiXtr/mdczh6yQ8WYLiMsHlMIsdyJ9ggNxLOcoJMEzWs
MsGeZLjijNmbevU/pIBtsEM1HIQjwkkEEa0EjG/a0X1ZlmQyRP37oASog/zWFywZ
G4Py4VRdBNz6QnORFWdtDqPFn4d/radOlYWbiSWlU/m1aVrCOGGhnftFNIE9ty3N
pGK4LlDCK93gY5cYL4MbmZp1T7eLhoCJwMvQCtluftuFwjClf9lrgHdj0JYByIzk
9WvOXgqDAgMBAAECggEBAJtxmLQn7QNLS5eTEjkKKT5slI76a8uFOXj74BJxt8GK
W3t+K2a8c0NBKcBIoFRFdbgK+EvKxFfHodzpH+eDsw4oh1kJktFeTEpuo8dThcqy
HvALfzwSzyuyBoyclK8N1E0b+tzoHv8CiMhEAFA7hiry+OSHVNQXgL83xLp7Bk+E
hW8V2DwR0qhhiLEUtmR9lyHZjR0yrFrBZkX5QnFUqR1szzyTuoGZksII/yzuDvRh
0LxdTzgB4Iz19YWReUIv9IeN+mzHNKvPQRi4Tm5GSBIxG/U4ZaliwW/kZPbME7QL
v1PJblIRutLyZNLgSeWCOXJK7bYZkly9TCGN2d7SU7ECgYEA6jA6Meoiuu0cCG9l
yD6zBs8V/AkrL80yCwJQiWgsbLg7mWOi11InX7da0oUuHgMN3Vw+K/cL/MnRJDu0
tRV2AE3CwI8YVtzScg2p01vu7Oysz+IImvhOQeUnva5PvFwX/E7/zxAZ/hV9KPwV
bM/lza0msPaZ50ikW518ZcToz/cCgYEA5BPyn22Jbymlo0rIEym16gxVGs029tim
NOE7U2jPNmJd7HN9VfBzVuoKV+J4NS3jvoFXbP5Bcrp8v9WXVXexU2o4hnsVxZcT
f0aqtkAsGqCQ8YA0UUtyrFuBArBy+G1ANnH4ZVo2u3dOL2FJX2CjSipQltMEfjkL
JZfUJt2ijtUCgYAE7Xzb/gQ7ELAtUULAAum7c/IPepXpDJVH/AV7zrBYnUvLv3f2
tejUL8R+d4Tv5rqM9NruC+W5rPl0nLkBsnDoMrqtWJV3hm/7LGRtaRrO62/7c9Mg
h6cF5e9/I0LUQM/UZEknrzwMx6D5ksxUnM9GE6WjxZyZbELhFqA+d/U6IwKBgD4Q
l5N+0UloweQ/s1ZToWdBV99lPLHLnt8A843tFYYtGnX/r3m1Zw2dvpbPz/pYtILg
25OTVOgNi2kAjJ/7ZEvYue0OjYwpYmreJhJWQCo2y3qMcrA0oc35UJAUyBSGVlT6
iqe59u7otmP6S2ci+wxxm2CPp8dZaokeWeMBqPzJAoGAUR6T7naxIuLoMl2UVLaH
KSB8CHm2RECakHoQ8ExE4fr/PD1txbi3lzgtG5v/f6LHRG9EfwaYbz5PoWbTNefI
/wElwyjVsB0O6DCCmPbhaTaGw+F7EZw3K4lRP/ES6+h6wgM5cTPW8iE2Ol981uqU
EWFFhQ7fB4CN7PG+SHd3j7I=
-----END PRIVATE KEY-----
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment