TLS Name Validation (#48)

Added TLS Name Validation
This commit is contained in:
Vivek Saini authored and GitHub Enterprise committed 2022-03-03 13:59:07 -05:00
1 parent e11c616047
commit 8644595efc
7 files changed
+257 -5

No files matched your search

+29 -4
View File
@@ -16,10 +16,11 @@ generate_cert() {
local keyfile=tests/tls/${name}.key
local certfile=tests/tls/${name}.crt
[ -f $keyfile ] || openssl genrsa -out $keyfile 2048
[ -f $keyfile ] || openssl genrsa -out $keyfile 4096
openssl req \
-new -sha256 \
-subj "/O=KeyDB Test/CN=$cn" \
-config "tests/tls/openssl.cnf" \
-key $keyfile | \
openssl x509 \
-req -sha256 \
@@ -42,6 +43,29 @@ openssl req \
-out tests/tls/ca.crt
cat > tests/tls/openssl.cnf <<_END_
[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
req_extensions = req_ext
[req_distinguished_name]
[req_ext]
subjectAltName = @alt_names
[alt_names]
DNS.1=san1.keydb.dev
DNS.2=san2.keydb.dev
DNS.3=san3.keydb.dev
IP.1=192.168.0.1
IP.2=8.8.8.8
IP.3=2001:0db8:15::8a2e:0370:7334
email.1=someone@keydb.dev
email.2=someone_else@keydb.dev
URI.1=https://keydb.dev
URI.2=https://google.com
[ server_cert ]
keyUsage = digitalSignature, keyEncipherment
nsCertType = server
@@ -51,8 +75,9 @@ keyUsage = digitalSignature, keyEncipherment
nsCertType = client
_END_
generate_cert server "Server-only" "-extfile tests/tls/openssl.cnf -extensions server_cert"
generate_cert client "Client-only" "-extfile tests/tls/openssl.cnf -extensions client_cert"
generate_cert keydb "Generic-cert"
generate_cert server "server.keydb.dev" "-extfile tests/tls/openssl.cnf -extensions server_cert -extensions req_ext"
generate_cert client "client.keydb.dev" "-extfile tests/tls/openssl.cnf -extensions client_cert -extensions req_ext"
generate_cert client2 "client2.keydb.dev" "-extfile tests/tls/openssl.cnf -extensions client_cert -extensions req_ext"
generate_cert keydb "generic.keydb.dev" "-extfile tests/tls/openssl.cnf -extensions req_ext"
[ -f tests/tls/keydb.dh ] || openssl dhparam -out tests/tls/keydb.dh 2048