From bf79e977d476155b57a757691168f60f26c94fb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20Guimar=C3=A3es=20de=20Medeiros?= Date: Wed, 27 Nov 2019 13:54:37 +0100 Subject: [PATCH 1/6] Add TLS support for TCP sockets --- bmemcached/client/distributed.py | 5 +++-- bmemcached/client/mixin.py | 5 ++++- bmemcached/protocol.py | 9 ++++++++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/bmemcached/client/distributed.py b/bmemcached/client/distributed.py index 7ef9d02..3db305c 100644 --- a/bmemcached/client/distributed.py +++ b/bmemcached/client/distributed.py @@ -12,9 +12,10 @@ class DistributedClient(ClientMixin): It tries to distribute keys over the specified servers using `HashRing` consistent hash. """ def __init__(self, servers=('127.0.0.1:11211',), username=None, password=None, compression=None, - socket_timeout=SOCKET_TIMEOUT, pickle_protocol=0, pickler=pickle.Pickler, unpickler=pickle.Unpickler): + socket_timeout=SOCKET_TIMEOUT, pickle_protocol=0, pickler=pickle.Pickler, unpickler=pickle.Unpickler, + tls_context=None): super(DistributedClient, self).__init__(servers, username, password, compression, socket_timeout, - pickle_protocol, pickler, unpickler) + pickle_protocol, pickler, unpickler, tls_context) self._ring = HashRing(self._servers) def _get_server(self, key): diff --git a/bmemcached/client/mixin.py b/bmemcached/client/mixin.py index 656f51d..a0ac3be 100644 --- a/bmemcached/client/mixin.py +++ b/bmemcached/client/mixin.py @@ -36,7 +36,8 @@ def __init__(self, servers=('127.0.0.1:11211',), socket_timeout=SOCKET_TIMEOUT, pickle_protocol=PICKLE_PROTOCOL, pickler=pickle.Pickler, - unpickler=pickle.Unpickler): + unpickler=pickle.Unpickler, + tls_context=None): self.username = username self.password = password self.compression = compression @@ -44,6 +45,7 @@ def __init__(self, servers=('127.0.0.1:11211',), self.pickle_protocol = pickle_protocol self.pickler = pickler self.unpickler = unpickler + self.tls_context = tls_context self.set_servers(servers) @property @@ -73,6 +75,7 @@ def set_servers(self, servers): pickle_protocol=self.pickle_protocol, pickler=self.pickler, unpickler=self.unpickler, + tls_context=self.tls_context, ) for server in servers] def flush_all(self, time=0): diff --git a/bmemcached/protocol.py b/bmemcached/protocol.py index dd9f94a..3ec99be 100644 --- a/bmemcached/protocol.py +++ b/bmemcached/protocol.py @@ -99,7 +99,7 @@ class Protocol(threading.local): COMPRESSION_THRESHOLD = 128 def __init__(self, server, username=None, password=None, compression=None, socket_timeout=None, - pickle_protocol=None, pickler=None, unpickler=None): + pickle_protocol=None, pickler=None, unpickler=None, tls_context=None): super(Protocol, self).__init__() self.server = server self._username = username @@ -112,6 +112,7 @@ def __init__(self, server, username=None, password=None, compression=None, socke self.pickle_protocol = pickle_protocol self.pickler = pickler self.unpickler = unpickler + self.tls_context = tls_context self.reconnects_deferred_until = None @@ -144,6 +145,12 @@ def _open_connection(self): self.connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.connection.settimeout(self.socket_timeout) self.connection.connect((self.host, self.port)) + + if self.tls_context: + self.connection = self.tls_context.wrap_socket( + self.connection, + server_hostname=self.host, + ) else: self.connection = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) self.connection.connect(self.server) From f2cbe396ebad362089b8979beea3045b7d469b7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20Guimar=C3=A3es=20de=20Medeiros?= Date: Fri, 17 Jan 2020 15:58:39 +0100 Subject: [PATCH 2/6] Add test certificates In order to test TLS support we need a couple of keys and certs. --- test/certs/Makefile | 74 +++++++++++++++++ test/certs/README.md | 14 ++++ test/certs/conf/ca-intermediate.conf | 20 +++++ test/certs/conf/ca-root.conf | 20 +++++ test/certs/conf/client-ca-root.conf | 20 +++++ test/certs/conf/client.conf | 18 +++++ test/certs/conf/server.conf | 21 +++++ test/certs/gen/chain/client.pem | 64 +++++++++++++++ test/certs/gen/chain/server-rsa2048.pem | 64 +++++++++++++++ test/certs/gen/crt/ca-intermediate.crt | 37 +++++++++ test/certs/gen/crt/ca-intermediate.srl | 1 + test/certs/gen/crt/ca-root.crt | 36 +++++++++ test/certs/gen/crt/ca-root.srl | 1 + test/certs/gen/crt/client-ca-root.crt | 37 +++++++++ test/certs/gen/crt/client-ca-root.srl | 1 + test/certs/gen/crt/client.crt | 27 +++++++ test/certs/gen/crt/client.p12 | Bin 0 -> 2789 bytes test/certs/gen/crt/server-rsa2048.crt | 27 +++++++ test/certs/gen/csr/ca-intermediate.csr | 28 +++++++ test/certs/gen/csr/client.csr | 18 +++++ test/certs/gen/csr/server-rsa2048.csr | 18 +++++ test/certs/gen/key/ca-intermediate.key | 51 ++++++++++++ test/certs/gen/key/ca-root.key | 51 ++++++++++++ test/certs/gen/key/client-ca-root.key | 51 ++++++++++++ test/certs/gen/key/client.key | 27 +++++++ test/certs/gen/key/server-rsa2048.key | 27 +++++++ test/certs/tool | 101 ++++++++++++++++++++++++ 27 files changed, 854 insertions(+) create mode 100644 test/certs/Makefile create mode 100644 test/certs/README.md create mode 100644 test/certs/conf/ca-intermediate.conf create mode 100644 test/certs/conf/ca-root.conf create mode 100644 test/certs/conf/client-ca-root.conf create mode 100644 test/certs/conf/client.conf create mode 100644 test/certs/conf/server.conf create mode 100644 test/certs/gen/chain/client.pem create mode 100644 test/certs/gen/chain/server-rsa2048.pem create mode 100644 test/certs/gen/crt/ca-intermediate.crt create mode 100644 test/certs/gen/crt/ca-intermediate.srl create mode 100644 test/certs/gen/crt/ca-root.crt create mode 100644 test/certs/gen/crt/ca-root.srl create mode 100644 test/certs/gen/crt/client-ca-root.crt create mode 100644 test/certs/gen/crt/client-ca-root.srl create mode 100644 test/certs/gen/crt/client.crt create mode 100644 test/certs/gen/crt/client.p12 create mode 100644 test/certs/gen/crt/server-rsa2048.crt create mode 100644 test/certs/gen/csr/ca-intermediate.csr create mode 100644 test/certs/gen/csr/client.csr create mode 100644 test/certs/gen/csr/server-rsa2048.csr create mode 100644 test/certs/gen/key/ca-intermediate.key create mode 100644 test/certs/gen/key/ca-root.key create mode 100644 test/certs/gen/key/client-ca-root.key create mode 100644 test/certs/gen/key/client.key create mode 100644 test/certs/gen/key/server-rsa2048.key create mode 100755 test/certs/tool diff --git a/test/certs/Makefile b/test/certs/Makefile new file mode 100644 index 0000000..9a259b4 --- /dev/null +++ b/test/certs/Makefile @@ -0,0 +1,74 @@ +# chain :: pem <= []crt +# dhparam :: pem <= int (#bits) +# gen-ca :: crt <= conf, key +# gen-csr :: csr <= conf, key +# gen-key :: key <= int (#bits) +# gen-ecckey :: key <= string (ECC Prime) +# self-sign :: crt <= days, hash, extensions, conf, csr, key (self) +# sign :: crt <= days, hash, extensions, conf, csr, key (CA), crt (CA) + +# Note: Files and paths must not contain spaces. + +DOMAIN = localhost +DEFAULT_CERT_TYPE = rsa2048 +DEFAULT_DAYS = 730 +DEFAULT_HASH = sha256 + +DEFAULT_CA_SIGN = 3650 $(DEFAULT_HASH) req_v3_ca +DEFAULT_server_SIGN = $(DEFAULT_DAYS) $(DEFAULT_HASH) req_v3_usr + +.PHONY: all +all: chains + +.PHONY: clean +clean: + rm -rf gen + +# root CA ############################# +gen/key/ca-root.key: + ./tool gen-key $@ $(DOMAIN) 4096 +gen/crt/ca-root.crt: conf/ca-root.conf gen/key/ca-root.key + ./tool gen-ca $@ $(DOMAIN) $^ + +# intermediate CA ##################### +gen/key/ca-intermediate.key: + ./tool gen-key $@ $(DOMAIN) 4096 +gen/csr/ca-intermediate.csr: conf/ca-intermediate.conf gen/key/ca-intermediate.key + ./tool gen-csr $@ $(DOMAIN) $^ +gen/crt/ca-intermediate.crt: conf/ca-intermediate.conf gen/csr/ca-intermediate.csr gen/key/ca-root.key gen/crt/ca-root.crt + ./tool sign $@ $(DOMAIN) $(DEFAULT_CA_SIGN) $^ + +# server cert ######################### +gen/key/server-rsa2048.key: + ./tool gen-key $@ $(DOMAIN) 2048 +gen/csr/server-rsa2048.csr: conf/server.conf gen/key/server-rsa2048.key + ./tool gen-csr $@ $(DOMAIN) $^ +gen/crt/server-rsa2048.crt: conf/server.conf gen/csr/server-rsa2048.csr gen/key/ca-intermediate.key gen/crt/ca-intermediate.crt + ./tool sign $@ $(DOMAIN) $(DEFAULT_server_SIGN) $^ +gen/chain/server-rsa2048.pem: gen/crt/server-rsa2048.crt gen/crt/ca-intermediate.crt + ./tool chain $@ $(DOMAIN) $^ +CHAINS += gen/chain/server-rsa2048.pem + +# client root CA ###################### +gen/key/client-ca-root.key: + ./tool gen-key $@ $(DOMAIN) 4096 +gen/crt/client-ca-root.crt: conf/client-ca-root.conf gen/key/client-ca-root.key + ./tool gen-ca $@ $(DOMAIN) $^ + +# client cert ######################### +gen/key/client.key: + ./tool gen-key $@ $(DOMAIN) 2048 +gen/csr/client.csr: conf/client.conf gen/key/client.key + ./tool gen-csr $@ $(DOMAIN) $^ +gen/crt/client.crt: conf/client.conf gen/csr/client.csr gen/key/client-ca-root.key gen/crt/client-ca-root.crt + ./tool sign $@ $(DOMAIN) $(DEFAULT_server_SIGN) $^ +gen/crt/client.p12: gen/crt/client.crt gen/key/client.key + ./tool gen-pkcs12-p12 $@ $(DOMAIN) $^ +gen/chain/client.pem: gen/crt/client.p12 + ./tool pkcs12-convert-p12-pem $@ $(DOMAIN) $^ +CHAINS += gen/chain/client.pem + +####################################### + +.PHONY: chains +chains: $(CHAINS) diff --git a/test/certs/README.md b/test/certs/README.md new file mode 100644 index 0000000..2066dc7 --- /dev/null +++ b/test/certs/README.md @@ -0,0 +1,14 @@ +# TLS certificates for Memcached + TLS testing + +Certificate generation is inspired by [badssl.com](https://github.com/chromium/badssl.com) + +The certificates hierarchy is: + + - client-ca-root + - client + + - ca-root + - ca-intermediate + - server-rsa2048 + +Use `make` to regen the certificates. \ No newline at end of file diff --git a/test/certs/conf/ca-intermediate.conf b/test/certs/conf/ca-intermediate.conf new file mode 100644 index 0000000..089f29e --- /dev/null +++ b/test/certs/conf/ca-intermediate.conf @@ -0,0 +1,20 @@ +[ req ] +default_bits = 4096 +default_md = sha256 +distinguished_name = req_distinguished_name +encrypt_key = no +prompt = no +x509_extensions = req_v3_ca + +[ req_distinguished_name ] +countryName = CZ +stateOrProvinceName = Jihomoravsky kraj +localityName = Brno +organizationName = Example +commonName = Example Intermediate Certificate Authority + +[ req_v3_ca ] +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always,issuer:always +basicConstraints = CA:true +keyUsage = cRLSign, keyCertSign diff --git a/test/certs/conf/ca-root.conf b/test/certs/conf/ca-root.conf new file mode 100644 index 0000000..310c322 --- /dev/null +++ b/test/certs/conf/ca-root.conf @@ -0,0 +1,20 @@ +[ req ] +default_bits = 4096 +default_md = sha256 +distinguished_name = req_distinguished_name +encrypt_key = no +prompt = no +x509_extensions = req_v3_ca + +[ req_distinguished_name ] +countryName = CZ +stateOrProvinceName = Jihomoravsky kraj +localityName = Brno +organizationName = Example +commonName = Example Root Certificate Authority + +[ req_v3_ca ] +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always,issuer:always +basicConstraints = CA:true +keyUsage = cRLSign, keyCertSign diff --git a/test/certs/conf/client-ca-root.conf b/test/certs/conf/client-ca-root.conf new file mode 100644 index 0000000..1668b65 --- /dev/null +++ b/test/certs/conf/client-ca-root.conf @@ -0,0 +1,20 @@ +[ req ] +default_bits = 4096 +default_md = sha256 +distinguished_name = req_distinguished_name +encrypt_key = no +prompt = no +x509_extensions = req_v3_ca + +[ req_distinguished_name ] +countryName = CZ +stateOrProvinceName = Jihomoravsky kraj +localityName = Brno +organizationName = Example +commonName = Example Client Root Certificate Authority + +[ req_v3_ca ] +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always,issuer:always +basicConstraints = CA:true +keyUsage = cRLSign, keyCertSign diff --git a/test/certs/conf/client.conf b/test/certs/conf/client.conf new file mode 100644 index 0000000..231a167 --- /dev/null +++ b/test/certs/conf/client.conf @@ -0,0 +1,18 @@ +[ req ] +default_bits = 4096 +distinguished_name = req_distinguished_name +encrypt_key = no +prompt = no +req_extensions = req_v3_usr + +[ req_distinguished_name ] +countryName = CZ +stateOrProvinceName = Jihomoravsky kraj +localityName = Brno +organizationName = Example +commonName = Example Client Certificate + +[ req_v3_usr ] +basicConstraints = CA:FALSE +nsCertType = client +keyUsage = nonRepudiation, digitalSignature, keyEncipherment diff --git a/test/certs/conf/server.conf b/test/certs/conf/server.conf new file mode 100644 index 0000000..20495d2 --- /dev/null +++ b/test/certs/conf/server.conf @@ -0,0 +1,21 @@ +[ req ] +default_bits = 2048 +distinguished_name = req_distinguished_name +encrypt_key = no +prompt = no +req_extensions = req_v3_usr + +[ req_distinguished_name ] +countryName = CZ +stateOrProvinceName = Jihomoravsky kraj +localityName = Brno +organizationName = Example +commonName = *.__DOMAIN__ + +[ req_v3_usr ] +basicConstraints = CA:FALSE +subjectAltName = @alt_names + +[ alt_names ] +DNS.1 = *.__DOMAIN__ +DNS.2 = __DOMAIN__ diff --git a/test/certs/gen/chain/client.pem b/test/certs/gen/chain/client.pem new file mode 100644 index 0000000..bd3b8f5 --- /dev/null +++ b/test/certs/gen/chain/client.pem @@ -0,0 +1,64 @@ +Bag Attributes + localKeyID: 9F 74 DB 17 8B 46 88 A1 21 2B 17 24 E9 C6 98 A6 6E CA 21 63 +subject=/C=CZ/ST=Jihomoravsky kraj/L=Brno/O=Example/CN=Example Client Certificate +issuer=/C=CZ/ST=Jihomoravsky kraj/L=Brno/O=Example/CN=Example Client Root Certificate Authority +-----BEGIN CERTIFICATE----- +MIIEnTCCAoWgAwIBAgIJAPfjIQPZC2XDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV +BAYTAkNaMRowGAYDVQQIDBFKaWhvbW9yYXZza3kga3JhajENMAsGA1UEBwwEQnJu +bzEQMA4GA1UECgwHRXhhbXBsZTEyMDAGA1UEAwwpRXhhbXBsZSBDbGllbnQgUm9v +dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMjAwMTIyMTQzOTM2WhcNMjIwMTIx +MTQzOTM2WjBvMQswCQYDVQQGEwJDWjEaMBgGA1UECAwRSmlob21vcmF2c2t5IGty +YWoxDTALBgNVBAcMBEJybm8xEDAOBgNVBAoMB0V4YW1wbGUxIzAhBgNVBAMMGkV4 +YW1wbGUgQ2xpZW50IENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA36owLHe9X6tbShhcwTfYWVVKN75rQ2Ulvr2Hd6CzJH4A3h4sOBhp +xwIs+se0bBjP+A1KkM+0+bKn5EJSJDGvr/Ju9mPDdnmbaci7bHJeenYHscr+1qo0 +Uxq6SwnWQOzPlhN49e7yDgfdgBCNtR+rjC65f5zO0h12hN1VmGnkilZE0drG40P5 +bbtJvRig5o72DdNK5PNiQtZPhGevuA5fBbXOy8UwdhqYqC7Di18/M2WMg1KmD9mQ +PnGtpfHdrv2kLp3ouWtVBtjPz6aRqsKxGdELZsSDz+L/UbPx9yDGLGNipYjFo+uL +lQrYNys2OZKB/kDbWzGpmZqkkX5nh322iQIDAQABoy0wKzAJBgNVHRMEAjAAMBEG +CWCGSAGG+EIBAQQEAwIHgDALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIB +AIYt6Hh3AquBBZiZUs3yHckhIPhhWrjJT6DkZ1VXjDf7iVgGLegEnxr6rc3vWKYC +2yuPTCV3rFJKuGZ2tkDFL3KbY0Ic2Hc6XyG9Pp/ahmlI5BmjJabFvnIVSXtSpMEp +Gpcvn9T1kxVF75J+LYb+b9MmmU3pSZ2gmgwk7R5S8wW5WE+qaL2fRwR79gJo4wOZ +E/dPTYWQvRUEAWZDDlagvxktJ9IH4KFq0QyIqfSntYZCZqwsbmTvSb7kqOHNGjNH +ur3587e8Upn/UAEer/I3SL2t0X4cxaPb5DeLaN5GR2DqjSz+KVA1EwKfGndouYYl +nVI4oMK7+ZaMrp1ccvB/S3Ba9x7DVfsK/8u1Onv8WAqda7Qh4yy80JOoBm8J0YUM +hTcfjQ/Jln8zR3gdHBAZ7eHni5qkjcj9CK5Mpdpva4jd5cQGHqkvG7pdEoWBvXzf +wCFdnn2YkEec0NIKiObNTycdrACSI+CNNsrw1Dbo4VAXGKRowYt1FXwyFRwjNj7K +ty2baSrOMJeTlkmvkIGIiLbd38wKbnpdn20tJ6s4MCefKiqDe1zj0dzSM8lWzQIt +Q53mJrs0WVjc9X4FxaEs44cHLNf9bnAf0hvSA4ytQFIiqT1wlDnmRl9gQJfaqnlm +ruVRuxzlaRgDWJidLAFZ27Qr1MxcF1YgtxM41DggmKvM +-----END CERTIFICATE----- +Bag Attributes + localKeyID: 9F 74 DB 17 8B 46 88 A1 21 2B 17 24 E9 C6 98 A6 6E CA 21 63 +Key Attributes: +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIjsAiYCXa0X0CAggA +MBQGCCqGSIb3DQMHBAgDBSNBhmE6wQSCBMhSjGZEe9IRCI+l/tn+U3exouObsOMS +Z7tvxlPNJ66mzyfPsvLjqIfy8pAKnmwF18cwalhzCGU9LzNm0ELK+yiVE2dGAhmL +xiyah83oZ+UJVm8H99+EGvUUJN7DeJlbM98f8FeRy8fPhIfOr33wogHaYaWiW3cB +K9pxufhB+80lmAuTg6Wd2LzWNnAOJyUxHXpz/ROb6RG8A/JjBLDjp/n5HTyp5Spx +4vC/87bvDQuwgjvmP2hXz8bSoWwlVGyGXrpTh7eHun2bwHOULE22YTaBYH+pSewQ ++SI47dlFUIuDOe5JWH+AMU18J9Ax3EpMyIKWRm7xRRoOrR9uBPjZKDhHcXU4DNhl +K06L0ZTVdtNbJ+pVzfWy8WEMSL0sHOAw7z/TBers6kL2qYYopQmrsx8ibJzfrFV0 +Kc2yTZmBAggnZD9Lcu6SpdxmO+UlK9Kir+VJXMWJtCJ9TEX0945zatfikJkVeFG/ +pEGj+8ZrCOrhaYnEW2eggDyrzD/eDBQkZxXQWsKmgW+wr5Yhq2qoHzStaYFsgxzB +0b+BrqB4V3+Y/CLwX7nee7c+J43/z7SfTb81X98pYxQD/d0WCA74smoaUszRKMuO +UBwkoIWaJXJFkP5Xsv8V3d/PFdJiVEqqN8GYuFjMXr0XfWFIM4xoYf1E1afciUcN +/xm+H5RR2gnJZiBcmlUk1OhxcsX19Z+MLgmloAv6ipUgzQvOOLZCoOJtHsQUh6tx +9jZilSkBNPbnd077nUlOCEZI9ohFRZpqDwU3THPKLWOKISIq2vNxexFSkkOb4r8C ++Ud4dRCuQBOL+jn/e/cHYN1d9fHJApM15azgKvuj0P6ATl23YqEjDh3MbDIRrCjx +L/Vgw8Bw8EZxWfz6gHSpgUM6jfyOCgajxjhMNDzIRhlXAm3K57u4/te0b+wx5YL3 +ntkqh68mckOYvkYLP7MYqM3H7z36ZFo8XV5J8D4fFETrpNSrgU051NAd9RBmCuIO +7lDVIC3WJh+QQHNJ8ZpZOYbPSjw4PQvrzjGH2BQqWGezbswEgjxEVFjaZW887t4Y +S7jKqpx01EofjcoSlOeSsQQeDzMoU0fGg5lBK3PsavAUskUVAmfskRwngfg6LnQ5 +g5BSRdtRrcB0VZ4N0Bqy7qRHZhxI+70VVqjbd2Pu6pbhPEpToJ22IhXCVE8WKWdf +htfJlixM6VAmhiYNfMx2vqJe5MvYFHheltf7UiwSasq4e6v5pZvJFKvVBtrrr7DQ +fkmuRXWOsmRrWNbNoVZAaIZkxckox1nrhBXw3Yaby5D5BGSbfbkmC+kI6isOdNfF +/AuQpNX0tBGWiwdo5AqxaMqbsZlt1pa139Aj66RJyASl18NpZd2EaVXRHgu7d6oZ +eDHgEzvYbNfEeLo/wRG3+BQIrk1q2Z9AS75n9vtHhsYAM+1SycdCiuTIxrCyZgu3 +UFzkm4u/KaS32uVnf2siq2vVjhR8FblSd/ZdMIkijygr0UKzHyT7kLKXMuNv1gsS +AhOrLzickQZTrHIGFGW62JjyTdT2CaFcdXoWXSh5h9t5v/+tIFU+yHLLbBzeC7cq +/0cpmfyHbFuhSxaSjeVcxoGUQdGzOUpkQrWro5XC2GrX8uQYDVx15kiqnKPLYr4w +ntc= +-----END ENCRYPTED PRIVATE KEY----- diff --git a/test/certs/gen/chain/server-rsa2048.pem b/test/certs/gen/chain/server-rsa2048.pem new file mode 100644 index 0000000..8cc20a4 --- /dev/null +++ b/test/certs/gen/chain/server-rsa2048.pem @@ -0,0 +1,64 @@ +-----BEGIN CERTIFICATE----- +MIIEkjCCAnqgAwIBAgIJAPaf0LVsqpSpMA0GCSqGSIb3DQEBCwUAMH8xCzAJBgNV +BAYTAkNaMRowGAYDVQQIDBFKaWhvbW9yYXZza3kga3JhajENMAsGA1UEBwwEQnJu +bzEQMA4GA1UECgwHRXhhbXBsZTEzMDEGA1UEAwwqRXhhbXBsZSBJbnRlcm1lZGlh +dGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTIwMDEyMjE0MzkzM1oXDTIyMDEy +MTE0MzkzM1owYDELMAkGA1UEBhMCQ1oxGjAYBgNVBAgMEUppaG9tb3JhdnNreSBr +cmFqMQ0wCwYDVQQHDARCcm5vMRAwDgYDVQQKDAdFeGFtcGxlMRQwEgYDVQQDDAsq +LmxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMTdR2GQ +bYg/vFNoOTwHJ16gjHeLBtm1w2cTTTGl8htmkEMxO6lm3J9MTarh4AC/PTRMv1s1 +U/4QFIaSXhWquDg2Iq+ME8pX21wa52j+XW1t6qbfQgFYVFpSXMlDJqgIjRdAdgQS +vYeuCMS5Unr0YYO6UgjOw4T242jFLv18SezndmHiSMUv0LN+suI4hIjuH/znTB+9 +4C3GSeygEb+pPjEnzD2IjUfFl5eHnuOqPuhP++68TI9PDJ1X4fiRmV8vthjTXxPO +bo/igDGNknE6wQwD8laQrHKrhgIMs4F5AfWvqPwBufqTIg6qTyuygnAv4WjCEW9y +PMCTL4B1VD8jKqMCAwEAAaMwMC4wCQYDVR0TBAIwADAhBgNVHREEGjAYggsqLmxv +Y2FsaG9zdIIJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4ICAQAnXrhBTubKQpVB +MVoHDZBH/5lEJBT8fNqgIRxS8HENvl3ninxCP9vIeUkonyFNObZC8TK0xQgjXqDP +BubfnuTaPlqeMIF8YxaQMWlBkObleLpg2w7xC64l59vmwcRS59VEs+nrAwL1dwC3 +/fn9NZg/XOgmvsIwLuRggMcXr53ngU3m8oNXhylZxx1Ok5zZQb5sOBJRlcqrtByq +RQ9Qb3hwkuVez/MTEsBb4FIxsoxtq6bSLRbdSI/o/uj1Y0B4+ozWaUq0FGPgJAZE +UhSwz2wSTO9oiQ4EtvFJd3B+4SdU7lnAOHhpL8yMdcntmTm55knBctCBFKKMcdng +wRRr9Sy7ajPcbO41WUb3kzGRN+gOial3ntfbNDO+Gz92IK1bguML4yih//Ja9pko +OxUazphqLziF0N+TiMWQo5RZilNqM11jcWlw0R69krgaBArAixjt9h2Nsw7qOCPf +Gb5FUHdFmM+Ov7MChrW5JOpZkSlpLee5/0nzOi/DnLvomI7M8rmIz2XZz67ZyIBr +wyo384wcq2bzZojT8EGIUPcNTTAjt75yHpOsIafrrOOJdIwcyRF983Pjadxpnw98 +REZ2hWj79mqsjECI+Rq0LJVvUEEhg0H4YU5H3ELPjXbGadhHQJbHroYQHfg2lh4H +zFSu3F5cS4nd7ko35tZZFDWcXKTubQ== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +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 +Je1FVWquxA== +-----END CERTIFICATE----- diff --git a/test/certs/gen/crt/ca-intermediate.crt b/test/certs/gen/crt/ca-intermediate.crt new file mode 100644 index 0000000..71a08d7 --- /dev/null +++ b/test/certs/gen/crt/ca-intermediate.crt @@ -0,0 +1,37 @@ +-----BEGIN CERTIFICATE----- +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 +Je1FVWquxA== +-----END CERTIFICATE----- diff --git a/test/certs/gen/crt/ca-intermediate.srl b/test/certs/gen/crt/ca-intermediate.srl new file mode 100644 index 0000000..ce3c507 --- /dev/null +++ b/test/certs/gen/crt/ca-intermediate.srl @@ -0,0 +1 @@ +F69FD0B56CAA94A9 diff --git a/test/certs/gen/crt/ca-root.crt b/test/certs/gen/crt/ca-root.crt new file mode 100644 index 0000000..b3f21fb --- /dev/null +++ b/test/certs/gen/crt/ca-root.crt @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- diff --git a/test/certs/gen/crt/ca-root.srl b/test/certs/gen/crt/ca-root.srl new file mode 100644 index 0000000..762dc6e --- /dev/null +++ b/test/certs/gen/crt/ca-root.srl @@ -0,0 +1 @@ +8364354521253367 diff --git a/test/certs/gen/crt/client-ca-root.crt b/test/certs/gen/crt/client-ca-root.crt new file mode 100644 index 0000000..3af787a --- /dev/null +++ b/test/certs/gen/crt/client-ca-root.crt @@ -0,0 +1,37 @@ +-----BEGIN CERTIFICATE----- +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 +lDPNDeWkp4AHxxHfDyoGRwbBcYKS4w== +-----END CERTIFICATE----- diff --git a/test/certs/gen/crt/client-ca-root.srl b/test/certs/gen/crt/client-ca-root.srl new file mode 100644 index 0000000..97a993b --- /dev/null +++ b/test/certs/gen/crt/client-ca-root.srl @@ -0,0 +1 @@ +F7E32103D90B65C3 diff --git a/test/certs/gen/crt/client.crt b/test/certs/gen/crt/client.crt new file mode 100644 index 0000000..4be9ecc --- /dev/null +++ b/test/certs/gen/crt/client.crt @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEnTCCAoWgAwIBAgIJAPfjIQPZC2XDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV +BAYTAkNaMRowGAYDVQQIDBFKaWhvbW9yYXZza3kga3JhajENMAsGA1UEBwwEQnJu +bzEQMA4GA1UECgwHRXhhbXBsZTEyMDAGA1UEAwwpRXhhbXBsZSBDbGllbnQgUm9v +dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMjAwMTIyMTQzOTM2WhcNMjIwMTIx +MTQzOTM2WjBvMQswCQYDVQQGEwJDWjEaMBgGA1UECAwRSmlob21vcmF2c2t5IGty +YWoxDTALBgNVBAcMBEJybm8xEDAOBgNVBAoMB0V4YW1wbGUxIzAhBgNVBAMMGkV4 +YW1wbGUgQ2xpZW50IENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA36owLHe9X6tbShhcwTfYWVVKN75rQ2Ulvr2Hd6CzJH4A3h4sOBhp +xwIs+se0bBjP+A1KkM+0+bKn5EJSJDGvr/Ju9mPDdnmbaci7bHJeenYHscr+1qo0 +Uxq6SwnWQOzPlhN49e7yDgfdgBCNtR+rjC65f5zO0h12hN1VmGnkilZE0drG40P5 +bbtJvRig5o72DdNK5PNiQtZPhGevuA5fBbXOy8UwdhqYqC7Di18/M2WMg1KmD9mQ +PnGtpfHdrv2kLp3ouWtVBtjPz6aRqsKxGdELZsSDz+L/UbPx9yDGLGNipYjFo+uL +lQrYNys2OZKB/kDbWzGpmZqkkX5nh322iQIDAQABoy0wKzAJBgNVHRMEAjAAMBEG +CWCGSAGG+EIBAQQEAwIHgDALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIB +AIYt6Hh3AquBBZiZUs3yHckhIPhhWrjJT6DkZ1VXjDf7iVgGLegEnxr6rc3vWKYC +2yuPTCV3rFJKuGZ2tkDFL3KbY0Ic2Hc6XyG9Pp/ahmlI5BmjJabFvnIVSXtSpMEp +Gpcvn9T1kxVF75J+LYb+b9MmmU3pSZ2gmgwk7R5S8wW5WE+qaL2fRwR79gJo4wOZ +E/dPTYWQvRUEAWZDDlagvxktJ9IH4KFq0QyIqfSntYZCZqwsbmTvSb7kqOHNGjNH +ur3587e8Upn/UAEer/I3SL2t0X4cxaPb5DeLaN5GR2DqjSz+KVA1EwKfGndouYYl +nVI4oMK7+ZaMrp1ccvB/S3Ba9x7DVfsK/8u1Onv8WAqda7Qh4yy80JOoBm8J0YUM +hTcfjQ/Jln8zR3gdHBAZ7eHni5qkjcj9CK5Mpdpva4jd5cQGHqkvG7pdEoWBvXzf +wCFdnn2YkEec0NIKiObNTycdrACSI+CNNsrw1Dbo4VAXGKRowYt1FXwyFRwjNj7K +ty2baSrOMJeTlkmvkIGIiLbd38wKbnpdn20tJ6s4MCefKiqDe1zj0dzSM8lWzQIt +Q53mJrs0WVjc9X4FxaEs44cHLNf9bnAf0hvSA4ytQFIiqT1wlDnmRl9gQJfaqnlm +ruVRuxzlaRgDWJidLAFZ27Qr1MxcF1YgtxM41DggmKvM +-----END CERTIFICATE----- diff --git a/test/certs/gen/crt/client.p12 b/test/certs/gen/crt/client.p12 new file mode 100644 index 0000000000000000000000000000000000000000..0574e930218488725cf2ead8e348912fac3732bc GIT binary patch literal 2789 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 literal 0 HcmV?d00001 diff --git a/test/certs/gen/crt/server-rsa2048.crt b/test/certs/gen/crt/server-rsa2048.crt new file mode 100644 index 0000000..b7f2d39 --- /dev/null +++ b/test/certs/gen/crt/server-rsa2048.crt @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEkjCCAnqgAwIBAgIJAPaf0LVsqpSpMA0GCSqGSIb3DQEBCwUAMH8xCzAJBgNV +BAYTAkNaMRowGAYDVQQIDBFKaWhvbW9yYXZza3kga3JhajENMAsGA1UEBwwEQnJu +bzEQMA4GA1UECgwHRXhhbXBsZTEzMDEGA1UEAwwqRXhhbXBsZSBJbnRlcm1lZGlh +dGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTIwMDEyMjE0MzkzM1oXDTIyMDEy +MTE0MzkzM1owYDELMAkGA1UEBhMCQ1oxGjAYBgNVBAgMEUppaG9tb3JhdnNreSBr +cmFqMQ0wCwYDVQQHDARCcm5vMRAwDgYDVQQKDAdFeGFtcGxlMRQwEgYDVQQDDAsq +LmxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMTdR2GQ +bYg/vFNoOTwHJ16gjHeLBtm1w2cTTTGl8htmkEMxO6lm3J9MTarh4AC/PTRMv1s1 +U/4QFIaSXhWquDg2Iq+ME8pX21wa52j+XW1t6qbfQgFYVFpSXMlDJqgIjRdAdgQS +vYeuCMS5Unr0YYO6UgjOw4T242jFLv18SezndmHiSMUv0LN+suI4hIjuH/znTB+9 +4C3GSeygEb+pPjEnzD2IjUfFl5eHnuOqPuhP++68TI9PDJ1X4fiRmV8vthjTXxPO +bo/igDGNknE6wQwD8laQrHKrhgIMs4F5AfWvqPwBufqTIg6qTyuygnAv4WjCEW9y +PMCTL4B1VD8jKqMCAwEAAaMwMC4wCQYDVR0TBAIwADAhBgNVHREEGjAYggsqLmxv +Y2FsaG9zdIIJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4ICAQAnXrhBTubKQpVB +MVoHDZBH/5lEJBT8fNqgIRxS8HENvl3ninxCP9vIeUkonyFNObZC8TK0xQgjXqDP +BubfnuTaPlqeMIF8YxaQMWlBkObleLpg2w7xC64l59vmwcRS59VEs+nrAwL1dwC3 +/fn9NZg/XOgmvsIwLuRggMcXr53ngU3m8oNXhylZxx1Ok5zZQb5sOBJRlcqrtByq +RQ9Qb3hwkuVez/MTEsBb4FIxsoxtq6bSLRbdSI/o/uj1Y0B4+ozWaUq0FGPgJAZE +UhSwz2wSTO9oiQ4EtvFJd3B+4SdU7lnAOHhpL8yMdcntmTm55knBctCBFKKMcdng +wRRr9Sy7ajPcbO41WUb3kzGRN+gOial3ntfbNDO+Gz92IK1bguML4yih//Ja9pko +OxUazphqLziF0N+TiMWQo5RZilNqM11jcWlw0R69krgaBArAixjt9h2Nsw7qOCPf +Gb5FUHdFmM+Ov7MChrW5JOpZkSlpLee5/0nzOi/DnLvomI7M8rmIz2XZz67ZyIBr +wyo384wcq2bzZojT8EGIUPcNTTAjt75yHpOsIafrrOOJdIwcyRF983Pjadxpnw98 +REZ2hWj79mqsjECI+Rq0LJVvUEEhg0H4YU5H3ELPjXbGadhHQJbHroYQHfg2lh4H +zFSu3F5cS4nd7ko35tZZFDWcXKTubQ== +-----END CERTIFICATE----- diff --git a/test/certs/gen/csr/ca-intermediate.csr b/test/certs/gen/csr/ca-intermediate.csr new file mode 100644 index 0000000..381997e --- /dev/null +++ b/test/certs/gen/csr/ca-intermediate.csr @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIExDCCAqwCAQAwfzELMAkGA1UEBhMCQ1oxGjAYBgNVBAgMEUppaG9tb3JhdnNr +eSBrcmFqMQ0wCwYDVQQHDARCcm5vMRAwDgYDVQQKDAdFeGFtcGxlMTMwMQYDVQQD +DCpFeGFtcGxlIEludGVybWVkaWF0ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAgE8gpyPGe9RxJkTmZaz6FnW +4AYPDVUe8bA1JqZWyvjPBOsY0Tsp1BjycBBbGaXIEjUMFt1vLc6026wNlf9+yWC8 +g1u0zqvwSB0HBlu/cBAo05b7xfinf+P77Mi8sAOzQzL8U2V940jWdqe9ctsJohIw +ObZL16CCdyHH0sRYAe8vJhXbbuq7fWexcF3Qa4JSwk2g2w0vzjocxcoxu7mVQPfS +ZJAGsMtvtUiN+QG/ipcU7cUFxMB6GSLdvN51QvOK4OiNHH5Q8PMCjHv/XEJIqXzN +dmHuwwziFQ5QnkqJcpKyJ5HHDTDAtBKk223H7SH8iM4euQ3bkWhWGIafnPqzl5ym +AkYgYIme/1EUVlp4kTCBmpXGtHDZhJ1dkYmEISMi43VCDf6gMt6TwFPTN0zhk04c +ZsWR0wKjNF79yY7HCUSf+0reSU8eBKPWicQG8UgEKLaXEGNzv+EVhf3H6zewJvtF +fetg4MXGgSvoppbxN7Ws18fiAWEDdztY3tjrS4YN91W41D8OeWTAcO1ipnS0BVnh +3BSi767Rc8b7RIJy2qYISfTrr6jP4qCTTpkZplQMyyyWjLBKnUxcI1UgYsohANi4 +RnD/Mld5rX+EltrtqHils1i1Vz/Ngo+vvYJn0+DXFPPstWTm6m2rxSnh9q8pbCqp +Y+JlO4FqDD3dubeOewIDAQABoAAwDQYJKoZIhvcNAQELBQADggIBADjN+vLEv4Hk +5LZKAsnUkXTJmsMee9b48t+vJIuF3PSyWD1VR0wR2F2TfN5weLWDgH5r5ntERvhf +D6Yco79+Hvaf/jdKftRJsFVIbUdDddAyKecCa80d65wvNt82jCHAxrO99XSSl1IQ +69Gv44f6rhMqGIp1LmrwUoOtcS2ZKSPdimrqz/vZ2j5Chl/XWnr+E9Mq8g/ogSfH +zjnxyDjt+kXrd+SFuAqJTeq9ZbPEsVStNIwqTEa6XImnQPfb2T2AHAbzuqveXQoX +GLWrGtQS+64w/x94aRfLZrdXImZcRk6Pjp9yLm5xc6hI3uhBVsHaws9lu2WPVdNn +FGZUkKhgNDGa5eCVkBUeJfaPl0OSE70E6l7GPITbca9GpoNIpuM+tBjqDFBHeHiw +7/ky8wtrR54EcTr62qAu+DNPyLirGavscwQyBknS4KTMd73WLbQxnpMoPDn+sXvD +JkjQO+2cb3k58fC01pLxm026GizOHceftyZc8IoNIiAy5i1zada4ky4G8cs9ErIG +styn1hYqQJeQjbkzWkb/DIb2TL8L4L3zjUp7gZP580+0UfWLRy0FLYZTlGM2HA9B +FVBAKEgrbVfybjY8Z6Di2wENb81CFUsEOGLooVPpU6RdxU0/rIucFuUgCh9HIl7L +YQgKwgWiEGIHN+dy7Qr6iABYTHaLwQ9S +-----END CERTIFICATE REQUEST----- diff --git a/test/certs/gen/csr/client.csr b/test/certs/gen/csr/client.csr new file mode 100644 index 0000000..ec5b9b3 --- /dev/null +++ b/test/certs/gen/csr/client.csr @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIC8DCCAdgCAQAwbzELMAkGA1UEBhMCQ1oxGjAYBgNVBAgMEUppaG9tb3JhdnNr +eSBrcmFqMQ0wCwYDVQQHDARCcm5vMRAwDgYDVQQKDAdFeGFtcGxlMSMwIQYDVQQD +DBpFeGFtcGxlIENsaWVudCBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAN+qMCx3vV+rW0oYXME32FlVSje+a0NlJb69h3egsyR+AN4e +LDgYaccCLPrHtGwYz/gNSpDPtPmyp+RCUiQxr6/ybvZjw3Z5m2nIu2xyXnp2B7HK +/taqNFMauksJ1kDsz5YTePXu8g4H3YAQjbUfq4wuuX+cztIddoTdVZhp5IpWRNHa +xuND+W27Sb0YoOaO9g3TSuTzYkLWT4Rnr7gOXwW1zsvFMHYamKguw4tfPzNljINS +pg/ZkD5xraXx3a79pC6d6LlrVQbYz8+mkarCsRnRC2bEg8/i/1Gz8fcgxixjYqWI +xaPri5UK2DcrNjmSgf5A21sxqZmapJF+Z4d9tokCAwEAAaA8MDoGCSqGSIb3DQEJ +DjEtMCswCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCB4AwCwYDVR0PBAQDAgXg +MA0GCSqGSIb3DQEBCwUAA4IBAQBhR7Ns8swNHaSQic8/idDNq8t0lxMCjoBe8lMs +3McVgCcAP/xYRNFGqimZIieERhvBkIkZnAmbiQ/EB2qVgZBiFGYh6Ko0mvBhCnpi +rTA3V2psnzousmXpQ5vQGU9UbcOJ3TDn34q6lpwRMLW1uOZ7qaxSuqKbHKl4UQxv +ldZKL+3uqiZLFkbxQv6FTOsPnE5ifJ2shSgvDw7X7U1OC1peBTrEs8b7IVJQ28lI +GEd7VYref6ajQrIOSaiepwg+Gmar7PjH7MJC4IkLtWLwOJgIk0X1OtyQGTBGVPQs +jk12AHCgaQ0e6mbzUhsxvFyMFvmLYvFwfJqq8/hV2MKkgAXB +-----END CERTIFICATE REQUEST----- diff --git a/test/certs/gen/csr/server-rsa2048.csr b/test/certs/gen/csr/server-rsa2048.csr new file mode 100644 index 0000000..b60522f --- /dev/null +++ b/test/certs/gen/csr/server-rsa2048.csr @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIC5DCCAcwCAQAwYDELMAkGA1UEBhMCQ1oxGjAYBgNVBAgMEUppaG9tb3JhdnNr +eSBrcmFqMQ0wCwYDVQQHDARCcm5vMRAwDgYDVQQKDAdFeGFtcGxlMRQwEgYDVQQD +DAsqLmxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMTd +R2GQbYg/vFNoOTwHJ16gjHeLBtm1w2cTTTGl8htmkEMxO6lm3J9MTarh4AC/PTRM +v1s1U/4QFIaSXhWquDg2Iq+ME8pX21wa52j+XW1t6qbfQgFYVFpSXMlDJqgIjRdA +dgQSvYeuCMS5Unr0YYO6UgjOw4T242jFLv18SezndmHiSMUv0LN+suI4hIjuH/zn +TB+94C3GSeygEb+pPjEnzD2IjUfFl5eHnuOqPuhP++68TI9PDJ1X4fiRmV8vthjT +XxPObo/igDGNknE6wQwD8laQrHKrhgIMs4F5AfWvqPwBufqTIg6qTyuygnAv4WjC +EW9yPMCTL4B1VD8jKqMCAwEAAaA/MD0GCSqGSIb3DQEJDjEwMC4wCQYDVR0TBAIw +ADAhBgNVHREEGjAYggsqLmxvY2FsaG9zdIIJbG9jYWxob3N0MA0GCSqGSIb3DQEB +CwUAA4IBAQBWT90BYIspvJhEJw8YpLHRfAZS3TVzZCe+dQtkUAobbKdBYKpTqGDA +RW+dmAewdNt3J/WYbmGJQKRwPbxPltAVYlHE4yxyLrX4EkgPEcDE+ZODzIpyPf2A +am0B2fexzH+NBHuGMBsqS9wobnz4weD4wLQNLJ4jTbAqATUmcBFMRZ18MCiyolAW +FdJNzmoEFexU9mZUoX0UUkqdoLcoh0MQAG95OTMhtdm7Cueo188WHYCawsAINcXc +NUIdanwkaY0jd1Se+zPtuhnNtZt6bx3dQKITHJYn/mkdnHWCYAWf6xcNp4RlfqV4 +fS45bO7nTCDFMHyissQecQNGA9IrJClU +-----END CERTIFICATE REQUEST----- diff --git a/test/certs/gen/key/ca-intermediate.key b/test/certs/gen/key/ca-intermediate.key new file mode 100644 index 0000000..fbb677d --- /dev/null +++ b/test/certs/gen/key/ca-intermediate.key @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +NE4t2QKCAQEAwVWx13QeNF7pzPXfL6OyZuMA1hktVP/Qr+42aJpaRVqSauXIf2XX +oUlr/iDXo/mqVWLtGDYpyJ9qOp2DOU9y5uLIZ7X+gvttuMVegbjrE+G4tnj9LKl+ +Lv3PapvL9fvD+B8kfSioa5LQB27Mc3dP0jgYcZsGttlLs6KpU0wAS/eDBT5U01Yg +qOUBwJfXRWg35af2JangM/PuFb36mP7aw2qiORtwt348SNQIK0XytdfqU1LoH3oC +e+kEwGi3kLVB+bQsEsr+CU32vmiAnX+ex/JyEdddJYo69MVnjj6dokVNtnZCZJ7+ +ynkY4LoWZppN5fHZnrUNZo/wyMjObUKG0wKCAQEAvKd7mf051pDTsemUwqoR7m8a +os4KyWRn2ACoNOIqw6g84gc1tAIKFiUJ/9hEXB1M6xJTJ2/j3guIL+wDUJ4erl/R +eYPoCVaIQQktp0sIgideMONnpR6dOBZV45HelctXm7w2NnW25CrfNulxn0/5MACb +RxY54M4/HUHDxnZ3LQPlOiPEtgwVU0XNNizBvGBjRjSwdmHJ1v3Sjc2jO9QktuNV +FZwdJYNMXwPaD1tZdKzFmlh0ntB+Fe6vPByklqDw4yP/kodFk+sX3n9Cgv6HJAaH +Uwnm4C6LJrzANT1UWNLfhrkqe0O4qQ+NhPqSpKR/QAwvXcQlD0JPmnhrZNHLSw== +-----END RSA PRIVATE KEY----- diff --git a/test/certs/gen/key/ca-root.key b/test/certs/gen/key/ca-root.key new file mode 100644 index 0000000..508e203 --- /dev/null +++ b/test/certs/gen/key/ca-root.key @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/test/certs/gen/key/client-ca-root.key b/test/certs/gen/key/client-ca-root.key new file mode 100644 index 0000000..d358fa8 --- /dev/null +++ b/test/certs/gen/key/client-ca-root.key @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/test/certs/gen/key/client.key b/test/certs/gen/key/client.key new file mode 100644 index 0000000..4d3d151 --- /dev/null +++ b/test/certs/gen/key/client.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA36owLHe9X6tbShhcwTfYWVVKN75rQ2Ulvr2Hd6CzJH4A3h4s +OBhpxwIs+se0bBjP+A1KkM+0+bKn5EJSJDGvr/Ju9mPDdnmbaci7bHJeenYHscr+ +1qo0Uxq6SwnWQOzPlhN49e7yDgfdgBCNtR+rjC65f5zO0h12hN1VmGnkilZE0drG +40P5bbtJvRig5o72DdNK5PNiQtZPhGevuA5fBbXOy8UwdhqYqC7Di18/M2WMg1Km +D9mQPnGtpfHdrv2kLp3ouWtVBtjPz6aRqsKxGdELZsSDz+L/UbPx9yDGLGNipYjF +o+uLlQrYNys2OZKB/kDbWzGpmZqkkX5nh322iQIDAQABAoIBAQCjHIg5RbGTfXH7 +3Tx3pHRg4bRYZsPuyGr4aVvLwCQk7sdPNQ3mctdhTJLk6JMJaibwrTC93twKZWHP +MxaYUqvfUpvdj+/SDOlsAfm9IsMH59/Ap1ulzUaPfKRzaN8ZRho1RkomgHWCCfZd +GLVfa5M9ji21hPPHg7kVOBzeJAuJXfbSkwGbXOSCOOnTEi1MB7GbYgxDv/T94491 +hs/XPuPhNP0g/P8XZ0g+FFUZPGtTllMkDxACILhXXPoBJXBClBjnLYqJy8BARGRD +OetK1DWEzsshUHkiUTq1VHIzjREcG2Cnm0Y7WgEfdg3gVjqIsW4SHXItFAb+XoXk +wrj/CC0hAoGBAP/bHraLpY0dvFWyPtqsvWFQSL9acOUmlbjBpKh5C6I6CbwwqFp7 +n43LTilMzNocxJMqy4WZq6XE4pswi31AMLTiNRmOgJyZ0L6v2xVxjn/5c51sVA2a +wsHaG+rEcyYOhllnGpsdOZu5sYiHquK7+a3FP5Q2cJ5bcGJ4/UUiTrstAoGBAN/K +bZUBcZSme28WfszzyOqbbxnnBd1VBr5/tb9+F/FGu/1n3NlMFmjm28PKVOE/dOB6 +zqTfzVbEu67UkvHIJxsYe5yIVF5Eqa+IuWZHqyolpQXD3wkFIaCT2P35ccq0Ljvd +1bcjDjaNazc0f4dbNahxSrNnGKxF7HHgwKaiJ1JNAoGBAIvTTG2m08rTPWH4D7Gi +Rb0xCxDIdHpHI/vcmAgaXulBnqBiVx9cAE6VlRmtBycMIcHr2V4iJVRqzQzS8uh4 +dCXmme5lmpP628HaiXimnqIBydV2pljpAxa+BBPBWMyrk3C4kCnFRv579TIQMqvG +3yTAb4aoWdOxVTH7vS5TGYPhAoGARgoVt7/G624bTY4tyzk1FW/mGqY6KKY2wSI5 +IKB3H9UyesGp1fxBOz2dZC6L2B9DFgp5aBJ/MnvJ/ZKcFr28t3c3IKtuND6rGLvi +wocFo+A6QI6n3CvV9WqwS/Roz7cKjUQFYha/mQUznAh7LUK3jWs/pNxMVYZg1Ncx +lDVFtzUCgYEA1i0GhY4p57W8gALPvEDUz8bykvwO4uw0nw1RhC9kfl+Qlomw7Zlx +pNaOgwwc2eNIzNTo+6qb5ADozL1N/8JWiofVMFW6dy23kQ+/D7Je+5TYlo+impo8 +GisD06Mcxy/NcfMwfri4rouwNTnSbI3O1RgkJ8rVrIENLr2qPKxuObc= +-----END RSA PRIVATE KEY----- diff --git a/test/certs/gen/key/server-rsa2048.key b/test/certs/gen/key/server-rsa2048.key new file mode 100644 index 0000000..d877977 --- /dev/null +++ b/test/certs/gen/key/server-rsa2048.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAxN1HYZBtiD+8U2g5PAcnXqCMd4sG2bXDZxNNMaXyG2aQQzE7 +qWbcn0xNquHgAL89NEy/WzVT/hAUhpJeFaq4ODYir4wTylfbXBrnaP5dbW3qpt9C +AVhUWlJcyUMmqAiNF0B2BBK9h64IxLlSevRhg7pSCM7DhPbjaMUu/XxJ7Od2YeJI +xS/Qs36y4jiEiO4f/OdMH73gLcZJ7KARv6k+MSfMPYiNR8WXl4ee46o+6E/77rxM +j08MnVfh+JGZXy+2GNNfE85uj+KAMY2ScTrBDAPyVpCscquGAgyzgXkB9a+o/AG5 ++pMiDqpPK7KCcC/haMIRb3I8wJMvgHVUPyMqowIDAQABAoIBADRwQOBTKWn+mDqb +a4t62FjTaTc6mDOLwCYHtStBadE0q77KMXs5RBFGsPWQvytTxYjV3K798IafX+hM +urUIyZNnkCu0o1zltC+/lt6XyukoOzYCCEH1dlqsz7xon7ZouLR13jnNiCDJEdrd +BoRr7kG5crqX4OrdHMw+ofqxjbuFoGZv3nd45ANs9HFYednnPw4WJdjgL8iOAK98 +zLemnJ8ODmk2uv3/5Rclx+mgfpB5/TBVhyG/PifMwHUkqafPXj1F6yR7OEDb1SId +yg2sgrh+7gvuBSWPhWOJN4RfZhgXI7Pb4/FOl4579lmROHRIo8a9dBQhM6nVLOyM +SW086RkCgYEA7tBSzFmXUbVohWQZqncydZWIrE7rdYZJBRXzJrX1mR1CGEg8u+i0 +aKUsd4dwdS74VKroRcoKKDakNY5Xb3WsI+ZhYd2K9s1c3sEwYsQu+SR7OfA+Ds0P +CO5s1GbWuOGt/65tkS3zNkTnnL8QviCKBEERaM7gq5GAc1EEaQLam8cCgYEA0wge +r/JbsIKgM/DQRqe04GTb56wDZsHcA21gYWssK1KI1wCsf6KC5DNZ+s2fA9NZawSc +/34vLOM/7AgTQvAN1Age87fVrYTmasjhdV66kAC7pHy6sHt/2W754c7vvK/MwSXQ +dpAU1EtYErRRnBupFtcLyYaqtI3tG/qDcM7DYkUCgYBPKFg5ifzBRas2g76KJWZh +WUZrLuGXHAK6H9Nv4mJc9TjCSbdv5atfAFjj6c3Z2c7QabIB5/1D5RC6+8p5lHyR +jbx7ru5v7hQ5dbmvEy4qwO/jfYFkcI3qPPVv1gKYV53QISYKODvkoiRPbXmEO87j +qBm4LtKDq//yuUkH8b06YwKBgQCRiuUXNdA0wTJaADi0sg9WP1lGw2SpJwRlPLcf +GPoies6zcdyGPn+FgUEKb2u/CLF/1HOu5ckFbUl1sPAP113CIUOvlNcC0EjV1utf +tlB25nqDbB6ZfuNjA13FdaH0AU722uyWCLLE452/cKtkPdN1VCTl/UGYOtYP2Mt0 +LrWj/QKBgDSP3zHa6uB9GvsbG3UTk2YptyDpNXsBAGK7HZHkg4rIE5PsTpHjKVAt +Iq6SxuRUOP/8rEDnwfldCBo0HhKbA3mM2J1t8ItKLzX03G79A+wZEybb1pwgmgWr +3SvNHDc/2cvnNjxWyOG1nvKHznHHc9+iaagt5Ftj6rFzHWVaQWcF +-----END RSA PRIVATE KEY----- diff --git a/test/certs/tool b/test/certs/tool new file mode 100755 index 0000000..e10ba4d --- /dev/null +++ b/test/certs/tool @@ -0,0 +1,101 @@ +#!/usr/bin/env bash +set -eu + +COMMAND=$1 +shift +OUT=$1 +shift +DOMAIN=$1 +shift + +mkdir -p $(dirname $OUT) +PREGEN_OUT=$(echo "$OUT" | sed "s#/gen/#/pregen/#") +if [ -e $PREGEN_OUT ] +then + cp $PREGEN_OUT $OUT + exit 0 +fi + +case "$COMMAND" in +chain) + cat $@ > $OUT + ;; +dhparam) + openssl dhparam \ + -out $OUT \ + $1 + ;; +gen-csr) + openssl req -new \ + -out $OUT \ + -config <(cat $1 | sed "s/__DOMAIN__/$DOMAIN/g") \ + -key $2 + ;; +gen-csr-no-subject) + openssl req -new \ + -subj / \ + -out $OUT \ + -config <(cat $1 | sed "s/__DOMAIN__/$DOMAIN/g") \ + -key $2 + ;; +gen-ca) + openssl req -new -x509 -days 7300 \ + -out $OUT \ + -config $1 \ + -key $2 + ;; +gen-key) + openssl genrsa \ + -out $OUT \ + $1 + ;; +gen-ecckey) + openssl ecparam \ + -out $OUT \ + -name $1 \ + -genkey + ;; +gen-pkcs12-p12) + openssl pkcs12 \ + -out $OUT \ + -export \ + -clcerts \ + -passout "pass:$DOMAIN" \ + -in $1 \ + -inkey $2 + ;; +pkcs12-convert-p12-pem) + openssl pkcs12 \ + -out $OUT \ + -clcerts \ + -passin "pass:$DOMAIN" \ + -passout "pass:$DOMAIN" \ + -in $1 + ;; +self-sign) + openssl x509 -req -CAcreateserial \ + -out $OUT \ + -days $1 \ + -$2 \ + -extensions $3 \ + -extfile <(cat $4 | sed "s/__DOMAIN__/$DOMAIN/g") \ + -in $5 \ + -signkey $6 + ;; +sign) + openssl x509 \ + -req \ + -CAcreateserial \ + -days $1 \ + -$2 \ + -out $OUT \ + -extensions $3 \ + -extfile <(cat $4 | sed "s/__DOMAIN__/$DOMAIN/g") \ + -in $5 \ + -CAkey $6 \ + -CA $7 + ;; +*) + echo "Unknown command." + exit 1 +esac From 1f2b599a135aa00080bc232b1a99fca425e391ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20Guimar=C3=A3es=20de=20Medeiros?= Date: Wed, 22 Jan 2020 16:43:17 +0100 Subject: [PATCH 3/6] Add TLS tests TLS tests requires a TLS enabled memcached server. In order to get one, you must compile memcached with `--enable-tls`. --- test/conftest.py | 47 +++++++++++++++++++++++++++++++------ test/test_server_parsing.py | 4 ++-- test/test_tls.py | 20 ++++++++++++++++ 3 files changed, 62 insertions(+), 9 deletions(-) create mode 100644 test/test_tls.py diff --git a/test/conftest.py b/test/conftest.py index 8bb76cc..6723570 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -5,30 +5,63 @@ import pytest -os.environ.setdefault('MEMCACHED_HOST', '127.0.0.1') +os.environ.setdefault("MEMCACHED_HOST", "localhost") -@pytest.yield_fixture(scope='session', autouse=True) +@pytest.yield_fixture(scope="session", autouse=True) def memcached_standard_port(): - p = subprocess.Popen(['memcached'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + p = subprocess.Popen( + ["memcached"], stdout=subprocess.PIPE, stderr=subprocess.PIPE + ) time.sleep(0.1) yield p p.kill() p.wait() -@pytest.yield_fixture(scope='session', autouse=True) +@pytest.yield_fixture(scope="session", autouse=True) def memcached_other_port(): - p = subprocess.Popen(['memcached', '-p5000'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + p = subprocess.Popen( + ["memcached", "-p5000"], stdout=subprocess.PIPE, stderr=subprocess.PIPE + ) time.sleep(0.1) yield p p.kill() p.wait() -@pytest.yield_fixture(scope='session', autouse=True) +@pytest.yield_fixture(scope="session", autouse=True) +def memcached_tls(): + p = subprocess.Popen( + [ + "memcached", + "-p5001", + "-Z", + "-o", + "ssl_chain_cert=test/certs/gen/chain/server-rsa2048.pem", + "-o", + "ssl_key=test/certs/gen/key/server-rsa2048.key", + "-o", + "ssl_ca_cert=test/certs/gen/crt/client-ca-root.crt", + "-o", + "ssl_verify_mode=1", + ], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + time.sleep(0.1) + yield p + p.kill() + p.wait() + + +@pytest.yield_fixture(scope="session", autouse=True) def memcached_socket(): - p = subprocess.Popen(['memcached', '-s/tmp/memcached.sock'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + p = subprocess.Popen( + ["memcached", "-s/tmp/memcached.sock"], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) time.sleep(0.1) yield p p.kill() diff --git a/test/test_server_parsing.py b/test/test_server_parsing.py index b7fb158..a384395 100644 --- a/test/test_server_parsing.py +++ b/test/test_server_parsing.py @@ -27,12 +27,12 @@ def testNoPortGiven(self): self.assertEqual(server.port, 11211) def testInvalidPort(self): - server = bmemcached.protocol.Protocol('127.0.0.1:blah') + server = bmemcached.protocol.Protocol('{}:blah'.format(os.environ['MEMCACHED_HOST'])) self.assertEqual(server.host, os.environ['MEMCACHED_HOST']) self.assertEqual(server.port, 11211) def testNonStandardPort(self): - server = bmemcached.protocol.Protocol('127.0.0.1:5000') + server = bmemcached.protocol.Protocol('{}:5000'.format(os.environ['MEMCACHED_HOST'])) self.assertEqual(server.host, os.environ['MEMCACHED_HOST']) self.assertEqual(server.port, 5000) diff --git a/test/test_tls.py b/test/test_tls.py new file mode 100644 index 0000000..0b93fe4 --- /dev/null +++ b/test/test_tls.py @@ -0,0 +1,20 @@ +import os +import ssl + +import bmemcached +import test_simple_functions + + +class TLSMemcachedTests(test_simple_functions.MemcachedTests): + """ + Same tests as above, just make sure it works with TLS. + """ + + def setUp(self): + ctx = ssl.create_default_context( + cafile="test/certs/gen/crt/ca-root.crt" + ) + + self.server = "{}:5001".format(os.environ["MEMCACHED_HOST"]) + self.client = bmemcached.Client(self.server, tls_context=ctx) + self.reset() From 47372d4af3d69eb49e48f2040efbcba1adf7934f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20Guimar=C3=A3es=20de=20Medeiros?= Date: Thu, 23 Jan 2020 15:11:29 +0100 Subject: [PATCH 4/6] Skip TLS tests when TLS memcached is not available You can get a TLS enabled memcached by compiling it with --enable-tls. --- test/conftest.py | 25 ------------------------- test/test_tls.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/test/conftest.py b/test/conftest.py index 6723570..b4cb3b8 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -30,31 +30,6 @@ def memcached_other_port(): p.wait() -@pytest.yield_fixture(scope="session", autouse=True) -def memcached_tls(): - p = subprocess.Popen( - [ - "memcached", - "-p5001", - "-Z", - "-o", - "ssl_chain_cert=test/certs/gen/chain/server-rsa2048.pem", - "-o", - "ssl_key=test/certs/gen/key/server-rsa2048.key", - "-o", - "ssl_ca_cert=test/certs/gen/crt/client-ca-root.crt", - "-o", - "ssl_verify_mode=1", - ], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - ) - time.sleep(0.1) - yield p - p.kill() - p.wait() - - @pytest.yield_fixture(scope="session", autouse=True) def memcached_socket(): p = subprocess.Popen( diff --git a/test/test_tls.py b/test/test_tls.py index 0b93fe4..8d16bf6 100644 --- a/test/test_tls.py +++ b/test/test_tls.py @@ -1,10 +1,42 @@ import os +import pytest +import subprocess import ssl +import time import bmemcached import test_simple_functions +@pytest.yield_fixture(scope="module", autouse=True) +def memcached_tls(): + p = subprocess.Popen( + [ + "memcached", + "-p5001", + "-Z", + "-o", + "ssl_chain_cert=test/certs/gen/chain/server-rsa2048.pem", + "-o", + "ssl_key=test/certs/gen/key/server-rsa2048.key", + "-o", + "ssl_ca_cert=test/certs/gen/crt/client-ca-root.crt", + "-o", + "ssl_verify_mode=1", + ], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + time.sleep(0.1) + + if p.poll() is not None: + pytest.skip("Memcached server is not built with TLS support.") + + yield p + p.kill() + p.wait() + + class TLSMemcachedTests(test_simple_functions.MemcachedTests): """ Same tests as above, just make sure it works with TLS. From c45d689631601b654f976a54376948e37a8c01fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20Guimar=C3=A3es=20de=20Medeiros?= Date: Thu, 23 Jan 2020 16:55:11 +0100 Subject: [PATCH 5/6] Uses trustme instead of hardcoded certificates. Closes: #225 --- requirements_test.txt | 1 + test/certs/Makefile | 74 ----------------- test/certs/README.md | 14 ---- test/certs/conf/ca-intermediate.conf | 20 ----- test/certs/conf/ca-root.conf | 20 ----- test/certs/conf/client-ca-root.conf | 20 ----- test/certs/conf/client.conf | 18 ----- test/certs/conf/server.conf | 21 ----- test/certs/gen/chain/client.pem | 64 --------------- test/certs/gen/chain/server-rsa2048.pem | 64 --------------- test/certs/gen/crt/ca-intermediate.crt | 37 --------- test/certs/gen/crt/ca-intermediate.srl | 1 - test/certs/gen/crt/ca-root.crt | 36 --------- test/certs/gen/crt/ca-root.srl | 1 - test/certs/gen/crt/client-ca-root.crt | 37 --------- test/certs/gen/crt/client-ca-root.srl | 1 - test/certs/gen/crt/client.crt | 27 ------- test/certs/gen/crt/client.p12 | Bin 2789 -> 0 bytes test/certs/gen/crt/server-rsa2048.crt | 27 ------- test/certs/gen/csr/ca-intermediate.csr | 28 ------- test/certs/gen/csr/client.csr | 18 ----- test/certs/gen/csr/server-rsa2048.csr | 18 ----- test/certs/gen/key/ca-intermediate.key | 51 ------------ test/certs/gen/key/ca-root.key | 51 ------------ test/certs/gen/key/client-ca-root.key | 51 ------------ test/certs/gen/key/client.key | 27 ------- test/certs/gen/key/server-rsa2048.key | 27 ------- test/certs/tool | 101 ------------------------ test/test_tls.py | 63 ++++++++------- 29 files changed, 36 insertions(+), 882 deletions(-) delete mode 100644 test/certs/Makefile delete mode 100644 test/certs/README.md delete mode 100644 test/certs/conf/ca-intermediate.conf delete mode 100644 test/certs/conf/ca-root.conf delete mode 100644 test/certs/conf/client-ca-root.conf delete mode 100644 test/certs/conf/client.conf delete mode 100644 test/certs/conf/server.conf delete mode 100644 test/certs/gen/chain/client.pem delete mode 100644 test/certs/gen/chain/server-rsa2048.pem delete mode 100644 test/certs/gen/crt/ca-intermediate.crt delete mode 100644 test/certs/gen/crt/ca-intermediate.srl delete mode 100644 test/certs/gen/crt/ca-root.crt delete mode 100644 test/certs/gen/crt/ca-root.srl delete mode 100644 test/certs/gen/crt/client-ca-root.crt delete mode 100644 test/certs/gen/crt/client-ca-root.srl delete mode 100644 test/certs/gen/crt/client.crt delete mode 100644 test/certs/gen/crt/client.p12 delete mode 100644 test/certs/gen/crt/server-rsa2048.crt delete mode 100644 test/certs/gen/csr/ca-intermediate.csr delete mode 100644 test/certs/gen/csr/client.csr delete mode 100644 test/certs/gen/csr/server-rsa2048.csr delete mode 100644 test/certs/gen/key/ca-intermediate.key delete mode 100644 test/certs/gen/key/ca-root.key delete mode 100644 test/certs/gen/key/client-ca-root.key delete mode 100644 test/certs/gen/key/client.key delete mode 100644 test/certs/gen/key/server-rsa2048.key delete mode 100755 test/certs/tool diff --git a/requirements_test.txt b/requirements_test.txt index eae07ad..1e58316 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -3,3 +3,4 @@ pytest-cov==2.7.1 mock==2.0.0 flake8==3.7.7 bumpversion==0.5.3 +trustme==0.6.0 diff --git a/test/certs/Makefile b/test/certs/Makefile deleted file mode 100644 index 9a259b4..0000000 --- a/test/certs/Makefile +++ /dev/null @@ -1,74 +0,0 @@ -# chain :: pem <= []crt -# dhparam :: pem <= int (#bits) -# gen-ca :: crt <= conf, key -# gen-csr :: csr <= conf, key -# gen-key :: key <= int (#bits) -# gen-ecckey :: key <= string (ECC Prime) -# self-sign :: crt <= days, hash, extensions, conf, csr, key (self) -# sign :: crt <= days, hash, extensions, conf, csr, key (CA), crt (CA) - -# Note: Files and paths must not contain spaces. - -DOMAIN = localhost -DEFAULT_CERT_TYPE = rsa2048 -DEFAULT_DAYS = 730 -DEFAULT_HASH = sha256 - -DEFAULT_CA_SIGN = 3650 $(DEFAULT_HASH) req_v3_ca -DEFAULT_server_SIGN = $(DEFAULT_DAYS) $(DEFAULT_HASH) req_v3_usr - -.PHONY: all -all: chains - -.PHONY: clean -clean: - rm -rf gen - -# root CA ############################# -gen/key/ca-root.key: - ./tool gen-key $@ $(DOMAIN) 4096 -gen/crt/ca-root.crt: conf/ca-root.conf gen/key/ca-root.key - ./tool gen-ca $@ $(DOMAIN) $^ - -# intermediate CA ##################### -gen/key/ca-intermediate.key: - ./tool gen-key $@ $(DOMAIN) 4096 -gen/csr/ca-intermediate.csr: conf/ca-intermediate.conf gen/key/ca-intermediate.key - ./tool gen-csr $@ $(DOMAIN) $^ -gen/crt/ca-intermediate.crt: conf/ca-intermediate.conf gen/csr/ca-intermediate.csr gen/key/ca-root.key gen/crt/ca-root.crt - ./tool sign $@ $(DOMAIN) $(DEFAULT_CA_SIGN) $^ - -# server cert ######################### -gen/key/server-rsa2048.key: - ./tool gen-key $@ $(DOMAIN) 2048 -gen/csr/server-rsa2048.csr: conf/server.conf gen/key/server-rsa2048.key - ./tool gen-csr $@ $(DOMAIN) $^ -gen/crt/server-rsa2048.crt: conf/server.conf gen/csr/server-rsa2048.csr gen/key/ca-intermediate.key gen/crt/ca-intermediate.crt - ./tool sign $@ $(DOMAIN) $(DEFAULT_server_SIGN) $^ -gen/chain/server-rsa2048.pem: gen/crt/server-rsa2048.crt gen/crt/ca-intermediate.crt - ./tool chain $@ $(DOMAIN) $^ -CHAINS += gen/chain/server-rsa2048.pem - -# client root CA ###################### -gen/key/client-ca-root.key: - ./tool gen-key $@ $(DOMAIN) 4096 -gen/crt/client-ca-root.crt: conf/client-ca-root.conf gen/key/client-ca-root.key - ./tool gen-ca $@ $(DOMAIN) $^ - -# client cert ######################### -gen/key/client.key: - ./tool gen-key $@ $(DOMAIN) 2048 -gen/csr/client.csr: conf/client.conf gen/key/client.key - ./tool gen-csr $@ $(DOMAIN) $^ -gen/crt/client.crt: conf/client.conf gen/csr/client.csr gen/key/client-ca-root.key gen/crt/client-ca-root.crt - ./tool sign $@ $(DOMAIN) $(DEFAULT_server_SIGN) $^ -gen/crt/client.p12: gen/crt/client.crt gen/key/client.key - ./tool gen-pkcs12-p12 $@ $(DOMAIN) $^ -gen/chain/client.pem: gen/crt/client.p12 - ./tool pkcs12-convert-p12-pem $@ $(DOMAIN) $^ -CHAINS += gen/chain/client.pem - -####################################### - -.PHONY: chains -chains: $(CHAINS) diff --git a/test/certs/README.md b/test/certs/README.md deleted file mode 100644 index 2066dc7..0000000 --- a/test/certs/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# TLS certificates for Memcached + TLS testing - -Certificate generation is inspired by [badssl.com](https://github.com/chromium/badssl.com) - -The certificates hierarchy is: - - - client-ca-root - - client - - - ca-root - - ca-intermediate - - server-rsa2048 - -Use `make` to regen the certificates. \ No newline at end of file diff --git a/test/certs/conf/ca-intermediate.conf b/test/certs/conf/ca-intermediate.conf deleted file mode 100644 index 089f29e..0000000 --- a/test/certs/conf/ca-intermediate.conf +++ /dev/null @@ -1,20 +0,0 @@ -[ req ] -default_bits = 4096 -default_md = sha256 -distinguished_name = req_distinguished_name -encrypt_key = no -prompt = no -x509_extensions = req_v3_ca - -[ req_distinguished_name ] -countryName = CZ -stateOrProvinceName = Jihomoravsky kraj -localityName = Brno -organizationName = Example -commonName = Example Intermediate Certificate Authority - -[ req_v3_ca ] -subjectKeyIdentifier = hash -authorityKeyIdentifier = keyid:always,issuer:always -basicConstraints = CA:true -keyUsage = cRLSign, keyCertSign diff --git a/test/certs/conf/ca-root.conf b/test/certs/conf/ca-root.conf deleted file mode 100644 index 310c322..0000000 --- a/test/certs/conf/ca-root.conf +++ /dev/null @@ -1,20 +0,0 @@ -[ req ] -default_bits = 4096 -default_md = sha256 -distinguished_name = req_distinguished_name -encrypt_key = no -prompt = no -x509_extensions = req_v3_ca - -[ req_distinguished_name ] -countryName = CZ -stateOrProvinceName = Jihomoravsky kraj -localityName = Brno -organizationName = Example -commonName = Example Root Certificate Authority - -[ req_v3_ca ] -subjectKeyIdentifier = hash -authorityKeyIdentifier = keyid:always,issuer:always -basicConstraints = CA:true -keyUsage = cRLSign, keyCertSign diff --git a/test/certs/conf/client-ca-root.conf b/test/certs/conf/client-ca-root.conf deleted file mode 100644 index 1668b65..0000000 --- a/test/certs/conf/client-ca-root.conf +++ /dev/null @@ -1,20 +0,0 @@ -[ req ] -default_bits = 4096 -default_md = sha256 -distinguished_name = req_distinguished_name -encrypt_key = no -prompt = no -x509_extensions = req_v3_ca - -[ req_distinguished_name ] -countryName = CZ -stateOrProvinceName = Jihomoravsky kraj -localityName = Brno -organizationName = Example -commonName = Example Client Root Certificate Authority - -[ req_v3_ca ] -subjectKeyIdentifier = hash -authorityKeyIdentifier = keyid:always,issuer:always -basicConstraints = CA:true -keyUsage = cRLSign, keyCertSign diff --git a/test/certs/conf/client.conf b/test/certs/conf/client.conf deleted file mode 100644 index 231a167..0000000 --- a/test/certs/conf/client.conf +++ /dev/null @@ -1,18 +0,0 @@ -[ req ] -default_bits = 4096 -distinguished_name = req_distinguished_name -encrypt_key = no -prompt = no -req_extensions = req_v3_usr - -[ req_distinguished_name ] -countryName = CZ -stateOrProvinceName = Jihomoravsky kraj -localityName = Brno -organizationName = Example -commonName = Example Client Certificate - -[ req_v3_usr ] -basicConstraints = CA:FALSE -nsCertType = client -keyUsage = nonRepudiation, digitalSignature, keyEncipherment diff --git a/test/certs/conf/server.conf b/test/certs/conf/server.conf deleted file mode 100644 index 20495d2..0000000 --- a/test/certs/conf/server.conf +++ /dev/null @@ -1,21 +0,0 @@ -[ req ] -default_bits = 2048 -distinguished_name = req_distinguished_name -encrypt_key = no -prompt = no -req_extensions = req_v3_usr - -[ req_distinguished_name ] -countryName = CZ -stateOrProvinceName = Jihomoravsky kraj -localityName = Brno -organizationName = Example -commonName = *.__DOMAIN__ - -[ req_v3_usr ] -basicConstraints = CA:FALSE -subjectAltName = @alt_names - -[ alt_names ] -DNS.1 = *.__DOMAIN__ -DNS.2 = __DOMAIN__ diff --git a/test/certs/gen/chain/client.pem b/test/certs/gen/chain/client.pem deleted file mode 100644 index bd3b8f5..0000000 --- a/test/certs/gen/chain/client.pem +++ /dev/null @@ -1,64 +0,0 @@ -Bag Attributes - localKeyID: 9F 74 DB 17 8B 46 88 A1 21 2B 17 24 E9 C6 98 A6 6E CA 21 63 -subject=/C=CZ/ST=Jihomoravsky kraj/L=Brno/O=Example/CN=Example Client Certificate -issuer=/C=CZ/ST=Jihomoravsky kraj/L=Brno/O=Example/CN=Example Client Root Certificate Authority ------BEGIN CERTIFICATE----- -MIIEnTCCAoWgAwIBAgIJAPfjIQPZC2XDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV -BAYTAkNaMRowGAYDVQQIDBFKaWhvbW9yYXZza3kga3JhajENMAsGA1UEBwwEQnJu -bzEQMA4GA1UECgwHRXhhbXBsZTEyMDAGA1UEAwwpRXhhbXBsZSBDbGllbnQgUm9v -dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMjAwMTIyMTQzOTM2WhcNMjIwMTIx -MTQzOTM2WjBvMQswCQYDVQQGEwJDWjEaMBgGA1UECAwRSmlob21vcmF2c2t5IGty -YWoxDTALBgNVBAcMBEJybm8xEDAOBgNVBAoMB0V4YW1wbGUxIzAhBgNVBAMMGkV4 -YW1wbGUgQ2xpZW50IENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEA36owLHe9X6tbShhcwTfYWVVKN75rQ2Ulvr2Hd6CzJH4A3h4sOBhp -xwIs+se0bBjP+A1KkM+0+bKn5EJSJDGvr/Ju9mPDdnmbaci7bHJeenYHscr+1qo0 -Uxq6SwnWQOzPlhN49e7yDgfdgBCNtR+rjC65f5zO0h12hN1VmGnkilZE0drG40P5 -bbtJvRig5o72DdNK5PNiQtZPhGevuA5fBbXOy8UwdhqYqC7Di18/M2WMg1KmD9mQ -PnGtpfHdrv2kLp3ouWtVBtjPz6aRqsKxGdELZsSDz+L/UbPx9yDGLGNipYjFo+uL -lQrYNys2OZKB/kDbWzGpmZqkkX5nh322iQIDAQABoy0wKzAJBgNVHRMEAjAAMBEG -CWCGSAGG+EIBAQQEAwIHgDALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIB -AIYt6Hh3AquBBZiZUs3yHckhIPhhWrjJT6DkZ1VXjDf7iVgGLegEnxr6rc3vWKYC -2yuPTCV3rFJKuGZ2tkDFL3KbY0Ic2Hc6XyG9Pp/ahmlI5BmjJabFvnIVSXtSpMEp -Gpcvn9T1kxVF75J+LYb+b9MmmU3pSZ2gmgwk7R5S8wW5WE+qaL2fRwR79gJo4wOZ -E/dPTYWQvRUEAWZDDlagvxktJ9IH4KFq0QyIqfSntYZCZqwsbmTvSb7kqOHNGjNH -ur3587e8Upn/UAEer/I3SL2t0X4cxaPb5DeLaN5GR2DqjSz+KVA1EwKfGndouYYl -nVI4oMK7+ZaMrp1ccvB/S3Ba9x7DVfsK/8u1Onv8WAqda7Qh4yy80JOoBm8J0YUM -hTcfjQ/Jln8zR3gdHBAZ7eHni5qkjcj9CK5Mpdpva4jd5cQGHqkvG7pdEoWBvXzf -wCFdnn2YkEec0NIKiObNTycdrACSI+CNNsrw1Dbo4VAXGKRowYt1FXwyFRwjNj7K -ty2baSrOMJeTlkmvkIGIiLbd38wKbnpdn20tJ6s4MCefKiqDe1zj0dzSM8lWzQIt -Q53mJrs0WVjc9X4FxaEs44cHLNf9bnAf0hvSA4ytQFIiqT1wlDnmRl9gQJfaqnlm -ruVRuxzlaRgDWJidLAFZ27Qr1MxcF1YgtxM41DggmKvM ------END CERTIFICATE----- -Bag Attributes - localKeyID: 9F 74 DB 17 8B 46 88 A1 21 2B 17 24 E9 C6 98 A6 6E CA 21 63 -Key Attributes: ------BEGIN ENCRYPTED PRIVATE KEY----- -MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIjsAiYCXa0X0CAggA -MBQGCCqGSIb3DQMHBAgDBSNBhmE6wQSCBMhSjGZEe9IRCI+l/tn+U3exouObsOMS -Z7tvxlPNJ66mzyfPsvLjqIfy8pAKnmwF18cwalhzCGU9LzNm0ELK+yiVE2dGAhmL -xiyah83oZ+UJVm8H99+EGvUUJN7DeJlbM98f8FeRy8fPhIfOr33wogHaYaWiW3cB -K9pxufhB+80lmAuTg6Wd2LzWNnAOJyUxHXpz/ROb6RG8A/JjBLDjp/n5HTyp5Spx -4vC/87bvDQuwgjvmP2hXz8bSoWwlVGyGXrpTh7eHun2bwHOULE22YTaBYH+pSewQ -+SI47dlFUIuDOe5JWH+AMU18J9Ax3EpMyIKWRm7xRRoOrR9uBPjZKDhHcXU4DNhl -K06L0ZTVdtNbJ+pVzfWy8WEMSL0sHOAw7z/TBers6kL2qYYopQmrsx8ibJzfrFV0 -Kc2yTZmBAggnZD9Lcu6SpdxmO+UlK9Kir+VJXMWJtCJ9TEX0945zatfikJkVeFG/ -pEGj+8ZrCOrhaYnEW2eggDyrzD/eDBQkZxXQWsKmgW+wr5Yhq2qoHzStaYFsgxzB -0b+BrqB4V3+Y/CLwX7nee7c+J43/z7SfTb81X98pYxQD/d0WCA74smoaUszRKMuO -UBwkoIWaJXJFkP5Xsv8V3d/PFdJiVEqqN8GYuFjMXr0XfWFIM4xoYf1E1afciUcN -/xm+H5RR2gnJZiBcmlUk1OhxcsX19Z+MLgmloAv6ipUgzQvOOLZCoOJtHsQUh6tx -9jZilSkBNPbnd077nUlOCEZI9ohFRZpqDwU3THPKLWOKISIq2vNxexFSkkOb4r8C -+Ud4dRCuQBOL+jn/e/cHYN1d9fHJApM15azgKvuj0P6ATl23YqEjDh3MbDIRrCjx -L/Vgw8Bw8EZxWfz6gHSpgUM6jfyOCgajxjhMNDzIRhlXAm3K57u4/te0b+wx5YL3 -ntkqh68mckOYvkYLP7MYqM3H7z36ZFo8XV5J8D4fFETrpNSrgU051NAd9RBmCuIO -7lDVIC3WJh+QQHNJ8ZpZOYbPSjw4PQvrzjGH2BQqWGezbswEgjxEVFjaZW887t4Y -S7jKqpx01EofjcoSlOeSsQQeDzMoU0fGg5lBK3PsavAUskUVAmfskRwngfg6LnQ5 -g5BSRdtRrcB0VZ4N0Bqy7qRHZhxI+70VVqjbd2Pu6pbhPEpToJ22IhXCVE8WKWdf -htfJlixM6VAmhiYNfMx2vqJe5MvYFHheltf7UiwSasq4e6v5pZvJFKvVBtrrr7DQ -fkmuRXWOsmRrWNbNoVZAaIZkxckox1nrhBXw3Yaby5D5BGSbfbkmC+kI6isOdNfF -/AuQpNX0tBGWiwdo5AqxaMqbsZlt1pa139Aj66RJyASl18NpZd2EaVXRHgu7d6oZ -eDHgEzvYbNfEeLo/wRG3+BQIrk1q2Z9AS75n9vtHhsYAM+1SycdCiuTIxrCyZgu3 -UFzkm4u/KaS32uVnf2siq2vVjhR8FblSd/ZdMIkijygr0UKzHyT7kLKXMuNv1gsS -AhOrLzickQZTrHIGFGW62JjyTdT2CaFcdXoWXSh5h9t5v/+tIFU+yHLLbBzeC7cq -/0cpmfyHbFuhSxaSjeVcxoGUQdGzOUpkQrWro5XC2GrX8uQYDVx15kiqnKPLYr4w -ntc= ------END ENCRYPTED PRIVATE KEY----- diff --git a/test/certs/gen/chain/server-rsa2048.pem b/test/certs/gen/chain/server-rsa2048.pem deleted file mode 100644 index 8cc20a4..0000000 --- a/test/certs/gen/chain/server-rsa2048.pem +++ /dev/null @@ -1,64 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEkjCCAnqgAwIBAgIJAPaf0LVsqpSpMA0GCSqGSIb3DQEBCwUAMH8xCzAJBgNV -BAYTAkNaMRowGAYDVQQIDBFKaWhvbW9yYXZza3kga3JhajENMAsGA1UEBwwEQnJu -bzEQMA4GA1UECgwHRXhhbXBsZTEzMDEGA1UEAwwqRXhhbXBsZSBJbnRlcm1lZGlh -dGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTIwMDEyMjE0MzkzM1oXDTIyMDEy -MTE0MzkzM1owYDELMAkGA1UEBhMCQ1oxGjAYBgNVBAgMEUppaG9tb3JhdnNreSBr -cmFqMQ0wCwYDVQQHDARCcm5vMRAwDgYDVQQKDAdFeGFtcGxlMRQwEgYDVQQDDAsq -LmxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMTdR2GQ -bYg/vFNoOTwHJ16gjHeLBtm1w2cTTTGl8htmkEMxO6lm3J9MTarh4AC/PTRMv1s1 -U/4QFIaSXhWquDg2Iq+ME8pX21wa52j+XW1t6qbfQgFYVFpSXMlDJqgIjRdAdgQS -vYeuCMS5Unr0YYO6UgjOw4T242jFLv18SezndmHiSMUv0LN+suI4hIjuH/znTB+9 -4C3GSeygEb+pPjEnzD2IjUfFl5eHnuOqPuhP++68TI9PDJ1X4fiRmV8vthjTXxPO -bo/igDGNknE6wQwD8laQrHKrhgIMs4F5AfWvqPwBufqTIg6qTyuygnAv4WjCEW9y -PMCTL4B1VD8jKqMCAwEAAaMwMC4wCQYDVR0TBAIwADAhBgNVHREEGjAYggsqLmxv -Y2FsaG9zdIIJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4ICAQAnXrhBTubKQpVB -MVoHDZBH/5lEJBT8fNqgIRxS8HENvl3ninxCP9vIeUkonyFNObZC8TK0xQgjXqDP -BubfnuTaPlqeMIF8YxaQMWlBkObleLpg2w7xC64l59vmwcRS59VEs+nrAwL1dwC3 -/fn9NZg/XOgmvsIwLuRggMcXr53ngU3m8oNXhylZxx1Ok5zZQb5sOBJRlcqrtByq -RQ9Qb3hwkuVez/MTEsBb4FIxsoxtq6bSLRbdSI/o/uj1Y0B4+ozWaUq0FGPgJAZE -UhSwz2wSTO9oiQ4EtvFJd3B+4SdU7lnAOHhpL8yMdcntmTm55knBctCBFKKMcdng -wRRr9Sy7ajPcbO41WUb3kzGRN+gOial3ntfbNDO+Gz92IK1bguML4yih//Ja9pko -OxUazphqLziF0N+TiMWQo5RZilNqM11jcWlw0R69krgaBArAixjt9h2Nsw7qOCPf -Gb5FUHdFmM+Ov7MChrW5JOpZkSlpLee5/0nzOi/DnLvomI7M8rmIz2XZz67ZyIBr -wyo384wcq2bzZojT8EGIUPcNTTAjt75yHpOsIafrrOOJdIwcyRF983Pjadxpnw98 -REZ2hWj79mqsjECI+Rq0LJVvUEEhg0H4YU5H3ELPjXbGadhHQJbHroYQHfg2lh4H -zFSu3F5cS4nd7ko35tZZFDWcXKTubQ== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -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 -Je1FVWquxA== ------END CERTIFICATE----- diff --git a/test/certs/gen/crt/ca-intermediate.crt b/test/certs/gen/crt/ca-intermediate.crt deleted file mode 100644 index 71a08d7..0000000 --- a/test/certs/gen/crt/ca-intermediate.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -Je1FVWquxA== ------END CERTIFICATE----- diff --git a/test/certs/gen/crt/ca-intermediate.srl b/test/certs/gen/crt/ca-intermediate.srl deleted file mode 100644 index ce3c507..0000000 --- a/test/certs/gen/crt/ca-intermediate.srl +++ /dev/null @@ -1 +0,0 @@ -F69FD0B56CAA94A9 diff --git a/test/certs/gen/crt/ca-root.crt b/test/certs/gen/crt/ca-root.crt deleted file mode 100644 index b3f21fb..0000000 --- a/test/certs/gen/crt/ca-root.crt +++ /dev/null @@ -1,36 +0,0 @@ ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- diff --git a/test/certs/gen/crt/ca-root.srl b/test/certs/gen/crt/ca-root.srl deleted file mode 100644 index 762dc6e..0000000 --- a/test/certs/gen/crt/ca-root.srl +++ /dev/null @@ -1 +0,0 @@ -8364354521253367 diff --git a/test/certs/gen/crt/client-ca-root.crt b/test/certs/gen/crt/client-ca-root.crt deleted file mode 100644 index 3af787a..0000000 --- a/test/certs/gen/crt/client-ca-root.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -lDPNDeWkp4AHxxHfDyoGRwbBcYKS4w== ------END CERTIFICATE----- diff --git a/test/certs/gen/crt/client-ca-root.srl b/test/certs/gen/crt/client-ca-root.srl deleted file mode 100644 index 97a993b..0000000 --- a/test/certs/gen/crt/client-ca-root.srl +++ /dev/null @@ -1 +0,0 @@ -F7E32103D90B65C3 diff --git a/test/certs/gen/crt/client.crt b/test/certs/gen/crt/client.crt deleted file mode 100644 index 4be9ecc..0000000 --- a/test/certs/gen/crt/client.crt +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEnTCCAoWgAwIBAgIJAPfjIQPZC2XDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV -BAYTAkNaMRowGAYDVQQIDBFKaWhvbW9yYXZza3kga3JhajENMAsGA1UEBwwEQnJu -bzEQMA4GA1UECgwHRXhhbXBsZTEyMDAGA1UEAwwpRXhhbXBsZSBDbGllbnQgUm9v -dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMjAwMTIyMTQzOTM2WhcNMjIwMTIx -MTQzOTM2WjBvMQswCQYDVQQGEwJDWjEaMBgGA1UECAwRSmlob21vcmF2c2t5IGty -YWoxDTALBgNVBAcMBEJybm8xEDAOBgNVBAoMB0V4YW1wbGUxIzAhBgNVBAMMGkV4 -YW1wbGUgQ2xpZW50IENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEA36owLHe9X6tbShhcwTfYWVVKN75rQ2Ulvr2Hd6CzJH4A3h4sOBhp -xwIs+se0bBjP+A1KkM+0+bKn5EJSJDGvr/Ju9mPDdnmbaci7bHJeenYHscr+1qo0 -Uxq6SwnWQOzPlhN49e7yDgfdgBCNtR+rjC65f5zO0h12hN1VmGnkilZE0drG40P5 -bbtJvRig5o72DdNK5PNiQtZPhGevuA5fBbXOy8UwdhqYqC7Di18/M2WMg1KmD9mQ -PnGtpfHdrv2kLp3ouWtVBtjPz6aRqsKxGdELZsSDz+L/UbPx9yDGLGNipYjFo+uL -lQrYNys2OZKB/kDbWzGpmZqkkX5nh322iQIDAQABoy0wKzAJBgNVHRMEAjAAMBEG -CWCGSAGG+EIBAQQEAwIHgDALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIB -AIYt6Hh3AquBBZiZUs3yHckhIPhhWrjJT6DkZ1VXjDf7iVgGLegEnxr6rc3vWKYC -2yuPTCV3rFJKuGZ2tkDFL3KbY0Ic2Hc6XyG9Pp/ahmlI5BmjJabFvnIVSXtSpMEp -Gpcvn9T1kxVF75J+LYb+b9MmmU3pSZ2gmgwk7R5S8wW5WE+qaL2fRwR79gJo4wOZ -E/dPTYWQvRUEAWZDDlagvxktJ9IH4KFq0QyIqfSntYZCZqwsbmTvSb7kqOHNGjNH -ur3587e8Upn/UAEer/I3SL2t0X4cxaPb5DeLaN5GR2DqjSz+KVA1EwKfGndouYYl -nVI4oMK7+ZaMrp1ccvB/S3Ba9x7DVfsK/8u1Onv8WAqda7Qh4yy80JOoBm8J0YUM -hTcfjQ/Jln8zR3gdHBAZ7eHni5qkjcj9CK5Mpdpva4jd5cQGHqkvG7pdEoWBvXzf -wCFdnn2YkEec0NIKiObNTycdrACSI+CNNsrw1Dbo4VAXGKRowYt1FXwyFRwjNj7K -ty2baSrOMJeTlkmvkIGIiLbd38wKbnpdn20tJ6s4MCefKiqDe1zj0dzSM8lWzQIt -Q53mJrs0WVjc9X4FxaEs44cHLNf9bnAf0hvSA4ytQFIiqT1wlDnmRl9gQJfaqnlm -ruVRuxzlaRgDWJidLAFZ27Qr1MxcF1YgtxM41DggmKvM ------END CERTIFICATE----- diff --git a/test/certs/gen/crt/client.p12 b/test/certs/gen/crt/client.p12 deleted file mode 100644 index 0574e930218488725cf2ead8e348912fac3732bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2789 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 diff --git a/test/certs/gen/crt/server-rsa2048.crt b/test/certs/gen/crt/server-rsa2048.crt deleted file mode 100644 index b7f2d39..0000000 --- a/test/certs/gen/crt/server-rsa2048.crt +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEkjCCAnqgAwIBAgIJAPaf0LVsqpSpMA0GCSqGSIb3DQEBCwUAMH8xCzAJBgNV -BAYTAkNaMRowGAYDVQQIDBFKaWhvbW9yYXZza3kga3JhajENMAsGA1UEBwwEQnJu -bzEQMA4GA1UECgwHRXhhbXBsZTEzMDEGA1UEAwwqRXhhbXBsZSBJbnRlcm1lZGlh -dGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTIwMDEyMjE0MzkzM1oXDTIyMDEy -MTE0MzkzM1owYDELMAkGA1UEBhMCQ1oxGjAYBgNVBAgMEUppaG9tb3JhdnNreSBr -cmFqMQ0wCwYDVQQHDARCcm5vMRAwDgYDVQQKDAdFeGFtcGxlMRQwEgYDVQQDDAsq -LmxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMTdR2GQ -bYg/vFNoOTwHJ16gjHeLBtm1w2cTTTGl8htmkEMxO6lm3J9MTarh4AC/PTRMv1s1 -U/4QFIaSXhWquDg2Iq+ME8pX21wa52j+XW1t6qbfQgFYVFpSXMlDJqgIjRdAdgQS -vYeuCMS5Unr0YYO6UgjOw4T242jFLv18SezndmHiSMUv0LN+suI4hIjuH/znTB+9 -4C3GSeygEb+pPjEnzD2IjUfFl5eHnuOqPuhP++68TI9PDJ1X4fiRmV8vthjTXxPO -bo/igDGNknE6wQwD8laQrHKrhgIMs4F5AfWvqPwBufqTIg6qTyuygnAv4WjCEW9y -PMCTL4B1VD8jKqMCAwEAAaMwMC4wCQYDVR0TBAIwADAhBgNVHREEGjAYggsqLmxv -Y2FsaG9zdIIJbG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4ICAQAnXrhBTubKQpVB -MVoHDZBH/5lEJBT8fNqgIRxS8HENvl3ninxCP9vIeUkonyFNObZC8TK0xQgjXqDP -BubfnuTaPlqeMIF8YxaQMWlBkObleLpg2w7xC64l59vmwcRS59VEs+nrAwL1dwC3 -/fn9NZg/XOgmvsIwLuRggMcXr53ngU3m8oNXhylZxx1Ok5zZQb5sOBJRlcqrtByq -RQ9Qb3hwkuVez/MTEsBb4FIxsoxtq6bSLRbdSI/o/uj1Y0B4+ozWaUq0FGPgJAZE -UhSwz2wSTO9oiQ4EtvFJd3B+4SdU7lnAOHhpL8yMdcntmTm55knBctCBFKKMcdng -wRRr9Sy7ajPcbO41WUb3kzGRN+gOial3ntfbNDO+Gz92IK1bguML4yih//Ja9pko -OxUazphqLziF0N+TiMWQo5RZilNqM11jcWlw0R69krgaBArAixjt9h2Nsw7qOCPf -Gb5FUHdFmM+Ov7MChrW5JOpZkSlpLee5/0nzOi/DnLvomI7M8rmIz2XZz67ZyIBr -wyo384wcq2bzZojT8EGIUPcNTTAjt75yHpOsIafrrOOJdIwcyRF983Pjadxpnw98 -REZ2hWj79mqsjECI+Rq0LJVvUEEhg0H4YU5H3ELPjXbGadhHQJbHroYQHfg2lh4H -zFSu3F5cS4nd7ko35tZZFDWcXKTubQ== ------END CERTIFICATE----- diff --git a/test/certs/gen/csr/ca-intermediate.csr b/test/certs/gen/csr/ca-intermediate.csr deleted file mode 100644 index 381997e..0000000 --- a/test/certs/gen/csr/ca-intermediate.csr +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIIExDCCAqwCAQAwfzELMAkGA1UEBhMCQ1oxGjAYBgNVBAgMEUppaG9tb3JhdnNr -eSBrcmFqMQ0wCwYDVQQHDARCcm5vMRAwDgYDVQQKDAdFeGFtcGxlMTMwMQYDVQQD -DCpFeGFtcGxlIEludGVybWVkaWF0ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAgE8gpyPGe9RxJkTmZaz6FnW -4AYPDVUe8bA1JqZWyvjPBOsY0Tsp1BjycBBbGaXIEjUMFt1vLc6026wNlf9+yWC8 -g1u0zqvwSB0HBlu/cBAo05b7xfinf+P77Mi8sAOzQzL8U2V940jWdqe9ctsJohIw -ObZL16CCdyHH0sRYAe8vJhXbbuq7fWexcF3Qa4JSwk2g2w0vzjocxcoxu7mVQPfS -ZJAGsMtvtUiN+QG/ipcU7cUFxMB6GSLdvN51QvOK4OiNHH5Q8PMCjHv/XEJIqXzN -dmHuwwziFQ5QnkqJcpKyJ5HHDTDAtBKk223H7SH8iM4euQ3bkWhWGIafnPqzl5ym -AkYgYIme/1EUVlp4kTCBmpXGtHDZhJ1dkYmEISMi43VCDf6gMt6TwFPTN0zhk04c -ZsWR0wKjNF79yY7HCUSf+0reSU8eBKPWicQG8UgEKLaXEGNzv+EVhf3H6zewJvtF -fetg4MXGgSvoppbxN7Ws18fiAWEDdztY3tjrS4YN91W41D8OeWTAcO1ipnS0BVnh -3BSi767Rc8b7RIJy2qYISfTrr6jP4qCTTpkZplQMyyyWjLBKnUxcI1UgYsohANi4 -RnD/Mld5rX+EltrtqHils1i1Vz/Ngo+vvYJn0+DXFPPstWTm6m2rxSnh9q8pbCqp -Y+JlO4FqDD3dubeOewIDAQABoAAwDQYJKoZIhvcNAQELBQADggIBADjN+vLEv4Hk -5LZKAsnUkXTJmsMee9b48t+vJIuF3PSyWD1VR0wR2F2TfN5weLWDgH5r5ntERvhf -D6Yco79+Hvaf/jdKftRJsFVIbUdDddAyKecCa80d65wvNt82jCHAxrO99XSSl1IQ -69Gv44f6rhMqGIp1LmrwUoOtcS2ZKSPdimrqz/vZ2j5Chl/XWnr+E9Mq8g/ogSfH -zjnxyDjt+kXrd+SFuAqJTeq9ZbPEsVStNIwqTEa6XImnQPfb2T2AHAbzuqveXQoX -GLWrGtQS+64w/x94aRfLZrdXImZcRk6Pjp9yLm5xc6hI3uhBVsHaws9lu2WPVdNn -FGZUkKhgNDGa5eCVkBUeJfaPl0OSE70E6l7GPITbca9GpoNIpuM+tBjqDFBHeHiw -7/ky8wtrR54EcTr62qAu+DNPyLirGavscwQyBknS4KTMd73WLbQxnpMoPDn+sXvD -JkjQO+2cb3k58fC01pLxm026GizOHceftyZc8IoNIiAy5i1zada4ky4G8cs9ErIG -styn1hYqQJeQjbkzWkb/DIb2TL8L4L3zjUp7gZP580+0UfWLRy0FLYZTlGM2HA9B -FVBAKEgrbVfybjY8Z6Di2wENb81CFUsEOGLooVPpU6RdxU0/rIucFuUgCh9HIl7L -YQgKwgWiEGIHN+dy7Qr6iABYTHaLwQ9S ------END CERTIFICATE REQUEST----- diff --git a/test/certs/gen/csr/client.csr b/test/certs/gen/csr/client.csr deleted file mode 100644 index ec5b9b3..0000000 --- a/test/certs/gen/csr/client.csr +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIIC8DCCAdgCAQAwbzELMAkGA1UEBhMCQ1oxGjAYBgNVBAgMEUppaG9tb3JhdnNr -eSBrcmFqMQ0wCwYDVQQHDARCcm5vMRAwDgYDVQQKDAdFeGFtcGxlMSMwIQYDVQQD -DBpFeGFtcGxlIENsaWVudCBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAN+qMCx3vV+rW0oYXME32FlVSje+a0NlJb69h3egsyR+AN4e -LDgYaccCLPrHtGwYz/gNSpDPtPmyp+RCUiQxr6/ybvZjw3Z5m2nIu2xyXnp2B7HK -/taqNFMauksJ1kDsz5YTePXu8g4H3YAQjbUfq4wuuX+cztIddoTdVZhp5IpWRNHa -xuND+W27Sb0YoOaO9g3TSuTzYkLWT4Rnr7gOXwW1zsvFMHYamKguw4tfPzNljINS -pg/ZkD5xraXx3a79pC6d6LlrVQbYz8+mkarCsRnRC2bEg8/i/1Gz8fcgxixjYqWI -xaPri5UK2DcrNjmSgf5A21sxqZmapJF+Z4d9tokCAwEAAaA8MDoGCSqGSIb3DQEJ -DjEtMCswCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCB4AwCwYDVR0PBAQDAgXg -MA0GCSqGSIb3DQEBCwUAA4IBAQBhR7Ns8swNHaSQic8/idDNq8t0lxMCjoBe8lMs -3McVgCcAP/xYRNFGqimZIieERhvBkIkZnAmbiQ/EB2qVgZBiFGYh6Ko0mvBhCnpi -rTA3V2psnzousmXpQ5vQGU9UbcOJ3TDn34q6lpwRMLW1uOZ7qaxSuqKbHKl4UQxv -ldZKL+3uqiZLFkbxQv6FTOsPnE5ifJ2shSgvDw7X7U1OC1peBTrEs8b7IVJQ28lI -GEd7VYref6ajQrIOSaiepwg+Gmar7PjH7MJC4IkLtWLwOJgIk0X1OtyQGTBGVPQs -jk12AHCgaQ0e6mbzUhsxvFyMFvmLYvFwfJqq8/hV2MKkgAXB ------END CERTIFICATE REQUEST----- diff --git a/test/certs/gen/csr/server-rsa2048.csr b/test/certs/gen/csr/server-rsa2048.csr deleted file mode 100644 index b60522f..0000000 --- a/test/certs/gen/csr/server-rsa2048.csr +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIIC5DCCAcwCAQAwYDELMAkGA1UEBhMCQ1oxGjAYBgNVBAgMEUppaG9tb3JhdnNr -eSBrcmFqMQ0wCwYDVQQHDARCcm5vMRAwDgYDVQQKDAdFeGFtcGxlMRQwEgYDVQQD -DAsqLmxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMTd -R2GQbYg/vFNoOTwHJ16gjHeLBtm1w2cTTTGl8htmkEMxO6lm3J9MTarh4AC/PTRM -v1s1U/4QFIaSXhWquDg2Iq+ME8pX21wa52j+XW1t6qbfQgFYVFpSXMlDJqgIjRdA -dgQSvYeuCMS5Unr0YYO6UgjOw4T242jFLv18SezndmHiSMUv0LN+suI4hIjuH/zn -TB+94C3GSeygEb+pPjEnzD2IjUfFl5eHnuOqPuhP++68TI9PDJ1X4fiRmV8vthjT -XxPObo/igDGNknE6wQwD8laQrHKrhgIMs4F5AfWvqPwBufqTIg6qTyuygnAv4WjC -EW9yPMCTL4B1VD8jKqMCAwEAAaA/MD0GCSqGSIb3DQEJDjEwMC4wCQYDVR0TBAIw -ADAhBgNVHREEGjAYggsqLmxvY2FsaG9zdIIJbG9jYWxob3N0MA0GCSqGSIb3DQEB -CwUAA4IBAQBWT90BYIspvJhEJw8YpLHRfAZS3TVzZCe+dQtkUAobbKdBYKpTqGDA -RW+dmAewdNt3J/WYbmGJQKRwPbxPltAVYlHE4yxyLrX4EkgPEcDE+ZODzIpyPf2A -am0B2fexzH+NBHuGMBsqS9wobnz4weD4wLQNLJ4jTbAqATUmcBFMRZ18MCiyolAW -FdJNzmoEFexU9mZUoX0UUkqdoLcoh0MQAG95OTMhtdm7Cueo188WHYCawsAINcXc -NUIdanwkaY0jd1Se+zPtuhnNtZt6bx3dQKITHJYn/mkdnHWCYAWf6xcNp4RlfqV4 -fS45bO7nTCDFMHyissQecQNGA9IrJClU ------END CERTIFICATE REQUEST----- diff --git a/test/certs/gen/key/ca-intermediate.key b/test/certs/gen/key/ca-intermediate.key deleted file mode 100644 index fbb677d..0000000 --- a/test/certs/gen/key/ca-intermediate.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -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 -NE4t2QKCAQEAwVWx13QeNF7pzPXfL6OyZuMA1hktVP/Qr+42aJpaRVqSauXIf2XX -oUlr/iDXo/mqVWLtGDYpyJ9qOp2DOU9y5uLIZ7X+gvttuMVegbjrE+G4tnj9LKl+ -Lv3PapvL9fvD+B8kfSioa5LQB27Mc3dP0jgYcZsGttlLs6KpU0wAS/eDBT5U01Yg -qOUBwJfXRWg35af2JangM/PuFb36mP7aw2qiORtwt348SNQIK0XytdfqU1LoH3oC -e+kEwGi3kLVB+bQsEsr+CU32vmiAnX+ex/JyEdddJYo69MVnjj6dokVNtnZCZJ7+ -ynkY4LoWZppN5fHZnrUNZo/wyMjObUKG0wKCAQEAvKd7mf051pDTsemUwqoR7m8a -os4KyWRn2ACoNOIqw6g84gc1tAIKFiUJ/9hEXB1M6xJTJ2/j3guIL+wDUJ4erl/R -eYPoCVaIQQktp0sIgideMONnpR6dOBZV45HelctXm7w2NnW25CrfNulxn0/5MACb -RxY54M4/HUHDxnZ3LQPlOiPEtgwVU0XNNizBvGBjRjSwdmHJ1v3Sjc2jO9QktuNV -FZwdJYNMXwPaD1tZdKzFmlh0ntB+Fe6vPByklqDw4yP/kodFk+sX3n9Cgv6HJAaH -Uwnm4C6LJrzANT1UWNLfhrkqe0O4qQ+NhPqSpKR/QAwvXcQlD0JPmnhrZNHLSw== ------END RSA PRIVATE KEY----- diff --git a/test/certs/gen/key/ca-root.key b/test/certs/gen/key/ca-root.key deleted file mode 100644 index 508e203..0000000 --- a/test/certs/gen/key/ca-root.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- diff --git a/test/certs/gen/key/client-ca-root.key b/test/certs/gen/key/client-ca-root.key deleted file mode 100644 index d358fa8..0000000 --- a/test/certs/gen/key/client-ca-root.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- diff --git a/test/certs/gen/key/client.key b/test/certs/gen/key/client.key deleted file mode 100644 index 4d3d151..0000000 --- a/test/certs/gen/key/client.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpQIBAAKCAQEA36owLHe9X6tbShhcwTfYWVVKN75rQ2Ulvr2Hd6CzJH4A3h4s -OBhpxwIs+se0bBjP+A1KkM+0+bKn5EJSJDGvr/Ju9mPDdnmbaci7bHJeenYHscr+ -1qo0Uxq6SwnWQOzPlhN49e7yDgfdgBCNtR+rjC65f5zO0h12hN1VmGnkilZE0drG -40P5bbtJvRig5o72DdNK5PNiQtZPhGevuA5fBbXOy8UwdhqYqC7Di18/M2WMg1Km -D9mQPnGtpfHdrv2kLp3ouWtVBtjPz6aRqsKxGdELZsSDz+L/UbPx9yDGLGNipYjF -o+uLlQrYNys2OZKB/kDbWzGpmZqkkX5nh322iQIDAQABAoIBAQCjHIg5RbGTfXH7 -3Tx3pHRg4bRYZsPuyGr4aVvLwCQk7sdPNQ3mctdhTJLk6JMJaibwrTC93twKZWHP -MxaYUqvfUpvdj+/SDOlsAfm9IsMH59/Ap1ulzUaPfKRzaN8ZRho1RkomgHWCCfZd -GLVfa5M9ji21hPPHg7kVOBzeJAuJXfbSkwGbXOSCOOnTEi1MB7GbYgxDv/T94491 -hs/XPuPhNP0g/P8XZ0g+FFUZPGtTllMkDxACILhXXPoBJXBClBjnLYqJy8BARGRD -OetK1DWEzsshUHkiUTq1VHIzjREcG2Cnm0Y7WgEfdg3gVjqIsW4SHXItFAb+XoXk -wrj/CC0hAoGBAP/bHraLpY0dvFWyPtqsvWFQSL9acOUmlbjBpKh5C6I6CbwwqFp7 -n43LTilMzNocxJMqy4WZq6XE4pswi31AMLTiNRmOgJyZ0L6v2xVxjn/5c51sVA2a -wsHaG+rEcyYOhllnGpsdOZu5sYiHquK7+a3FP5Q2cJ5bcGJ4/UUiTrstAoGBAN/K -bZUBcZSme28WfszzyOqbbxnnBd1VBr5/tb9+F/FGu/1n3NlMFmjm28PKVOE/dOB6 -zqTfzVbEu67UkvHIJxsYe5yIVF5Eqa+IuWZHqyolpQXD3wkFIaCT2P35ccq0Ljvd -1bcjDjaNazc0f4dbNahxSrNnGKxF7HHgwKaiJ1JNAoGBAIvTTG2m08rTPWH4D7Gi -Rb0xCxDIdHpHI/vcmAgaXulBnqBiVx9cAE6VlRmtBycMIcHr2V4iJVRqzQzS8uh4 -dCXmme5lmpP628HaiXimnqIBydV2pljpAxa+BBPBWMyrk3C4kCnFRv579TIQMqvG -3yTAb4aoWdOxVTH7vS5TGYPhAoGARgoVt7/G624bTY4tyzk1FW/mGqY6KKY2wSI5 -IKB3H9UyesGp1fxBOz2dZC6L2B9DFgp5aBJ/MnvJ/ZKcFr28t3c3IKtuND6rGLvi -wocFo+A6QI6n3CvV9WqwS/Roz7cKjUQFYha/mQUznAh7LUK3jWs/pNxMVYZg1Ncx -lDVFtzUCgYEA1i0GhY4p57W8gALPvEDUz8bykvwO4uw0nw1RhC9kfl+Qlomw7Zlx -pNaOgwwc2eNIzNTo+6qb5ADozL1N/8JWiofVMFW6dy23kQ+/D7Je+5TYlo+impo8 -GisD06Mcxy/NcfMwfri4rouwNTnSbI3O1RgkJ8rVrIENLr2qPKxuObc= ------END RSA PRIVATE KEY----- diff --git a/test/certs/gen/key/server-rsa2048.key b/test/certs/gen/key/server-rsa2048.key deleted file mode 100644 index d877977..0000000 --- a/test/certs/gen/key/server-rsa2048.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAxN1HYZBtiD+8U2g5PAcnXqCMd4sG2bXDZxNNMaXyG2aQQzE7 -qWbcn0xNquHgAL89NEy/WzVT/hAUhpJeFaq4ODYir4wTylfbXBrnaP5dbW3qpt9C -AVhUWlJcyUMmqAiNF0B2BBK9h64IxLlSevRhg7pSCM7DhPbjaMUu/XxJ7Od2YeJI -xS/Qs36y4jiEiO4f/OdMH73gLcZJ7KARv6k+MSfMPYiNR8WXl4ee46o+6E/77rxM -j08MnVfh+JGZXy+2GNNfE85uj+KAMY2ScTrBDAPyVpCscquGAgyzgXkB9a+o/AG5 -+pMiDqpPK7KCcC/haMIRb3I8wJMvgHVUPyMqowIDAQABAoIBADRwQOBTKWn+mDqb -a4t62FjTaTc6mDOLwCYHtStBadE0q77KMXs5RBFGsPWQvytTxYjV3K798IafX+hM -urUIyZNnkCu0o1zltC+/lt6XyukoOzYCCEH1dlqsz7xon7ZouLR13jnNiCDJEdrd -BoRr7kG5crqX4OrdHMw+ofqxjbuFoGZv3nd45ANs9HFYednnPw4WJdjgL8iOAK98 -zLemnJ8ODmk2uv3/5Rclx+mgfpB5/TBVhyG/PifMwHUkqafPXj1F6yR7OEDb1SId -yg2sgrh+7gvuBSWPhWOJN4RfZhgXI7Pb4/FOl4579lmROHRIo8a9dBQhM6nVLOyM -SW086RkCgYEA7tBSzFmXUbVohWQZqncydZWIrE7rdYZJBRXzJrX1mR1CGEg8u+i0 -aKUsd4dwdS74VKroRcoKKDakNY5Xb3WsI+ZhYd2K9s1c3sEwYsQu+SR7OfA+Ds0P -CO5s1GbWuOGt/65tkS3zNkTnnL8QviCKBEERaM7gq5GAc1EEaQLam8cCgYEA0wge -r/JbsIKgM/DQRqe04GTb56wDZsHcA21gYWssK1KI1wCsf6KC5DNZ+s2fA9NZawSc -/34vLOM/7AgTQvAN1Age87fVrYTmasjhdV66kAC7pHy6sHt/2W754c7vvK/MwSXQ -dpAU1EtYErRRnBupFtcLyYaqtI3tG/qDcM7DYkUCgYBPKFg5ifzBRas2g76KJWZh -WUZrLuGXHAK6H9Nv4mJc9TjCSbdv5atfAFjj6c3Z2c7QabIB5/1D5RC6+8p5lHyR -jbx7ru5v7hQ5dbmvEy4qwO/jfYFkcI3qPPVv1gKYV53QISYKODvkoiRPbXmEO87j -qBm4LtKDq//yuUkH8b06YwKBgQCRiuUXNdA0wTJaADi0sg9WP1lGw2SpJwRlPLcf -GPoies6zcdyGPn+FgUEKb2u/CLF/1HOu5ckFbUl1sPAP113CIUOvlNcC0EjV1utf -tlB25nqDbB6ZfuNjA13FdaH0AU722uyWCLLE452/cKtkPdN1VCTl/UGYOtYP2Mt0 -LrWj/QKBgDSP3zHa6uB9GvsbG3UTk2YptyDpNXsBAGK7HZHkg4rIE5PsTpHjKVAt -Iq6SxuRUOP/8rEDnwfldCBo0HhKbA3mM2J1t8ItKLzX03G79A+wZEybb1pwgmgWr -3SvNHDc/2cvnNjxWyOG1nvKHznHHc9+iaagt5Ftj6rFzHWVaQWcF ------END RSA PRIVATE KEY----- diff --git a/test/certs/tool b/test/certs/tool deleted file mode 100755 index e10ba4d..0000000 --- a/test/certs/tool +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/env bash -set -eu - -COMMAND=$1 -shift -OUT=$1 -shift -DOMAIN=$1 -shift - -mkdir -p $(dirname $OUT) -PREGEN_OUT=$(echo "$OUT" | sed "s#/gen/#/pregen/#") -if [ -e $PREGEN_OUT ] -then - cp $PREGEN_OUT $OUT - exit 0 -fi - -case "$COMMAND" in -chain) - cat $@ > $OUT - ;; -dhparam) - openssl dhparam \ - -out $OUT \ - $1 - ;; -gen-csr) - openssl req -new \ - -out $OUT \ - -config <(cat $1 | sed "s/__DOMAIN__/$DOMAIN/g") \ - -key $2 - ;; -gen-csr-no-subject) - openssl req -new \ - -subj / \ - -out $OUT \ - -config <(cat $1 | sed "s/__DOMAIN__/$DOMAIN/g") \ - -key $2 - ;; -gen-ca) - openssl req -new -x509 -days 7300 \ - -out $OUT \ - -config $1 \ - -key $2 - ;; -gen-key) - openssl genrsa \ - -out $OUT \ - $1 - ;; -gen-ecckey) - openssl ecparam \ - -out $OUT \ - -name $1 \ - -genkey - ;; -gen-pkcs12-p12) - openssl pkcs12 \ - -out $OUT \ - -export \ - -clcerts \ - -passout "pass:$DOMAIN" \ - -in $1 \ - -inkey $2 - ;; -pkcs12-convert-p12-pem) - openssl pkcs12 \ - -out $OUT \ - -clcerts \ - -passin "pass:$DOMAIN" \ - -passout "pass:$DOMAIN" \ - -in $1 - ;; -self-sign) - openssl x509 -req -CAcreateserial \ - -out $OUT \ - -days $1 \ - -$2 \ - -extensions $3 \ - -extfile <(cat $4 | sed "s/__DOMAIN__/$DOMAIN/g") \ - -in $5 \ - -signkey $6 - ;; -sign) - openssl x509 \ - -req \ - -CAcreateserial \ - -days $1 \ - -$2 \ - -out $OUT \ - -extensions $3 \ - -extfile <(cat $4 | sed "s/__DOMAIN__/$DOMAIN/g") \ - -in $5 \ - -CAkey $6 \ - -CA $7 - ;; -*) - echo "Unknown command." - exit 1 -esac diff --git a/test/test_tls.py b/test/test_tls.py index 8d16bf6..9091035 100644 --- a/test/test_tls.py +++ b/test/test_tls.py @@ -3,38 +3,45 @@ import subprocess import ssl import time +import trustme import bmemcached import test_simple_functions +ca = trustme.CA() +server_cert = ca.issue_cert(os.environ["MEMCACHED_HOST"] + u"") + + @pytest.yield_fixture(scope="module", autouse=True) def memcached_tls(): - p = subprocess.Popen( - [ - "memcached", - "-p5001", - "-Z", - "-o", - "ssl_chain_cert=test/certs/gen/chain/server-rsa2048.pem", - "-o", - "ssl_key=test/certs/gen/key/server-rsa2048.key", - "-o", - "ssl_ca_cert=test/certs/gen/crt/client-ca-root.crt", - "-o", - "ssl_verify_mode=1", - ], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - ) - time.sleep(0.1) - - if p.poll() is not None: - pytest.skip("Memcached server is not built with TLS support.") - - yield p - p.kill() - p.wait() + key = server_cert.private_key_pem + cert = server_cert.cert_chain_pems[0] + + with cert.tempfile() as c, key.tempfile() as k: + p = subprocess.Popen( + [ + "memcached", + "-p5001", + "-Z", + "-o", + "ssl_key={}".format(k), + "-o", + "ssl_chain_cert={}".format(c), + "-o", + "ssl_verify_mode=1", + ], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + time.sleep(0.1) + + if p.poll() is not None: + pytest.skip("Memcached server is not built with TLS support.") + + yield p + p.kill() + p.wait() class TLSMemcachedTests(test_simple_functions.MemcachedTests): @@ -43,9 +50,9 @@ class TLSMemcachedTests(test_simple_functions.MemcachedTests): """ def setUp(self): - ctx = ssl.create_default_context( - cafile="test/certs/gen/crt/ca-root.crt" - ) + ctx = ssl.create_default_context() + + ca.configure_trust(ctx) self.server = "{}:5001".format(os.environ["MEMCACHED_HOST"]) self.client = bmemcached.Client(self.server, tls_context=ctx) From f086033b0219a7fef9b2f76f18c68a1c1efe85d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20Guimar=C3=A3es=20de=20Medeiros?= Date: Mon, 27 Jan 2020 15:23:37 +0100 Subject: [PATCH 6/6] Add doc notes about TLS context. --- bmemcached/client/mixin.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bmemcached/client/mixin.py b/bmemcached/client/mixin.py index a0ac3be..990f6a8 100644 --- a/bmemcached/client/mixin.py +++ b/bmemcached/client/mixin.py @@ -28,6 +28,9 @@ class ClientMixin(object): :type pickler: function :param unpickler: Use this to replace the object deserialization mechanism. :type unpickler: function + :param tls_context: A TLS context in order to connect to TLS enabled + memcached servers. + :type tls_context: ssl.SSLContext """ def __init__(self, servers=('127.0.0.1:11211',), username=None,