picky_test_data/
lib.rs

1//! Test data shared between various picky crates.
2
3pub const RSA_2048_PK_1: &str = include_str!("../test_assets/private_keys/rsa-2048-pk_1.key");
4pub const RSA_2048_PK_5: &str = include_str!("../test_assets/private_keys/rsa-2048-pk_5.key");
5pub const RSA_2048_PK_6: &str = include_str!("../test_assets/private_keys/rsa-2048-pk_6.key");
6pub const RSA_2048_PK_7: &str = include_str!("../test_assets/private_keys/rsa-2048-pk_7.key");
7pub const RSA_4096_PK_1: &str = include_str!("../test_assets/private_keys/rsa-4096-pk_1.key");
8pub const RSA_4096_PK_2: &str = include_str!("../test_assets/private_keys/rsa-4096-pk_2.key");
9pub const RSA_4096_PK_3: &str = include_str!("../test_assets/private_keys/rsa-4096-pk_3.key");
10
11pub const EC_NIST256_PK_1: &str = include_str!("../test_assets/private_keys/ec-nist256-pk_1.key");
12
13// openssl ec -in ec-secp256r1-priv-key.pem -no_public -out ec-secp256r1-nopublic-priv-key.pem
14pub const EC_NIST256_NOPUBLIC_DER_PK_1: &str =
15    include_str!("../test_assets/private_keys/ec-nist256-nopublic-der-pk_1.key");
16
17// openssl ec -in ec-secp384r1-priv-key.pem -no_public -out ec-secp384r1-nopublic-priv-key.pem
18pub const EC_NIST384_NOPUBLIC_DER_PK_1: &str =
19    include_str!("../test_assets/private_keys/ec-nist384-nopublic-der-pk_1.key");
20
21// openssl ec -in ec-secp521r1-priv-key.pem -no_public -out ec-secp521r1-nopublic-priv-key.pem
22pub const EC_NIST521_NOPUBLIC_DER_PK_1: &str =
23    include_str!("../test_assets/private_keys/ec-nist521-nopublic-der-pk_1.key");
24
25pub const EC_NIST256_DER_PK_1: &str = include_str!("../test_assets/private_keys/ec-nist256-der-pk_1.key");
26
27pub const EC_NIST384_DER_PK_1: &str = include_str!("../test_assets/private_keys/ec-nist384-der-pk_1.key");
28
29pub const EC_NIST521_DER_PK_1: &str = include_str!("../test_assets/private_keys/ec-nist521-der-pk_1.key");
30
31// openssl ecparam -name secp256r1 -genkey -noout -out ec-secp256r1-priv-key.pem
32// openssl ec -in ec-secp256r1-priv-key.pem -pubout > ec-secp256r1-pub-key.pem
33pub const EC_NIST256_PK_1_PUB: &str = include_str!("../test_assets/public_keys/ec-nist256-pk_1.key");
34
35// openssl ecparam -name secp384r1 -genkey -noout -out ec-secp384r1-priv-key.pem
36// openssl ec -in ec-secp384r1-priv-key.pem -pubout > ec-secp384r1-pub-key.pem
37pub const EC_NIST384_PK_1_PUB: &str = include_str!("../test_assets/public_keys/ec-nist384-pk_1.key");
38
39// openssl ecparam -name secp521r1 -genkey -noout -out ec-secp521r1-priv-key.pem
40// openssl ec -in ec-secp521r1-priv-key.pem -pubout > ec-secp521r1-pub-key.pem
41pub const EC_NIST521_PK_1_PUB: &str = include_str!("../test_assets/public_keys/ec-nist521-pk_1.key");
42
43// openssl ecparam -name secp256k1 -genkey -noout -out ec-secp256k1-priv-key.pem
44// openssl ec -in ec-secp256k1-priv-key.pem -pubout > ec-secp256k1-pub-key.pem
45pub const EC_PUBLIC_KEY_SECP256K1_PEM: &str = include_str!("../test_assets/public_keys/ec-secp256k1-pk_1.key");
46
47// openssl genpkey -algorithm ed25519 -outform PEM -out ed25519.pem
48// openssl pkey -in ed25519.pem -outform PEM > ed25519.pub
49pub const ED25519_PEM_PK_1: &str = include_str!("../test_assets/private_keys/ed25519-pem-pk_1.key");
50pub const ED25519_PEM_PK_1_PUB: &str = include_str!("../test_assets/public_keys/ed25519-pem-pk_1.key");
51
52// openssl genpkey -algorithm x25519 -outform PEM -out x25519.pem
53pub const X25519_PEM_PK_1: &str = include_str!("../test_assets/private_keys/x25519-pem-pk_1.key");
54pub const X25519_PEM_PK_1_PUB: &str = include_str!("../test_assets/public_keys/x25519-pem-pk_1.key");
55
56// openssl genpkey -algorithm ed448 -outform PEM -out ed448.pem
57pub const ED448_PEM_PK_1: &str = include_str!("../test_assets/private_keys/ed448-pem-pk_1.key");
58pub const ED448_PEM_PK_1_PUB: &str = include_str!("../test_assets/public_keys/ed448-pem-pk_1.key");
59
60// openssl genpkey -algorithm x448 -outform PEM -out x448.pem
61pub const X448_PEM_PK_1: &str = include_str!("../test_assets/private_keys/x448-pem-pk_1.key");
62pub const X448_PEM_PK_1_PUB: &str = include_str!("../test_assets/public_keys/x448-pem-pk_1.key");
63
64// cfg_if::cfg_if! { if  #[cfg(feature = "pkcs7")]  {
65pub const PKCS7: &str = include_str!("../test_assets/pkcs7.p7b");
66// }}
67
68// cfg_if::cfg_if! { if #[cfg(feature = "ctl")] {
69pub const CERTIFICATE_TRUST_LIST: &[u8] = include_bytes!("../test_assets/authroot.stl");
70// }}
71
72// cfg_if::cfg_if! { if #[cfg(feature = "x509")] {
73pub const RSA_2048_PK_2: &str = include_str!("../test_assets/private_keys/rsa-2048-pk_2.key");
74pub const RSA_2048_PK_3: &str = include_str!("../test_assets/private_keys/rsa-2048-pk_3.key");
75pub const RSA_2048_PK_4: &str = include_str!("../test_assets/private_keys/rsa-2048-pk_4.key");
76
77pub const EC_NIST256_PK_2: &str = include_str!("../test_assets/private_keys/ec-nist256-pk_2.key");
78
79pub const ED25519_PEM_PK_2: &str = include_str!("../test_assets/private_keys/ed25519-pem-pk_2.key");
80pub const ED25519_PEM_PK_3: &str = include_str!("../test_assets/private_keys/ed25519-pem-pk_3.key");
81
82pub const INTERMEDIATE_CA: &str = include_str!("../test_assets/intermediate_ca.crt");
83pub const ROOT_CA: &str = include_str!("../test_assets/root_ca.crt");
84
85pub const PSDIAG_ROOT: &str = include_str!("../test_assets/authenticode-psdiagnostics/1_psdiag_root.pem");
86pub const PSDIAG_INTER: &str = include_str!("../test_assets/authenticode-psdiagnostics/2_psdiag_inter.pem");
87pub const PSDIAG_LEAF: &str = include_str!("../test_assets/authenticode-psdiagnostics/3_psdiag_leaf.pem");
88// }}
89
90// cfg_if::cfg_if! { if #[cfg(feature = "jose")] {
91pub const EC_NIST521_PK_1: &str = include_str!("../test_assets/private_keys/ec-nist521-pk_1.key");
92
93pub const JOSE_JWT_SIG_EXAMPLE: &str = include_str!("../test_assets/jose/jwt_sig_example.txt");
94pub const JOSE_JWT_SIG_WITH_EXP: &str = include_str!("../test_assets/jose/jwt_sig_with_exp.txt");
95pub const JOSE_JWK_SET: &str = include_str!("../test_assets/jose/jwk_set.json");
96
97pub const JOSE_JWK_EC_P256_JSON: &str = include_str!("../test_assets/jose/jwk_ec_p256.json");
98pub const JOSE_JWK_EC_P384_JSON: &str = include_str!("../test_assets/jose/jwk_ec_p384.json");
99pub const JOSE_JWK_EC_P521_JSON: &str = include_str!("../test_assets/jose/jwk_ec_p521.json");
100pub const JOSE_JWK_ED25519_JSON: &str = include_str!("../test_assets/jose/jwk_ed25519.json");
101pub const JOSE_JWK_X25519_JSON: &str = include_str!("../test_assets/jose/jwk_x25519.json");
102
103pub const JOSE_JWT_SIG_ES256: &str = include_str!("../test_assets/jose/jwt_sig_es256.txt");
104pub const JOSE_JWT_SIG_ES384: &str = include_str!("../test_assets/jose/jwt_sig_es384.txt");
105pub const JOSE_JWT_SIG_ES512: &str = include_str!("../test_assets/jose/jwt_sig_es512.txt");
106
107/// Test data was gathered from https://github.com/golang-jwt/jwt
108pub const JOSE_JWT_SIG_ED25519_GO: &str = include_str!("../test_assets/jose/jwt_sig_ed25519_go.txt");
109pub const JOSE_JWT_SIG_ED25519_GO_PRIVATE_KEY: &str =
110    include_str!("../test_assets/jose/jwt_sig_ed25519_go_private.pem");
111
112/// Test data was gathered from https://github.com/kataras/jwt
113pub const JOSE_JWT_SIG_ED25519: &str = include_str!("../test_assets/jose/jwt_sig_ed25519.txt");
114pub const JOSE_JWT_SIG_ED25519_PRIVATE_KEY: &str = include_str!("../test_assets/jose/jwt_sig_ed25519_private.pem");
115
116/// Genereated via `jwcrypto` python library
117pub const JOSE_JWE_GCM256_EC_P256_ECDH: &str = include_str!("../test_assets/jose/jwe_gcm256_ec_p256_ecdh.txt");
118pub const JOSE_JWE_GCM128_EC_P384_ECDH_KW192: &str =
119    include_str!("../test_assets/jose/jwe_gcm128_ec_p384_ecdh_kw192.txt");
120// }}
121
122// cfg_if::cfg_if! { if #[cfg(feature = "ssh")] {
123// ssh-keygen -t ecdsa -b 256 -C "test_ecdsa@picky.com"
124pub const SSH_PRIVATE_KEY_EC_P256: &str = include_str!("../test_assets/ssh/ssh_key_p256");
125
126// ssh-keygen -t ecdsa -b 384 -C "test_ecdsa@picky.com"
127pub const SSH_PRIVATE_KEY_EC_P384: &str = include_str!("../test_assets/ssh/ssh_key_p384");
128
129// ssh-keygen -t ecdsa -b 521 -C "test_ecdsa@picky.com"
130pub const SSH_PRIVATE_KEY_EC_P521: &str = include_str!("../test_assets/ssh/ssh_key_p521");
131
132// ssh-keygen -t ecdsa -b 256 -C "test_ecdsa@picky.com"
133pub const SSH_PRIVATE_KEY_EC_P256_ENCRYPTED: &str = include_str!("../test_assets/ssh/ssh_encrypted_key_p256");
134
135// ssh-keygen -t ed25519 -C "test_ecdsa@picky.com"
136pub const SSH_PRIVATE_KEY_ED25519: &str = include_str!("../test_assets/ssh/ssh_key_ed25519");
137
138// ssh-keygen -t ecdsa -b 256 -C "test_ecdsa@picky.com"
139pub const SSH_PRIVATE_KEY_ED25519_ENCRYPTED: &str = include_str!("../test_assets/ssh/ssh_encrypted_key_ed25519");
140
141// ssh-keygen -t sk-ed25519 -C "test_ed25519@picky.com"
142pub const SSH_PRIVATE_KEY_SK_ED25519: &str = include_str!("../test_assets/ssh/ssh_key_sk_ed25519");
143
144// ssh-keygen -t sk-ed25519 -C "test_ed25519@picky.com"
145pub const SSH_PRIVATE_KEY_SK_ED25519_ENCRYPTED: &str = include_str!("../test_assets/ssh/ssh_key_sk_ed25519_enc");
146
147// ssh-keygen -t sk-ecdsa -C "test_ecdsa@picky.com"
148pub const SSH_PRIVATE_KEY_SK_ECDSA: &str = include_str!("../test_assets/ssh/ssh_key_sk_ecdsa");
149
150// ssh-keygen -t sk-ecdsa -C "test_ecdsa@picky.com"
151pub const SSH_PRIVATE_KEY_SK_ECDSA_ENCRYPTED: &str = include_str!("../test_assets/ssh/ssh_key_sk_ecdsa_enc");
152
153// ssh-keygen -t rsa -C "test_rsa"
154pub const SSH_PRIVATE_KEY_RSA: &str = include_str!("../test_assets/ssh/ssh_key_rsa");
155
156pub const SSH_PUBLIC_KEY_EC_P256: &str = include_str!("../test_assets/ssh/ssh_key_p256.pub");
157pub const SSH_PUBLIC_KEY_EC_P384: &str = include_str!("../test_assets/ssh/ssh_key_p384.pub");
158pub const SSH_PUBLIC_KEY_EC_P521: &str = include_str!("../test_assets/ssh/ssh_key_p521.pub");
159
160pub const SSH_PUBLIC_KEY_ED25519: &str = include_str!("../test_assets/ssh/ssh_key_ed25519.pub");
161
162pub const SSH_PUBLIC_KEY_SK_ECDSA: &str = include_str!("../test_assets/ssh/ssh_key_sk_ecdsa.pub");
163pub const SSH_PUBLIC_KEY_SK_ED25519: &str = include_str!("../test_assets/ssh/ssh_key_sk_ed25519.pub");
164
165pub const SSH_PUBLIC_KEY_RSA: &str = include_str!("../test_assets/ssh/ssh_key_rsa.pub");
166
167// ssh-keygen -h -s ./ssh_ca_key -V '+1000w' -I abcd -z 00001 -n server.example.com ./ssh_key_p256.pub
168pub const SSH_CERT_EC_P256: &str = include_str!("../test_assets/ssh/ssh_cert_p256.crt");
169// ssh-keygen -h -s ./ssh_ca_key -V '+1000w' -I abcd -z 00001 -n server.example.com ./ssh_key_p384.pub
170pub const SSH_CERT_EC_P384: &str = include_str!("../test_assets/ssh/ssh_cert_p384.crt");
171// ssh-keygen -h -s ./ssh_ca_key -V '+1000w' -I abcd -z 00001 -n server.example.com ./ssh_key_ed25519.pub
172pub const SSH_CERT_ED25519: &str = include_str!("../test_assets/ssh/ssh_cert_ed25519.crt");
173
174// ssh-keygen -h  -s ./sk_ed25519 -V '+1000w' -I abcd -z 00001 -n server.example.com ./ssh_key_p256.pub
175pub const SSH_CERT_SK_ED25519: &str = include_str!("../test_assets/ssh/ssh_sk_ed25519_key_p256-cert.pub");
176// ssh-keygen -h  -s ./sk_ecdsa -V '+1000w' -I abcd -z 00001 -n server.example.com ./ssh_key_p256.pub
177pub const SSH_CERT_SK_ECDSA: &str = include_str!("../test_assets/ssh/ssh_sk_ecdsa_key_p256-cert.pub");
178
179// ssh-keygen -h  -s ./ssh_key_p256 -V '+1000w' -I abcd -z 00001 -n server.example.com ./sk_ecdsa.pub
180pub const SSH_CERT_SK_ECDSA_SIG_EC: &str = include_str!("../test_assets/ssh/ssh_p256_key_sk_ecdsa-cert.pub");
181// ssh-keygen -h  -s ./ssh_key_p256 -V '+1000w' -I abcd -z 00001 -n server.example.com ./sk_ecdsa.pub
182pub const SSH_CERT_SK_ED25519_SIG_EC: &str = include_str!("../test_assets/ssh/ssh_p256_key_sk_ed25519-cert.pub");
183// }}
184
185// cfg_if::cfg_if! { if #[cfg(any(feature = "jose", feature = "x509"))] {
186pub const EC_NIST384_PK_1: &str = include_str!("../test_assets/private_keys/ec-nist384-pk_1.key");
187// }}
188
189// cfg_if::cfg_if! { if #[cfg(feature = "putty")] {
190pub const PUTTY_KEY_ED25519: &str = include_str!("../test_assets/putty/ed25519.ppk");
191pub const PUTTY_KEY_ED25519_ENCRYPTED: &str = include_str!("../test_assets/putty/ed25519_encrypted.ppk");
192pub const PUTTY_KEY_ED25519_PUBLIC: &str = include_str!("../test_assets/putty/ed25519");
193
194pub const PUTTY_KEY_ED25519_V2: &str = include_str!("../test_assets/putty/ed25519_v2.ppk");
195pub const PUTTY_KEY_ED25519_V2_ENCRYPTED: &str = include_str!("../test_assets/putty/ed25519_v2_encrypted.ppk");
196
197pub const PUTTY_KEY_RSA_PUBLIC_EMPTY_COMMENT: &str = include_str!("../test_assets/putty/rsa_pub_empty_comment");
198pub const PUTTY_KEY_RSA_PUBLIC_ESCAPED_COMMENT: &str = include_str!("../test_assets/putty/rsa_pub_escaped_conmment");
199// }}
200
201pub const PEM_BYTES: &[u8] = include_bytes!("../test_assets/intermediate_ca.crt");
202pub const PEM_STR: &str = include_str!("../test_assets/intermediate_ca.crt");
203
204pub const MISSING_AUTH_KEY_ID: &[u8] = include_bytes!("../test_assets/missing_authority_key_identifier_field.crt");
205pub const CERTMGR_AES256: &[u8] = include_bytes!("../test_assets/pkcs12/certmgr_aes256.pfx");
206pub const CERTMGR_3DES: &[u8] = include_bytes!("../test_assets/pkcs12/certmgr_3des.pfx");
207pub const LEAF_PASSWORD_IS_ABC: &[u8] = include_bytes!("../test_assets/pkcs12/leaf_password_is_abc.pfx");
208pub const LEAF_EMPTY_PASSWORD: &[u8] = include_bytes!("../test_assets/pkcs12/leaf_empty_password.pfx");
209pub const OPENSSL_NOCRYPT: &[u8] = include_bytes!("../test_assets/pkcs12/openssl_nocrypt.pfx");
210pub const ASSERT_LEAF: &[u8] = include_bytes!("../test_assets/pkcs12/asset_leaf.crt");
211pub const ASSERT_INTERMEDIATE: &[u8] = include_bytes!("../test_assets/pkcs12/asset_intermediate.crt");
212pub const ASSERT_ROOT: &[u8] = include_bytes!("../test_assets/pkcs12/asset_root.crt");
213
214pub const ALL_STARS: &str = include_str!("../test_assets/mkcert_all_root_ca_2019_10.txt");