diff options
Diffstat (limited to 'regress/unittests')
24 files changed, 258 insertions, 7 deletions
diff --git a/regress/unittests/sshkey/mktestdata.sh b/regress/unittests/sshkey/mktestdata.sh index 8efe6dd03..fcd78e990 100755 --- a/regress/unittests/sshkey/mktestdata.sh +++ b/regress/unittests/sshkey/mktestdata.sh | |||
@@ -1,5 +1,5 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | # $OpenBSD: mktestdata.sh,v 1.10 2020/05/01 04:03:14 djm Exp $ | 2 | # $OpenBSD: mktestdata.sh,v 1.11 2020/06/19 03:48:49 djm Exp $ |
3 | 3 | ||
4 | PW=mekmitasdigoat | 4 | PW=mekmitasdigoat |
5 | 5 | ||
@@ -70,6 +70,15 @@ set -ex | |||
70 | 70 | ||
71 | cd testdata | 71 | cd testdata |
72 | 72 | ||
73 | if [ -f ../../../misc/sk-dummy/sk-dummy.so ] ; then | ||
74 | SK_DUMMY=../../../misc/sk-dummy/sk-dummy.so | ||
75 | elif [ -f ../../../misc/sk-dummy/obj/sk-dummy.so ] ; then | ||
76 | SK_DUMMY=../../../misc/sk-dummy/obj/sk-dummy.so | ||
77 | else | ||
78 | echo "Can't find sk-dummy.so" 1>&2 | ||
79 | exit 1 | ||
80 | fi | ||
81 | |||
73 | rm -f rsa_1 dsa_1 ecdsa_1 ed25519_1 | 82 | rm -f rsa_1 dsa_1 ecdsa_1 ed25519_1 |
74 | rm -f rsa_2 dsa_2 ecdsa_2 ed25519_2 | 83 | rm -f rsa_2 dsa_2 ecdsa_2 ed25519_2 |
75 | rm -f rsa_n dsa_n ecdsa_n # new-format keys | 84 | rm -f rsa_n dsa_n ecdsa_n # new-format keys |
@@ -81,11 +90,20 @@ ssh-keygen -t rsa -b 1024 -C "RSA test key #1" -N "" -f rsa_1 -m PEM | |||
81 | ssh-keygen -t dsa -b 1024 -C "DSA test key #1" -N "" -f dsa_1 -m PEM | 90 | ssh-keygen -t dsa -b 1024 -C "DSA test key #1" -N "" -f dsa_1 -m PEM |
82 | ssh-keygen -t ecdsa -b 256 -C "ECDSA test key #1" -N "" -f ecdsa_1 -m PEM | 91 | ssh-keygen -t ecdsa -b 256 -C "ECDSA test key #1" -N "" -f ecdsa_1 -m PEM |
83 | ssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_1 | 92 | ssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_1 |
93 | ssh-keygen -w "$SK_DUMMY" -t ecdsa-sk -C "ECDSA-SK test key #1" \ | ||
94 | -N "" -f ecdsa_sk1 | ||
95 | ssh-keygen -w "$SK_DUMMY" -t ed25519-sk -C "ED25519-SK test key #1" \ | ||
96 | -N "" -f ed25519_sk1 | ||
97 | |||
84 | 98 | ||
85 | ssh-keygen -t rsa -b 2048 -C "RSA test key #2" -N "" -f rsa_2 -m PEM | 99 | ssh-keygen -t rsa -b 2048 -C "RSA test key #2" -N "" -f rsa_2 -m PEM |
86 | ssh-keygen -t dsa -b 1024 -C "DSA test key #2" -N "" -f dsa_2 -m PEM | 100 | ssh-keygen -t dsa -b 1024 -C "DSA test key #2" -N "" -f dsa_2 -m PEM |
87 | ssh-keygen -t ecdsa -b 521 -C "ECDSA test key #2" -N "" -f ecdsa_2 -m PEM | 101 | ssh-keygen -t ecdsa -b 521 -C "ECDSA test key #2" -N "" -f ecdsa_2 -m PEM |
88 | ssh-keygen -t ed25519 -C "ED25519 test key #1" -N "" -f ed25519_2 | 102 | ssh-keygen -t ed25519 -C "ED25519 test key #2" -N "" -f ed25519_2 |
103 | ssh-keygen -w "$SK_DUMMY" -t ecdsa-sk -C "ECDSA-SK test key #2" \ | ||
104 | -N "" -f ecdsa_sk2 | ||
105 | ssh-keygen -w "$SK_DUMMY" -t ed25519-sk -C "ED25519-SK test key #2" \ | ||
106 | -N "" -f ed25519_sk2 | ||
89 | 107 | ||
90 | cp rsa_1 rsa_n | 108 | cp rsa_1 rsa_n |
91 | cp dsa_1 dsa_n | 109 | cp dsa_1 dsa_n |
@@ -99,6 +117,8 @@ cp rsa_1 rsa_1_pw | |||
99 | cp dsa_1 dsa_1_pw | 117 | cp dsa_1 dsa_1_pw |
100 | cp ecdsa_1 ecdsa_1_pw | 118 | cp ecdsa_1 ecdsa_1_pw |
101 | cp ed25519_1 ed25519_1_pw | 119 | cp ed25519_1 ed25519_1_pw |
120 | cp ecdsa_sk1 ecdsa_sk1_pw | ||
121 | cp ed25519_sk1 ed25519_sk1_pw | ||
102 | cp rsa_1 rsa_n_pw | 122 | cp rsa_1 rsa_n_pw |
103 | cp dsa_1 dsa_n_pw | 123 | cp dsa_1 dsa_n_pw |
104 | cp ecdsa_1 ecdsa_n_pw | 124 | cp ecdsa_1 ecdsa_n_pw |
@@ -107,6 +127,8 @@ ssh-keygen -pf rsa_1_pw -m PEM -N "$PW" | |||
107 | ssh-keygen -pf dsa_1_pw -m PEM -N "$PW" | 127 | ssh-keygen -pf dsa_1_pw -m PEM -N "$PW" |
108 | ssh-keygen -pf ecdsa_1_pw -m PEM -N "$PW" | 128 | ssh-keygen -pf ecdsa_1_pw -m PEM -N "$PW" |
109 | ssh-keygen -pf ed25519_1_pw -N "$PW" | 129 | ssh-keygen -pf ed25519_1_pw -N "$PW" |
130 | ssh-keygen -pf ecdsa_sk1_pw -m PEM -N "$PW" | ||
131 | ssh-keygen -pf ed25519_sk1_pw -N "$PW" | ||
110 | ssh-keygen -pf rsa_n_pw -N "$PW" | 132 | ssh-keygen -pf rsa_n_pw -N "$PW" |
111 | ssh-keygen -pf dsa_n_pw -N "$PW" | 133 | ssh-keygen -pf dsa_n_pw -N "$PW" |
112 | ssh-keygen -pf ecdsa_n_pw -N "$PW" | 134 | ssh-keygen -pf ecdsa_n_pw -N "$PW" |
@@ -117,7 +139,7 @@ dsa_params dsa_1 dsa_1.param | |||
117 | dsa_params dsa_1 dsa_1.param | 139 | dsa_params dsa_1 dsa_1.param |
118 | ecdsa_params ecdsa_1 ecdsa_1.param | 140 | ecdsa_params ecdsa_1 ecdsa_1.param |
119 | ecdsa_params ecdsa_2 ecdsa_2.param | 141 | ecdsa_params ecdsa_2 ecdsa_2.param |
120 | # XXX ed25519 params | 142 | # XXX ed25519, *sk params |
121 | 143 | ||
122 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ | 144 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ |
123 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ | 145 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ |
@@ -131,6 +153,13 @@ ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ | |||
131 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ | 153 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ |
132 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ | 154 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ |
133 | -V 19990101:20110101 -z 4 ed25519_1.pub | 155 | -V 19990101:20110101 -z 4 ed25519_1.pub |
156 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ | ||
157 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ | ||
158 | -V 19990101:20110101 -z 4 ecdsa_sk1.pub | ||
159 | ssh-keygen -s rsa_2 -I hugo -n user1,user2 \ | ||
160 | -Oforce-command=/bin/ls -Ono-port-forwarding -Osource-address=10.0.0.0/8 \ | ||
161 | -V 19990101:20110101 -z 4 ed25519_sk1.pub | ||
162 | |||
134 | 163 | ||
135 | # Make a few RSA variant signature too. | 164 | # Make a few RSA variant signature too. |
136 | cp rsa_1 rsa_1_sha1 | 165 | cp rsa_1 rsa_1_sha1 |
@@ -152,30 +181,42 @@ ssh-keygen -s ecdsa_1 -I julius -n host1,host2 -h \ | |||
152 | -V 19990101:20110101 -z 7 ecdsa_1.pub | 181 | -V 19990101:20110101 -z 7 ecdsa_1.pub |
153 | ssh-keygen -s ed25519_1 -I julius -n host1,host2 -h \ | 182 | ssh-keygen -s ed25519_1 -I julius -n host1,host2 -h \ |
154 | -V 19990101:20110101 -z 8 ed25519_1.pub | 183 | -V 19990101:20110101 -z 8 ed25519_1.pub |
184 | ssh-keygen -s ecdsa_1 -I julius -n host1,host2 -h \ | ||
185 | -V 19990101:20110101 -z 7 ecdsa_sk1.pub | ||
186 | ssh-keygen -s ed25519_1 -I julius -n host1,host2 -h \ | ||
187 | -V 19990101:20110101 -z 8 ed25519_sk1.pub | ||
155 | 188 | ||
156 | ssh-keygen -lf rsa_1 | awk '{print $2}' > rsa_1.fp | 189 | ssh-keygen -lf rsa_1 | awk '{print $2}' > rsa_1.fp |
157 | ssh-keygen -lf dsa_1 | awk '{print $2}' > dsa_1.fp | 190 | ssh-keygen -lf dsa_1 | awk '{print $2}' > dsa_1.fp |
158 | ssh-keygen -lf ecdsa_1 | awk '{print $2}' > ecdsa_1.fp | 191 | ssh-keygen -lf ecdsa_1 | awk '{print $2}' > ecdsa_1.fp |
159 | ssh-keygen -lf ed25519_1 | awk '{print $2}' > ed25519_1.fp | 192 | ssh-keygen -lf ed25519_1 | awk '{print $2}' > ed25519_1.fp |
193 | ssh-keygen -lf ecdsa_sk1 | awk '{print $2}' > ecdsa_sk1.fp | ||
194 | ssh-keygen -lf ed25519_sk1 | awk '{print $2}' > ed25519_sk1.fp | ||
160 | ssh-keygen -lf rsa_2 | awk '{print $2}' > rsa_2.fp | 195 | ssh-keygen -lf rsa_2 | awk '{print $2}' > rsa_2.fp |
161 | ssh-keygen -lf dsa_2 | awk '{print $2}' > dsa_2.fp | 196 | ssh-keygen -lf dsa_2 | awk '{print $2}' > dsa_2.fp |
162 | ssh-keygen -lf ecdsa_2 | awk '{print $2}' > ecdsa_2.fp | 197 | ssh-keygen -lf ecdsa_2 | awk '{print $2}' > ecdsa_2.fp |
163 | ssh-keygen -lf ed25519_2 | awk '{print $2}' > ed25519_2.fp | 198 | ssh-keygen -lf ed25519_2 | awk '{print $2}' > ed25519_2.fp |
199 | ssh-keygen -lf ecdsa_sk2 | awk '{print $2}' > ecdsa_sk2.fp | ||
200 | ssh-keygen -lf ed25519_sk2 | awk '{print $2}' > ed25519_sk2.fp | ||
164 | 201 | ||
202 | ssh-keygen -lf rsa_1-cert.pub | awk '{print $2}' > rsa_1-cert.fp | ||
165 | ssh-keygen -lf dsa_1-cert.pub | awk '{print $2}' > dsa_1-cert.fp | 203 | ssh-keygen -lf dsa_1-cert.pub | awk '{print $2}' > dsa_1-cert.fp |
166 | ssh-keygen -lf ecdsa_1-cert.pub | awk '{print $2}' > ecdsa_1-cert.fp | 204 | ssh-keygen -lf ecdsa_1-cert.pub | awk '{print $2}' > ecdsa_1-cert.fp |
167 | ssh-keygen -lf ed25519_1-cert.pub | awk '{print $2}' > ed25519_1-cert.fp | 205 | ssh-keygen -lf ed25519_1-cert.pub | awk '{print $2}' > ed25519_1-cert.fp |
168 | ssh-keygen -lf rsa_1-cert.pub | awk '{print $2}' > rsa_1-cert.fp | 206 | ssh-keygen -lf ecdsa_sk1-cert.pub | awk '{print $2}' > ecdsa_sk1-cert.fp |
207 | ssh-keygen -lf ed25519_sk1-cert.pub | awk '{print $2}' > ed25519_sk1-cert.fp | ||
169 | 208 | ||
170 | ssh-keygen -Bf rsa_1 | awk '{print $2}' > rsa_1.fp.bb | 209 | ssh-keygen -Bf rsa_1 | awk '{print $2}' > rsa_1.fp.bb |
171 | ssh-keygen -Bf dsa_1 | awk '{print $2}' > dsa_1.fp.bb | 210 | ssh-keygen -Bf dsa_1 | awk '{print $2}' > dsa_1.fp.bb |
172 | ssh-keygen -Bf ecdsa_1 | awk '{print $2}' > ecdsa_1.fp.bb | 211 | ssh-keygen -Bf ecdsa_1 | awk '{print $2}' > ecdsa_1.fp.bb |
173 | ssh-keygen -Bf ed25519_1 | awk '{print $2}' > ed25519_1.fp.bb | 212 | ssh-keygen -Bf ed25519_1 | awk '{print $2}' > ed25519_1.fp.bb |
213 | ssh-keygen -Bf ecdsa_sk1 | awk '{print $2}' > ecdsa_sk1.fp.bb | ||
214 | ssh-keygen -Bf ed25519_sk1 | awk '{print $2}' > ed25519_sk1.fp.bb | ||
174 | ssh-keygen -Bf rsa_2 | awk '{print $2}' > rsa_2.fp.bb | 215 | ssh-keygen -Bf rsa_2 | awk '{print $2}' > rsa_2.fp.bb |
175 | ssh-keygen -Bf dsa_2 | awk '{print $2}' > dsa_2.fp.bb | 216 | ssh-keygen -Bf dsa_2 | awk '{print $2}' > dsa_2.fp.bb |
176 | ssh-keygen -Bf ecdsa_2 | awk '{print $2}' > ecdsa_2.fp.bb | 217 | ssh-keygen -Bf ecdsa_2 | awk '{print $2}' > ecdsa_2.fp.bb |
177 | ssh-keygen -Bf ed25519_2 | awk '{print $2}' > ed25519_2.fp.bb | 218 | ssh-keygen -Bf ed25519_2 | awk '{print $2}' > ed25519_2.fp.bb |
178 | 219 | ssh-keygen -Bf ecdsa_sk2 | awk '{print $2}' > ecdsa_sk2.fp.bb | |
179 | # XXX Extend ssh-keygen to do detached signatures (better to test/fuzz against) | 220 | ssh-keygen -Bf ed25519_sk2 | awk '{print $2}' > ed25519_sk2.fp.bb |
180 | 221 | ||
181 | echo "$PW" > pw | 222 | echo "$PW" > pw |
diff --git a/regress/unittests/sshkey/test_file.c b/regress/unittests/sshkey/test_file.c index 55627bc12..6afe3ba2b 100644 --- a/regress/unittests/sshkey/test_file.c +++ b/regress/unittests/sshkey/test_file.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: test_file.c,v 1.8 2018/09/13 09:03:20 djm Exp $ */ | 1 | /* $OpenBSD: test_file.c,v 1.9 2020/06/19 03:48:49 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Regress test for sshkey.h key management API | 3 | * Regress test for sshkey.h key management API |
4 | * | 4 | * |
@@ -422,6 +422,135 @@ sshkey_file_tests(void) | |||
422 | 422 | ||
423 | sshkey_free(k1); | 423 | sshkey_free(k1); |
424 | 424 | ||
425 | TEST_START("parse ECDSA-SK from private"); | ||
426 | buf = load_file("ecdsa_sk1"); | ||
427 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, "", &k1, NULL), 0); | ||
428 | sshbuf_free(buf); | ||
429 | ASSERT_PTR_NE(k1, NULL); | ||
430 | ASSERT_INT_EQ(k1->type, KEY_ECDSA_SK); | ||
431 | TEST_DONE(); | ||
432 | |||
433 | TEST_START("parse ECDSA-SK from private w/ passphrase"); | ||
434 | buf = load_file("ecdsa_sk1_pw"); | ||
435 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, | ||
436 | (const char *)sshbuf_ptr(pw), &k2, NULL), 0); | ||
437 | sshbuf_free(buf); | ||
438 | ASSERT_PTR_NE(k2, NULL); | ||
439 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 1); | ||
440 | sshkey_free(k2); | ||
441 | TEST_DONE(); | ||
442 | |||
443 | TEST_START("load ECDSA-SK from public"); | ||
444 | ASSERT_INT_EQ(sshkey_load_public(test_data_file("ecdsa_sk1.pub"), &k2, | ||
445 | NULL), 0); | ||
446 | ASSERT_PTR_NE(k2, NULL); | ||
447 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 1); | ||
448 | sshkey_free(k2); | ||
449 | TEST_DONE(); | ||
450 | |||
451 | TEST_START("load ECDSA-SK cert"); | ||
452 | ASSERT_INT_EQ(sshkey_load_cert(test_data_file("ecdsa_sk1"), &k2), 0); | ||
453 | ASSERT_PTR_NE(k2, NULL); | ||
454 | ASSERT_INT_EQ(k2->type, KEY_ECDSA_SK_CERT); | ||
455 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 0); | ||
456 | ASSERT_INT_EQ(sshkey_equal_public(k1, k2), 1); | ||
457 | TEST_DONE(); | ||
458 | |||
459 | TEST_START("ECDSA-SK key hex fingerprint"); | ||
460 | buf = load_text_file("ecdsa_sk1.fp"); | ||
461 | cp = sshkey_fingerprint(k1, SSH_DIGEST_SHA256, SSH_FP_BASE64); | ||
462 | ASSERT_PTR_NE(cp, NULL); | ||
463 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
464 | sshbuf_free(buf); | ||
465 | free(cp); | ||
466 | TEST_DONE(); | ||
467 | |||
468 | TEST_START("ECDSA-SK cert hex fingerprint"); | ||
469 | buf = load_text_file("ecdsa_sk1-cert.fp"); | ||
470 | cp = sshkey_fingerprint(k2, SSH_DIGEST_SHA256, SSH_FP_BASE64); | ||
471 | ASSERT_PTR_NE(cp, NULL); | ||
472 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
473 | sshbuf_free(buf); | ||
474 | free(cp); | ||
475 | sshkey_free(k2); | ||
476 | TEST_DONE(); | ||
477 | |||
478 | TEST_START("ECDSA-SK key bubblebabble fingerprint"); | ||
479 | buf = load_text_file("ecdsa_sk1.fp.bb"); | ||
480 | cp = sshkey_fingerprint(k1, SSH_DIGEST_SHA1, SSH_FP_BUBBLEBABBLE); | ||
481 | ASSERT_PTR_NE(cp, NULL); | ||
482 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
483 | sshbuf_free(buf); | ||
484 | free(cp); | ||
485 | TEST_DONE(); | ||
486 | |||
487 | sshkey_free(k1); | ||
488 | |||
489 | TEST_START("parse Ed25519-SK from private"); | ||
490 | buf = load_file("ed25519_sk1"); | ||
491 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, "", &k1, NULL), 0); | ||
492 | sshbuf_free(buf); | ||
493 | ASSERT_PTR_NE(k1, NULL); | ||
494 | ASSERT_INT_EQ(k1->type, KEY_ED25519_SK); | ||
495 | /* XXX check key contents */ | ||
496 | TEST_DONE(); | ||
497 | |||
498 | TEST_START("parse Ed25519-SK from private w/ passphrase"); | ||
499 | buf = load_file("ed25519_sk1_pw"); | ||
500 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, | ||
501 | (const char *)sshbuf_ptr(pw), &k2, NULL), 0); | ||
502 | sshbuf_free(buf); | ||
503 | ASSERT_PTR_NE(k2, NULL); | ||
504 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 1); | ||
505 | sshkey_free(k2); | ||
506 | TEST_DONE(); | ||
507 | |||
508 | TEST_START("load Ed25519-SK from public"); | ||
509 | ASSERT_INT_EQ(sshkey_load_public(test_data_file("ed25519_sk1.pub"), | ||
510 | &k2, NULL), 0); | ||
511 | ASSERT_PTR_NE(k2, NULL); | ||
512 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 1); | ||
513 | sshkey_free(k2); | ||
514 | TEST_DONE(); | ||
515 | |||
516 | TEST_START("load Ed25519-SK cert"); | ||
517 | ASSERT_INT_EQ(sshkey_load_cert(test_data_file("ed25519_sk1"), &k2), 0); | ||
518 | ASSERT_PTR_NE(k2, NULL); | ||
519 | ASSERT_INT_EQ(k2->type, KEY_ED25519_SK_CERT); | ||
520 | ASSERT_INT_EQ(sshkey_equal(k1, k2), 0); | ||
521 | ASSERT_INT_EQ(sshkey_equal_public(k1, k2), 1); | ||
522 | TEST_DONE(); | ||
523 | |||
524 | TEST_START("Ed25519-SK key hex fingerprint"); | ||
525 | buf = load_text_file("ed25519_sk1.fp"); | ||
526 | cp = sshkey_fingerprint(k1, SSH_DIGEST_SHA256, SSH_FP_BASE64); | ||
527 | ASSERT_PTR_NE(cp, NULL); | ||
528 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
529 | sshbuf_free(buf); | ||
530 | free(cp); | ||
531 | TEST_DONE(); | ||
532 | |||
533 | TEST_START("Ed25519-SK cert hex fingerprint"); | ||
534 | buf = load_text_file("ed25519_sk1-cert.fp"); | ||
535 | cp = sshkey_fingerprint(k2, SSH_DIGEST_SHA256, SSH_FP_BASE64); | ||
536 | ASSERT_PTR_NE(cp, NULL); | ||
537 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
538 | sshbuf_free(buf); | ||
539 | free(cp); | ||
540 | sshkey_free(k2); | ||
541 | TEST_DONE(); | ||
542 | |||
543 | TEST_START("Ed25519-SK key bubblebabble fingerprint"); | ||
544 | buf = load_text_file("ed25519_sk1.fp.bb"); | ||
545 | cp = sshkey_fingerprint(k1, SSH_DIGEST_SHA1, SSH_FP_BUBBLEBABBLE); | ||
546 | ASSERT_PTR_NE(cp, NULL); | ||
547 | ASSERT_STRING_EQ(cp, (const char *)sshbuf_ptr(buf)); | ||
548 | sshbuf_free(buf); | ||
549 | free(cp); | ||
550 | TEST_DONE(); | ||
551 | |||
552 | sshkey_free(k1); | ||
553 | |||
425 | sshbuf_free(pw); | 554 | sshbuf_free(pw); |
426 | 555 | ||
427 | } | 556 | } |
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1 b/regress/unittests/sshkey/testdata/ecdsa_sk1 new file mode 100644 index 000000000..b51fb73d6 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1 | |||
@@ -0,0 +1,13 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAfwAAACJzay1lY2 | ||
3 | RzYS1zaGEyLW5pc3RwMjU2QG9wZW5zc2guY29tAAAACG5pc3RwMjU2AAAAQQRnVT5Cji1D | ||
4 | Ge2+q2X0vATh6LYnODV+DJrshJorr5GnipW29RfuaDXs0WB6XBej9dOLazVRDjQrtV19Qg | ||
5 | O6cfkFAAAABHNzaDoAAAGQuPdnP7j3Zz8AAAAic2stZWNkc2Etc2hhMi1uaXN0cDI1NkBv | ||
6 | cGVuc3NoLmNvbQAAAAhuaXN0cDI1NgAAAEEEZ1U+Qo4tQxntvqtl9LwE4ei2Jzg1fgya7I | ||
7 | SaK6+Rp4qVtvUX7mg17NFgelwXo/XTi2s1UQ40K7VdfUIDunH5BQAAAARzc2g6AQAAAOMt | ||
8 | LS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KTUhjQ0FRRUVJRURmVFB4YzA0alN5Zk | ||
9 | Z5NlhoV1pTVlpzcnU5ZFlaSVpTOWhjeVFhcDlVT29Bb0dDQ3FHU000OQpBd0VIb1VRRFFn | ||
10 | QUVaMVUrUW80dFF4bnR2cXRsOUx3RTRlaTJKemcxZmd5YTdJU2FLNitScDRxVnR2VVg3bW | ||
11 | cxCjdORmdlbHdYby9YVGkyczFVUTQwSzdWZGZVSUR1bkg1QlE9PQotLS0tLUVORCBFQyBQ | ||
12 | UklWQVRFIEtFWS0tLS0tCgAAAAAAAAAURUNEU0EtU0sgdGVzdCBrZXkgIzEBAgMEBQ== | ||
13 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.fp b/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.fp new file mode 100644 index 000000000..d1921451d --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:Go7HO0CVPYG+BSDSk9ZUJBKGSrtBExp6obTa9iqzIUo | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.pub b/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.pub new file mode 100644 index 000000000..9586c61a7 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.pub | |||
@@ -0,0 +1 @@ | |||
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAK3NrLWVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgE012YoSBE9hEC2FRzblcSx784JNo2A4g611A7I75YMMAAAAIbmlzdHAyNTYAAABBBGdVPkKOLUMZ7b6rZfS8BOHotic4NX4MmuyEmiuvkaeKlbb1F+5oNezRYHpcF6P104trNVEONCu1XX1CA7px+QUAAAAEc3NoOgAAAAAAAAAHAAAAAgAAAAZqdWxpdXMAAAASAAAABWhvc3QxAAAABWhvc3QyAAAAADaLg2AAAAAATR3h4AAAAAAAAAAAAAAAAAAAAGgAAAATZWNkc2Etc2hhMi1uaXN0cDI1NgAAAAhuaXN0cDI1NgAAAEEEAlTtPiWUHubBeCys4Xp0QF91dYARpkyqtCnzg10HRS+ZDgkMrSUvPPG+Ge8iqtnB951MBxDq9FqDFIkhQBYXDAAAAGQAAAATZWNkc2Etc2hhMi1uaXN0cDI1NgAAAEkAAAAhALY+eXRJjVGnMk38Sm5S+H5CloNq757ypsoxt+WYoadtAAAAIA42/mAhUfLij1GY7wl+OFrI+icB/t4tGiEUZmhx6Foo ECDSA-SK test key #1 | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1.fp b/regress/unittests/sshkey/testdata/ecdsa_sk1.fp new file mode 100644 index 000000000..d1921451d --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:Go7HO0CVPYG+BSDSk9ZUJBKGSrtBExp6obTa9iqzIUo | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1.fp.bb b/regress/unittests/sshkey/testdata/ecdsa_sk1.fp.bb new file mode 100644 index 000000000..cb9f4dd0d --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1.fp.bb | |||
@@ -0,0 +1 @@ | |||
xovem-sacac-dageg-vovoc-symyz-bozal-cibiv-cyvat-vylyn-romib-hoxax | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1.pub b/regress/unittests/sshkey/testdata/ecdsa_sk1.pub new file mode 100644 index 000000000..c3b21e02b --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1.pub | |||
@@ -0,0 +1 @@ | |||
sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBGdVPkKOLUMZ7b6rZfS8BOHotic4NX4MmuyEmiuvkaeKlbb1F+5oNezRYHpcF6P104trNVEONCu1XX1CA7px+QUAAAAEc3NoOg== ECDSA-SK test key #1 | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk1_pw b/regress/unittests/sshkey/testdata/ecdsa_sk1_pw new file mode 100644 index 000000000..4fa23a738 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk1_pw | |||
@@ -0,0 +1,14 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABB6vcJVx2 | ||
3 | cPc7yYRROup8VnAAAAEAAAAAEAAAB/AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3Bl | ||
4 | bnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBGdVPkKOLUMZ7b6rZfS8BOHotic4NX4MmuyEmi | ||
5 | uvkaeKlbb1F+5oNezRYHpcF6P104trNVEONCu1XX1CA7px+QUAAAAEc3NoOgAAAZBrvCxe | ||
6 | xFz0bvzXwaPhrUHBeNCoZy/wNKDx0kxlxUPuA+lgOvy5l3lT3yxxd0qj5PQB+NTcuz8AAE | ||
7 | 1f7aSWQNZSifox3COsBGoHV9C8i+glcxiBKheAZD+EBnRGjG8kbcaLhuYDW/I39qNe8lHW | ||
8 | YSDjmvsT55Hy0IAtVRAXizDoXKNdFPTZisC67WyOSJ3ED7Fy4bfT4ApbvhoFTwjikZBEhy | ||
9 | LOad1sbJa4eT19TsskYfQdnJf8sjAmCMOZY4ZV0FiNW5XZOp8nIal1oyULPfzTAm6oaeFN | ||
10 | 0ImCSU3U8h4wUQ8q/3XvBWtTKycZaoou0AwPoP0QN95Ywte7FHezNPb/n8KD7k0S6h9XAX | ||
11 | UcBeCe5NHyov/0ZzA2p737hzm3w+MXGOboTQMu8WFXeGh4m7QH2o8ZJdgBhM5JF17uii+Q | ||
12 | ppGoPWHf33MXwB3wxWmKZ0ua0f9AVLkQ2DfFszUoBJE/kcHRd4kj4Q4FWXeMBN0GoH8gdE | ||
13 | gRWIlxn2/FAOce/BFPzzdP87H0jwz7SdcuVO1L | ||
14 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk2 b/regress/unittests/sshkey/testdata/ecdsa_sk2 new file mode 100644 index 000000000..19db5a3f5 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk2 | |||
@@ -0,0 +1,13 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAfwAAACJzay1lY2 | ||
3 | RzYS1zaGEyLW5pc3RwMjU2QG9wZW5zc2guY29tAAAACG5pc3RwMjU2AAAAQQSTl+SR6rTg | ||
4 | lOZmcQkCtJ3Pd+lWinezo/gHk4oZdZcTQsmEYs766BlWGuB2Bz3qQRLa6cXsP+4K9kAjAJ | ||
5 | 7zdoFUAAAABHNzaDoAAAGQ1qllJtapZSYAAAAic2stZWNkc2Etc2hhMi1uaXN0cDI1NkBv | ||
6 | cGVuc3NoLmNvbQAAAAhuaXN0cDI1NgAAAEEEk5fkkeq04JTmZnEJArSdz3fpVop3s6P4B5 | ||
7 | OKGXWXE0LJhGLO+ugZVhrgdgc96kES2unF7D/uCvZAIwCe83aBVAAAAARzc2g6AQAAAOMt | ||
8 | LS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KTUhjQ0FRRUVJSkxwVkxnSTVvdkRlOW | ||
9 | VMWmZodCs5WWlMaitnam0rTXhHTXg5NndiRWw0Wm9Bb0dDQ3FHU000OQpBd0VIb1VRRFFn | ||
10 | QUVrNWZra2VxMDRKVG1abkVKQXJTZHozZnBWb3AzczZQNEI1T0tHWFdYRTBMSmhHTE8rdW | ||
11 | daClZocmdkZ2M5NmtFUzJ1bkY3RC91Q3ZaQUl3Q2U4M2FCVkE9PQotLS0tLUVORCBFQyBQ | ||
12 | UklWQVRFIEtFWS0tLS0tCgAAAAAAAAAURUNEU0EtU0sgdGVzdCBrZXkgIzIBAgMEBQ== | ||
13 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk2.fp b/regress/unittests/sshkey/testdata/ecdsa_sk2.fp new file mode 100644 index 000000000..1bc99ea0d --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk2.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:pz8VkgtRY3r50F4zSuzRlmq9c6vPTpJXLKKOgkyUcKE | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk2.fp.bb b/regress/unittests/sshkey/testdata/ecdsa_sk2.fp.bb new file mode 100644 index 000000000..bfee7658a --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk2.fp.bb | |||
@@ -0,0 +1 @@ | |||
xobel-gavur-gorym-pedop-rarob-bunek-gucer-lofeg-syhaf-fylur-zoxix | |||
diff --git a/regress/unittests/sshkey/testdata/ecdsa_sk2.pub b/regress/unittests/sshkey/testdata/ecdsa_sk2.pub new file mode 100644 index 000000000..2629d9509 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ecdsa_sk2.pub | |||
@@ -0,0 +1 @@ | |||
sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBJOX5JHqtOCU5mZxCQK0nc936VaKd7Oj+AeTihl1lxNCyYRizvroGVYa4HYHPepBEtrpxew/7gr2QCMAnvN2gVQAAAAEc3NoOg== ECDSA-SK test key #2 | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1 b/regress/unittests/sshkey/testdata/ed25519_sk1 new file mode 100644 index 000000000..4196d9c6a --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1 | |||
@@ -0,0 +1,8 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2 | ||
3 | gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACAhaP5OS1PPOt7uumAvXlDtte9EHbqIT1EZEJ2y | ||
4 | 2v3XMwAAAARzc2g6AAAAuBocY6UaHGOlAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY2 | ||
5 | 9tAAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDoBAAAAQJYq | ||
6 | lGHhFoA25/q8X/rdTqDAb7dhqs4ehhd/w8x99CwiIWj+TktTzzre7rpgL15Q7bXvRB26iE | ||
7 | 9RGRCdstr91zMAAAAAAAAAFkVEMjU1MTktU0sgdGVzdCBrZXkgIzEBAgM= | ||
8 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1-cert.fp b/regress/unittests/sshkey/testdata/ed25519_sk1-cert.fp new file mode 100644 index 000000000..a6bb1a99c --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1-cert.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:6WZVJ44bqhAWLVP4Ns0TDkoSQSsZo/h2K+mEvOaNFbw | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1-cert.pub b/regress/unittests/sshkey/testdata/ed25519_sk1-cert.pub new file mode 100644 index 000000000..3c72c268d --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1-cert.pub | |||
@@ -0,0 +1 @@ | |||
sk-ssh-ed25519-cert-v01@openssh.com AAAAI3NrLXNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIJr7CuMntQKvHoUshx374fJLFEkyxKsEOBA1H6hk5scoAAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDoAAAAAAAAACAAAAAIAAAAGanVsaXVzAAAAEgAAAAVob3N0MQAAAAVob3N0MgAAAAA2i4NgAAAAAE0d4eAAAAAAAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIOo/0xneV3iM2qWEo5RUwvUYa2bjff292T5vvuXRomGQAAAAUwAAAAtzc2gtZWQyNTUxOQAAAECgsRGLDh1SI3m66MRp9D2iLP4wabQ0OrDgGidk7LsVn2XZHV5jBZN1RtNfe6PBMeVzfRtGUzOg18sO7H7uU+EC ED25519-SK test key #1 | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1.fp b/regress/unittests/sshkey/testdata/ed25519_sk1.fp new file mode 100644 index 000000000..a6bb1a99c --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:6WZVJ44bqhAWLVP4Ns0TDkoSQSsZo/h2K+mEvOaNFbw | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1.fp.bb b/regress/unittests/sshkey/testdata/ed25519_sk1.fp.bb new file mode 100644 index 000000000..1bfe20a48 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1.fp.bb | |||
@@ -0,0 +1 @@ | |||
xucac-vusip-tydoz-dudad-nerif-raran-tezun-cogyd-pamoh-bahef-ruxix | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1.pub b/regress/unittests/sshkey/testdata/ed25519_sk1.pub new file mode 100644 index 000000000..60fe00c39 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1.pub | |||
@@ -0,0 +1 @@ | |||
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDo= ED25519-SK test key #1 | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk1_pw b/regress/unittests/sshkey/testdata/ed25519_sk1_pw new file mode 100644 index 000000000..1c29ff07f --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk1_pw | |||
@@ -0,0 +1,9 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABDr5R9Yf/ | ||
3 | ucEh0Ns6c34tcIAAAAEAAAAAEAAABKAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29t | ||
4 | AAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDoAAADA2T6owx | ||
5 | OSgKz4DvLnS3UJ/renbuew5mbkIWB1/y8xd3y5Usm08iUCAlKxep9dVRQvmyoTrc/7rHOM | ||
6 | DkokNw+WgKambnlYT/9QfqViZ9iCBtbdmhLM6ksUCgQefvquRyXoJxlWstjXUll6Ru+ZbT | ||
7 | H//Ss8C1bYtAiXR68OQ+rhDrvQxA9P8J1sGIlkuV3h8YXddSpyBW2Sn0LTHHBXYZo86cXZ | ||
8 | G4Lnc8aGYm65eqdHgkfRmht3eS8DTdzEBfBNH5Ml | ||
9 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk2 b/regress/unittests/sshkey/testdata/ed25519_sk2 new file mode 100644 index 000000000..b9b748966 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk2 | |||
@@ -0,0 +1,8 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | ||
2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2 | ||
3 | gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACAV8fu1Sc31QLK2R/zGPdN3ve5xuFvDc7mEAWxb | ||
4 | aI+YcwAAAARzc2g6AAAAuJCMX5uQjF+bAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY2 | ||
5 | 9tAAAAIBXx+7VJzfVAsrZH/MY903e97nG4W8NzuYQBbFtoj5hzAAAABHNzaDoBAAAAQObE | ||
6 | PajcKI1W30EKOhBb6u+Fgx464kf7EjnqDSg4l7gAFfH7tUnN9UCytkf8xj3Td73ucbhbw3 | ||
7 | O5hAFsW2iPmHMAAAAAAAAAFkVEMjU1MTktU0sgdGVzdCBrZXkgIzIBAgM= | ||
8 | -----END OPENSSH PRIVATE KEY----- | ||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk2.fp b/regress/unittests/sshkey/testdata/ed25519_sk2.fp new file mode 100644 index 000000000..1c4369a00 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk2.fp | |||
@@ -0,0 +1 @@ | |||
SHA256:b9BVPS5vuU4yu/FgweojLLg6zbfmBBoWLUgibdxxsoo | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk2.fp.bb b/regress/unittests/sshkey/testdata/ed25519_sk2.fp.bb new file mode 100644 index 000000000..f5fd9efd8 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk2.fp.bb | |||
@@ -0,0 +1 @@ | |||
xemac-tizim-dihep-supar-zupib-cukak-pasis-febeg-dyguv-hutec-dyxox | |||
diff --git a/regress/unittests/sshkey/testdata/ed25519_sk2.pub b/regress/unittests/sshkey/testdata/ed25519_sk2.pub new file mode 100644 index 000000000..c7ed9f524 --- /dev/null +++ b/regress/unittests/sshkey/testdata/ed25519_sk2.pub | |||
@@ -0,0 +1 @@ | |||
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIBXx+7VJzfVAsrZH/MY903e97nG4W8NzuYQBbFtoj5hzAAAABHNzaDo= ED25519-SK test key #2 | |||