Skip to content

Commit 802336c

Browse files
committed
tests: add aes256-gcm encrypted key test
Follow-up to libssh2#1133 Also update `tests/gen_keys.sh` to set `aes256-ctr` encryption method for `key_ed25519_encrypted' explicitly. Closes libssh2#1135
1 parent e87bdef commit 802336c

File tree

6 files changed

+58
-1
lines changed

6 files changed

+58
-1
lines changed

tests/Makefile.inc

+3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ DOCKER_TESTS = \
2121
test_auth_pubkey_ok_ed25519_encrypted \
2222
test_auth_pubkey_ok_ed25519_mem \
2323
test_auth_pubkey_ok_rsa \
24+
test_auth_pubkey_ok_rsa_aes256gcm \
2425
test_auth_pubkey_ok_rsa_encrypted \
2526
test_auth_pubkey_ok_rsa_openssh \
2627
test_auth_pubkey_ok_rsa_signed \
@@ -70,6 +71,8 @@ EXTRA_DIST = \
7071
key_ed25519_encrypted.pub \
7172
key_rsa \
7273
key_rsa.pub \
74+
key_rsa_aes256gcm \
75+
key_rsa_aes256gcm.pub \
7376
key_rsa_encrypted \
7477
key_rsa_encrypted.pub \
7578
key_rsa_openssh \

tests/gen_keys.sh

+3-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ ssh-keygen -t dsa -N '' -m PEM -C 'key_dsa_wrong'
3535
ssh-keygen -t rsa -b 2048 -N '' -m PEM -C 'key_rsa' -f 'key_rsa'
3636
ssh-keygen -t rsa -b 2048 -N "${pw}" -m PEM -C 'key_rsa_encrypted' -f 'key_rsa_encrypted'
3737
ssh-keygen -t rsa -b 2048 -N '' -C 'key_rsa_openssh' -f 'key_rsa_openssh'
38+
ssh-keygen -t rsa -b 2048 -N "${pw}" -C 'key_rsa_aes256gcm' -f 'key_rsa_aes256gcm' -Z [email protected]
3839
ssh-keygen -t rsa -b 4096 -N '' -C 'key_rsa_signed' -f 'key_rsa_signed'
3940
ssh-keygen -I "${id}" -n "${pr}" -s 'openssh_server/ca_rsa' 'key_rsa_signed.pub'
4041

@@ -43,13 +44,14 @@ ssh-keygen -t ecdsa -b 384 -N '' -C 'key_ecdsa_signed'
4344
ssh-keygen -I "${id}" -n "${pr}" -s 'openssh_server/ca_ecdsa' 'key_ecdsa_signed.pub'
4445

4546
ssh-keygen -t ed25519 -N '' -C 'key_ed25519' -f 'key_ed25519'
46-
ssh-keygen -t ed25519 -N "${pw}" -C 'key_ed25519_encrypted' -f 'key_ed25519_encrypted'
47+
ssh-keygen -t ed25519 -N "${pw}" -C 'key_ed25519_encrypted' -f 'key_ed25519_encrypted' -Z aes256-ctr
4748

4849
cat \
4950
'key_dsa.pub' \
5051
'key_rsa.pub' \
5152
'key_rsa_encrypted.pub' \
5253
'key_rsa_openssh.pub' \
54+
'key_rsa_aes256gcm.pub' \
5355
'key_ed25519.pub' \
5456
'key_ed25519_encrypted.pub' \
5557
'key_ecdsa.pub' \

