Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add test for bare PING-PONG protocol over TLS handle #55

Merged
merged 3 commits into from
Apr 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,7 @@ std = ["alloc", "webpki/std", "pki-types/std", "rustls/std", "ed25519-dalek/std"
# TODO: go through all of these to ensure to_vec etc. impls are exposed
alloc = ["webpki/alloc", "pki-types/alloc", "aead/alloc", "ed25519-dalek/alloc"]
zeroize = ["ed25519-dalek/zeroize", "x25519-dalek/zeroize"]

[dev-dependencies]
openssl = { version = "0.10", default-features = false }
pem-rfc7468 = { version = "0.7", default-features = false, features = ["alloc"] }
62 changes: 62 additions & 0 deletions certs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
ed25519: ed25519-key ed25519-csr sign-ed25519-csr pk12-ed25519

rsa4096: rsa4096-key rsa4096-csr sign-rsa4096-csr pk12-rsa4096

clean:
rm rustcryp.to.key rustcryp.to.csr rustcryp.to.crt

## Server Cert Keys

ed25519-key:
openssl genpkey -algorithm ED25519 > rustcryp.to.ed25519.key

rsa4096-key:
openssl genrsa -out rustcryp.to.rsa4096.key 4096

## CA

ca-rsa4096-key:
openssl genrsa -out ca.rsa4096.key 4096

ca-rsa4096-crt: ca-rsa4096-key
openssl req -x509 -new -nodes -key ca.rsa4096.key -out ca.rsa4096.crt \
-subj /C=XX/ST=YY/L=Antarctica/O=RustCrypto/OU=Contributors/CN=ca.rustcryp.to

## CSR

ed25519-csr:
openssl req -new -out rustcryp.to.ed25519.csr -key rustcryp.to.ed25519.key -config openssl.cnf

rsa4096-csr: rsa4096-key
openssl req -new -out rustcryp.to.rsa4096.csr -key rustcryp.to.rsa4096.key -config cert.cnf


## Sign PKCS10 CA certified

ca-sign-rsa4096-csr:
openssl x509 -req \
-in rustcryp.to.rsa4096.csr \
-out rustcryp.to.rsa4096.ca_signed.crt \
-CA ca.rsa4096.crt \
-CAkey ca.rsa4096.key \
-CAcreateserial \
-days 30 \
-extensions v3_end \
-extfile openssl.cnf

## Sign PKCS10 self-certified

sign-ed25591-csr:
openssl x509 -req -days 30 -in rustcryp.to.ed25519.csr -signkey rustcryp.to.ed25519.key -out rustcryp.to.ed25519.crt

sign-rsa4096-csr:
openssl x509 -req -days 30 -in rustcryp.to.rsa4096csr -signkey rustcryp.to.rsa4096.key -out rustcryp.to.rsa4096.crt

## Export PKCS12

pk12-ed25519:
openssl pkcs12 -export -out rustcryp.to.ed25519.pfx -inkey rustcryp.to.ed25519.key -in rustcryp.to.ed25519.crt -passout pass:test

pk12-rsa4096:
openssl pkcs12 -export -out rustcryp.to.rsa4096.pfx -inkey rustcryp.to.rsa4096.key -in rustcryp.to.rsa4096.crt -passout pass:test

33 changes: 33 additions & 0 deletions certs/ca.rsa4096.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
MIIFyTCCA7GgAwIBAgIUZx1B7o0SWeXhfT02gERB5Hb9G4wwDQYJKoZIhvcNAQEL
BQAwdDELMAkGA1UEBhMCWFgxCzAJBgNVBAgMAllZMRMwEQYDVQQHDApBbnRhcmN0
aWNhMRMwEQYDVQQKDApSdXN0Q3J5cHRvMRUwEwYDVQQLDAxDb250cmlidXRvcnMx
FzAVBgNVBAMMDmNhLnJ1c3RjcnlwLnRvMB4XDTI0MDMxODA4MzQzN1oXDTI0MDQx
NzA4MzQzN1owdDELMAkGA1UEBhMCWFgxCzAJBgNVBAgMAllZMRMwEQYDVQQHDApB
bnRhcmN0aWNhMRMwEQYDVQQKDApSdXN0Q3J5cHRvMRUwEwYDVQQLDAxDb250cmli
dXRvcnMxFzAVBgNVBAMMDmNhLnJ1c3RjcnlwLnRvMIICIjANBgkqhkiG9w0BAQEF
AAOCAg8AMIICCgKCAgEAh1c9EIxYfevzH7mA+GBNwnDs72Wz5hRRwuP0Or+ujhwI
0nJOBZbxVdqEQRkMCqMDjinUwup1iYHyAzGEVoUNuM3GrC0grhkxc540x47m0YRz
ncCcSgh/dvGVpjlKR33V91dCwHp7LcgegbpoWaGhg+Vu03l0GrLV0ICsmeSPk1qW
5BLW/G6xnSzRjNKnty3U38JwFGvxW+8qs53L8HNYEqFRPlNiS8DgZdtMk+5bgZW9
Zw7QSTANTsjDUC+E5E5kY9Bedgcg4nMaOpxI3wbeWguNa8Vj+i/jFERFG034fYo4
oEWB95djGfIL0ULuRbi6JtrHprTJzzQciRpxGXYQl+Txa7jAaoSPZu4I4V4Gh3kh
OUQJGp12LYOcJ36oyruLnliquXrG2YtEwqNV5OyEPKtFUai99l+f54wLKgSNQpvo
phu4OogYFJmC21DqG7XejnYOSjwITWaWt86ee9Q1AQT+JSRp/f+7qM71yUoAH2OJ
dvuauFN2VTHKtR0csmzOEZvTmRXj+ykxdn7i4kAvAVE8RdaiNK/i/dKmV40oQTe3
eiW7dVa34pl8yQcpJoAi+r/APYpPyh61NOb2Fk4GdF3uXs2muPfHU6WEfmzCow1P
6ZyBRkcktJOztK4PNBykcx7yV0C3L5KPmAi85iAKsvWE4anJugiMxd5bWV9xZ9cC
AwEAAaNTMFEwHQYDVR0OBBYEFHmJDp40jGidJyLW7XHCkfm7KkBwMB8GA1UdIwQY
MBaAFHmJDp40jGidJyLW7XHCkfm7KkBwMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
hvcNAQELBQADggIBAATry9irnXdVpOF9aFoveqhL452DyNoEF8xJyL0URxauaq84
F15tLM5fjTX//uOcabYBBIbFwgVtgFtGwkh/HxhzQOpVjli96sxTkYgRpgVXXgT+
0EPpqDXiRQV94NfcGOXQPImL5GVFbM46FEOvBy0AMiBqlU1eha1z9nbub0r2HD0h
Pu/4OuU8YBenl4RCgB6HsuLYr54dRiHLw+QzryUcot2ItzxpOaFcDS9uMlVb8E14
MJV/szLKyT9mYQyseMMhOH+HBKZO6zfBedpRZcVQkQpKJ9YG25ZIHevVjSTHpLBZ
kNqkhlS40VemY/BnDGsVWaJHPbW4mPr9uSRB37J2wZR62Tsbyjauou56rTDBQkwd
m1wq7JADyKhwh5aAfee9qhuCPe3Y9bSjx0M9M9pfWCizdEDajvW8vAcK1a55TMvc
udh5vlwvinp5PCISGxuzI/8AAlw+O/fmI7z3oOGsOP0ckZ2GOOJX2DO1AzNX8EXV
N2AFD5kwxVm0GRiiy8DWnHwVEUbp3znYCdBPtU2Q2uRN60hIiEgIWXG4vtclCOoy
PV34tsQM6brspFGZ5UE7rZGoOmj6zFaoUSRSmdpD/X09w3n4iNjut6UmT2D1vwn6
aEI3s84ezzexw7hCiyzMVe7ZK5vWHFmhUuvi1+J1WzqF60dIh6MEX/MFSHjI
-----END CERTIFICATE-----
52 changes: 52 additions & 0 deletions certs/ca.rsa4096.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
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
CFPGysTiqjSznXbv6loyTwp2Cs1PoA==
-----END PRIVATE KEY-----
21 changes: 21 additions & 0 deletions certs/cert.cnf
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[req]
default_bits = 4096
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn

[ dn ]
C=XX
ST=YY
L=Antarctica
O=Contributors
OU=Testers
emailAddress=hello@rustcryp.to
CN = test.rustcryp.to

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = localhost
23 changes: 23 additions & 0 deletions certs/openssl.cnf
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[ v3_end ]
basicConstraints = critical,CA:false
keyUsage = nonRepudiation, digitalSignature
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
subjectAltName = @alt_names

[ v3_client ]
basicConstraints = critical,CA:false
keyUsage = nonRepudiation, digitalSignature
extendedKeyUsage = critical, clientAuth
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always

[ v3_inter ]
subjectKeyIdentifier = hash
extendedKeyUsage = critical, serverAuth, clientAuth
basicConstraints = CA:true
keyUsage = cRLSign, keyCertSign, digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign

[ alt_names ]
DNS.1 = www.rustcryp.to
DNS.3 = localhost
38 changes: 38 additions & 0 deletions certs/rustcryp.to.rsa4096.ca_signed.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
-----BEGIN CERTIFICATE-----
MIIGszCCBJugAwIBAgIULBS6esIThT88ao9+pOZd5y/bJ70wDQYJKoZIhvcNAQEL
BQAwdDELMAkGA1UEBhMCWFgxCzAJBgNVBAgMAllZMRMwEQYDVQQHDApBbnRhcmN0
aWNhMRMwEQYDVQQKDApSdXN0Q3J5cHRvMRUwEwYDVQQLDAxDb250cmlidXRvcnMx
FzAVBgNVBAMMDmNhLnJ1c3RjcnlwLnRvMB4XDTI0MDMxODA4MzU1OVoXDTI0MDQx
NzA4MzU1OVowgZUxCzAJBgNVBAYTAlhYMQswCQYDVQQIDAJZWTETMBEGA1UEBwwK
QW50YXJjdGljYTEVMBMGA1UECgwMQ29udHJpYnV0b3JzMRAwDgYDVQQLDAdUZXN0
ZXJzMSAwHgYJKoZIhvcNAQkBFhFoZWxsb0BydXN0Y3J5cC50bzEZMBcGA1UEAwwQ
dGVzdC5ydXN0Y3J5cC50bzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AKOL3HYFIrHcRSSSEcddktLIm1Yf24src2TgKA6ELmFPHqeV0iKNLfNibGfj/NGl
ajFy+SB/bf2koD+MBQiTWVvkO7csZPl/aK3ShqzLqlkGDzGjkudE8BusY+Fn9cPB
/2dsUSaV0FT4yJvPgzQqRqUryMqPe9DVLZ4Lk6O9o22Br71UVOfdVhVu9HqpKydB
7VdHor8PbDej+xqTiZdmkyTleRHqL4QdsB8OG1L/VtHaEuoOrrKgSy/SAxu8fXyI
xZEHue+aUS5OMKu8T9A5yApS+VNGsJ0e5ysqVCS8DjQ/YbtPI1BuTmvlL1KqDdQZ
BzT6yfzAW15hs8X3QBy2DPMFNZiWL6QKeXYULkVIs46im+J2Yc4ZHAXPYpZIvT45
B3OjQEmuDxLNyW0oCJG4fZagXT06NhsI0q14E52QqpAXXRfPe1DEZ4TG0mL4tKVH
wqZ1QR1nDzWS2d4Jd7vdYVIHYtQ5cqelJg/h9pt07GtjvsO9rWBNtb34COOkAazj
mPKDPTKHHI5omOoHwUAZIbKVFA5B2oaxAspzRX9xYQW4Ua/YICFuPnbVnCFUrkFV
KPq4uX8RoEQQ3qRo/MehAB0uZJWay6qM53luWiMlrIXbwaZu5zXA4i42WGTwVh6N
4C1P0lOwfPRcIXhj1sB0paY1bjVkBGLSbxVXUTxm15bBAgMBAAGjggEZMIIBFTAM
BgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDAdBgNVHQ4EFgQUfB1gPr/ENxOfGfNK
GlFpRutlMnQwgbEGA1UdIwSBqTCBpoAUeYkOnjSMaJ0nItbtccKR+bsqQHCheKR2
MHQxCzAJBgNVBAYTAlhYMQswCQYDVQQIDAJZWTETMBEGA1UEBwwKQW50YXJjdGlj
YTETMBEGA1UECgwKUnVzdENyeXB0bzEVMBMGA1UECwwMQ29udHJpYnV0b3JzMRcw
FQYDVQQDDA5jYS5ydXN0Y3J5cC50b4IUZx1B7o0SWeXhfT02gERB5Hb9G4wwJQYD
VR0RBB4wHIIPd3d3LnJ1c3RjcnlwLnRvgglsb2NhbGhvc3QwDQYJKoZIhvcNAQEL
BQADggIBAIRW8ysLc+woHqLh5yhghSe4uswtoWDZI9XFFLbssl8FNsbwMn8+nSiX
FYSsyOxyGpPyJaqya0zfMwrZikz7dJcbjz/a6R5DHM04PaYodlH4GROWxKl2XcW4
q3523tJFJ8I1sbC3FXN3XNQubRPWfrxqUqLz5thefA+i4A81AG8bMT0oZtbtNt3s
iBj+FyRH3XgdE3Hx/X7d8PyUWDnii/1/bp81Q1+zfzBu3Ex3YsfdVUwdJ7+fvnAb
+LJTyVOuMIbwQFoQp2HL4VeBZpdPB7rTLqIL1NCUN5NbG2PeVT3VIZDzoT82903v
b1CqVRawcsMfHAu8vqkWzjTXjLuACoMA0sUeDcnnY53e8SeSfeRX5KDm3KIVE1NJ
JD/2lPfldnIdDwWHbM4AUrEm1896NkrP2bbrFOp4+cjxU5PZnXl9RNFpCCi0Pf4h
B0LSg88ltfnjGAkeXOPxHLfhqmXGHuIlnautbGRBB9m44qmeKNcSbqlP0wULQ+mW
sstteuGHtCQnvKKmlux6RylWFkEki8U0LTE/LWB8BBKqrcB6YmaE8vZR9RWY2V39
vyszzi3vqTO6Wz4aVXs7mruRZMT5RbanVDPws4ehB/Dysj38AebYTlspJY1yzPwm
OALJkg4Sah/sLShN+OGHPTpjshiMSnFjrO2VlOoMIFR6JGqTSAcR
-----END CERTIFICATE-----
Loading
Loading