tests/key_rsa_aes256gcm

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN OPENSSH PRIVATE KEY-----
2+
b3BlbnNzaC1rZXktdjEAAAAAFmFlczI1Ni1nY21Ab3BlbnNzaC5jb20AAAAGYmNyeXB0AA
3+
AAGAAAABAmOIAmfR0iPtpLznIb9WCyAAAAEAAAAAEAAAEXAAAAB3NzaC1yc2EAAAADAQAB
4+
AAABAQDD+1l4u2KtpvsP2EpioqgHjfirT7IIQOQfCsjZCppmLUcPE1/qCC7krqjzaQ3nuK
5+
lVEc/pKJrti2oc0tBDp6zzr8pPkmzdMtpjP84RkJZwu6eVZyZqQrjpmwjw7IWVbGoxkKFp
6+
WS2ndxCzhoD/F+TW2NcjpwFN53Ktq0SdHVUXU00RlzUiKNTdzanb8vyF3m+PGwIWPX92E2
7+
t/31WxRVXwybTdpXSzyz9IIjxMkrSRVa8XzX0EyUzETuiAeU94AWJX5Gu/pFJT6E7VEMQu
8+
deN4iI75WYGxrYU1HCOTnsYk/9LCdM7O6ntJIlzul3CwXsD6+B35hu5AJb91RNbHYWUzAA
9+
AD0HUCt7WrNYthfkq/kHld0SbsL6Eb6fu3iMWtXrRAi1/9sV5520u3NNjPwdFWSe4rWPGO
10+
uBUW+zwquU1Ob9JIsgMwBtGSCrx6UOhPEMsJF76HRkkgRow9tLZkFB7YZf6RLUALIg12Sf
11+
lv0YEAOZZejp2m7866ABYpcju0AsJ9M6p3H8vd5SK2KVyybV0ITKeetUNctCEw/sxQQN6d
12+
p/pPbDFf5NiC4MPctdjM+PzkXOQ1Aw6kkkmz1TsfN6wyjuCKR1fMzloCc5WVC5LAtMd+sN
13+
cVJmBKe2tVVHSsN+z0MuU9zb1XLi9cvSl/S2MGQFU1KFr8GTG+WYkS/BUeNUup8oxYKWNZ
14+
LQYUpqs5dGoLWgxNDTrXnFoT5QaSob9FSANaJdT/bjL7Dtvnmakwd1nR1ZDDENUpWFjUAM
15+
yEavga1xS2tWhMNqRLzhoszyvAykdYXoKHj7ovWwXA6d6WVrlaP7zLxPScD3ML9qfLp2DY
16+
IMM7WDFmzPiSyI731dN7xoBroblaGInM8JK8B6gpS+QvLj7UcmNdQldHRgT/2KsK5K2Cn3
17+
16gHKUG2vnqzASJ6IrqII/H557t0Ded27SB5ZMP2adyMRDwBJNMlCGhJmbYECdzr+1eJU3
18+
1FQTV7Iz6+XNmEK3QdC5qCrGzem6GPm3j1FpuDYS5Z7AszfVPCeJr031ePcH6JZOMa09A0
19+
Zfcv2/+lyIpt713m9pTMnbfTEbxa2EVquVnSG+YyknASMnqw/DAT5n3/Zx9sO7RefrrNHx
20+
MhOG5Pg1TIb1gr0W5R/f+0evqftJTLDvP7z5cbsqBlKpIc5jnWuV/kvDhltN2Ty6FjSRlX
21+
kdf/Cgig7xKxcgd4iC98ThvcHaGjkAu4vD2G6tCVE/vEhq6rkhTsTS/OwKUC8Wd/Agf02S
22+
2MRl7cocSqZAJQDiLIWwDIg8hrAV67WqLZi82v4tH+TwjcUnP/JHFI0ZQkcQF203sGml77
23+
YC2qS/km1AMj4J4E8i6qLWM3gKuo7ZOvigDQfCGY0VLmuPugI0UKBhiVK7yyKdAfO5CM3d
24+
S6c2dNk7AHXI2AdtoFNe227rutuVV1JFzK9si6ZEo6SrcqigPq7WcKjkzrEIVFXxfnj1c2
25+
sYQ8gWlzHO3WvSM7/+9vpv0yQEHT1iysjkWscIPEQqkJ7LizXhq8MWp7NRlyIY6/CcqAzX
26+
mgIHD2WnoZ/4EzR6tgewWdaIoduiGbO3q7E06sw+2VGwFDXYfOIQjFgvm/fJu4BGRB1dbW
27+
HfPJ4F59jHjnnxse44PkztJ3IydvQ4RvM/zoUPa6RMCZTkYnJ0SsgnRoli5+UNNWbf
28+
-----END OPENSSH PRIVATE KEY-----

tests/key_rsa_aes256gcm.pub

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDD+1l4u2KtpvsP2EpioqgHjfirT7IIQOQfCsjZCppmLUcPE1/qCC7krqjzaQ3nuKlVEc/pKJrti2oc0tBDp6zzr8pPkmzdMtpjP84RkJZwu6eVZyZqQrjpmwjw7IWVbGoxkKFpWS2ndxCzhoD/F+TW2NcjpwFN53Ktq0SdHVUXU00RlzUiKNTdzanb8vyF3m+PGwIWPX92E2t/31WxRVXwybTdpXSzyz9IIjxMkrSRVa8XzX0EyUzETuiAeU94AWJX5Gu/pFJT6E7VEMQudeN4iI75WYGxrYU1HCOTnsYk/9LCdM7O6ntJIlzul3CwXsD6+B35hu5AJb91RNbHYWUz key_rsa_aes256gcm

tests/openssh_server/authorized_keys

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ ssh-dss AAAAB3NzaC1kc3MAAACBAK2Jh2Ck+8W1+LsFrjgOIH7XHySiONPSdG+faFTZprinh9cjyR3o
22
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAnak1T7zHJ+hVRFBDQ9pf1KVzmd5gaNc7y7NPmL13aOG3sYeJevi1x1WM/R3tb8XnUnzZUX9GJN0MYovvZsw9bknG1mDP72LFbGp/gzPddGIKHBBpvceDaJ85sM/ME3XOtD7uuXQuNAuEHwEzSMMiSIEMcQS+lXIcMLr5xPLEkyNvqsO5RqSjMTLHKHgY8gLWx7oQ1avokhwuDxF7P3Pqtj+rW2Te6vR0i1H6EyFPsBkzkgNXb33cus8M1CnTmYTSgJgmHO2LLcGpjQ5sL8T/PWIWHaSqTnkrFXEMysgoteXnAYILjzyBaqq2WV4KA3TluGdAP2p8gC32QtKmIuis3Q== awl03@bounty
33
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC92YlGoc4PJy6DzX916JJZhxkvmkWBLGJdWOL7R9B6iaYEKebBxzTE3P1RcnxnuI06kklVq/KcDP9sLlgawTZcDg7ifM7HncPOi18OON8vvVVzodikHzuupjhpI5YTT9wwV2fDVi2URsBjvX4AFiZ5WM3/NwqdKpYABzWieBikXGJ58Tsnw+zQw2qMmKKESBuzSN538loTAj5iEH/GAKYDbbH9t2a17qhNCNEw4vrtURT9JqwO1cOg7N1OKpmqCPEbK0wuSTljNC230VJ06X/8UqahWWSH6MreGy6gwpPi6i9wFiFLur301R0dTPiKVhz6bguhcC1EAlhSgjfelFJt awl03@bounty
44
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTe1lN2L/yet0Ma1JzXkQf3t1f+pauALec2FsGZy87KRJW1AOxcTTiePjlFwP1yfSK1lWXQ+uf0b61gkKqqR52FDky24HJWuYlfXlEQMn2d/PNDNVDDbO4TXKyNxxUHFJ6qYMNd4kWjOH+6rmYoWKsWV+3mDRbHagbVPEYL8wep8OTqKOqruVLVPzZyYZkBtn4XOFi6UE8WKiSVdK1Am1O5UxvlD95t32eYch6wQ9azgMqja6spe/L5UJgP83QZFknVC3wPZWkjqomVFql0FpaQclENwyY/OZMxr0cT/f7bCL6s4A/1XpbsGmC0xak4/THHbOn+0LdIej2nGV8JFoR
5+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDD+1l4u2KtpvsP2EpioqgHjfirT7IIQOQfCsjZCppmLUcPE1/qCC7krqjzaQ3nuKlVEc/pKJrti2oc0tBDp6zzr8pPkmzdMtpjP84RkJZwu6eVZyZqQrjpmwjw7IWVbGoxkKFpWS2ndxCzhoD/F+TW2NcjpwFN53Ktq0SdHVUXU00RlzUiKNTdzanb8vyF3m+PGwIWPX92E2t/31WxRVXwybTdpXSzyz9IIjxMkrSRVa8XzX0EyUzETuiAeU94AWJX5Gu/pFJT6E7VEMQudeN4iI75WYGxrYU1HCOTnsYk/9LCdM7O6ntJIlzul3CwXsD6+B35hu5AJb91RNbHYWUz key_rsa_aes256gcm
56
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFEg0II3zbc1yWGhRzIc5KwTRlmx10RQP0sS63+1oMPi
67
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICHxEyUTOVHXvdMFARedFQ+H9DW/n8Zy3daKKRqnTDMq
78
ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBOiyJJwf+hFJrOkik9IQVxjhhVnI1vKl4BGLj03erLvw4TXXwoZzlPx6J936fU9JvvPw+d8PA4viMEfFbmdbHREKhwi3u1vZrfj0mB8SXw96AcZwX8PAL556wgom+/Qx+Q==
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/* Copyright (C) The libssh2 project and its contributors.
2+
*
3+
* SPDX-License-Identifier: BSD-3-Clause
4+
*/
5+
6+
#include "runner.h"
7+
8+
int test(LIBSSH2_SESSION *session)
9+
{
10+
#if LIBSSH2_RSA_SHA1 && LIBSSH2_AES_GCM && \
11+
(defined(LIBSSH2_OPENSSL) || defined(LIBSSH2_WOLFSSL))
12+
/* set in Dockerfile */
13+
return test_auth_pubkey(session, 0,
14+
"libssh2",
15+
"libssh2",
16+
"key_rsa_aes256gcm.pub",
17+
"key_rsa_aes256gcm");
18+
#else
19+
(void)session;
20+
return 0;
21+
#endif
22+
}

0 commit comments

Comments
 (0)