diff options
Diffstat (limited to 'regress/unittests/sshkey')
-rw-r--r-- | regress/unittests/sshkey/common.c | 6 | ||||
-rw-r--r-- | regress/unittests/sshkey/test_file.c | 8 | ||||
-rw-r--r-- | regress/unittests/sshkey/test_fuzz.c | 14 | ||||
-rw-r--r-- | regress/unittests/sshkey/test_sshkey.c | 42 | ||||
-rw-r--r-- | regress/unittests/sshkey/testdata/ed25519_1_pw | 12 |
5 files changed, 58 insertions, 24 deletions
diff --git a/regress/unittests/sshkey/common.c b/regress/unittests/sshkey/common.c index e63465c47..e21638093 100644 --- a/regress/unittests/sshkey/common.c +++ b/regress/unittests/sshkey/common.c | |||
@@ -19,13 +19,15 @@ | |||
19 | #include <string.h> | 19 | #include <string.h> |
20 | #include <unistd.h> | 20 | #include <unistd.h> |
21 | 21 | ||
22 | #ifdef WITH_OPENSSL | ||
22 | #include <openssl/bn.h> | 23 | #include <openssl/bn.h> |
23 | #include <openssl/rsa.h> | 24 | #include <openssl/rsa.h> |
24 | #include <openssl/dsa.h> | 25 | #include <openssl/dsa.h> |
25 | #include <openssl/objects.h> | 26 | #include <openssl/objects.h> |
26 | #ifdef OPENSSL_HAS_NISTP256 | 27 | #ifdef OPENSSL_HAS_NISTP256 |
27 | # include <openssl/ec.h> | 28 | # include <openssl/ec.h> |
28 | #endif | 29 | #endif /* OPENSSL_HAS_NISTP256 */ |
30 | #endif /* WITH_OPENSSL */ | ||
29 | 31 | ||
30 | #include "openbsd-compat/openssl-compat.h" | 32 | #include "openbsd-compat/openssl-compat.h" |
31 | 33 | ||
@@ -72,6 +74,7 @@ load_text_file(const char *name) | |||
72 | return ret; | 74 | return ret; |
73 | } | 75 | } |
74 | 76 | ||
77 | #ifdef WITH_OPENSSL | ||
75 | BIGNUM * | 78 | BIGNUM * |
76 | load_bignum(const char *name) | 79 | load_bignum(const char *name) |
77 | { | 80 | { |
@@ -160,4 +163,5 @@ dsa_priv_key(struct sshkey *k) | |||
160 | DSA_get0_key(k->dsa, NULL, &priv_key); | 163 | DSA_get0_key(k->dsa, NULL, &priv_key); |
161 | return priv_key; | 164 | return priv_key; |
162 | } | 165 | } |
166 | #endif /* WITH_OPENSSL */ | ||
163 | 167 | ||
diff --git a/regress/unittests/sshkey/test_file.c b/regress/unittests/sshkey/test_file.c index 65610dacc..55627bc12 100644 --- a/regress/unittests/sshkey/test_file.c +++ b/regress/unittests/sshkey/test_file.c | |||
@@ -19,13 +19,15 @@ | |||
19 | #include <string.h> | 19 | #include <string.h> |
20 | #include <unistd.h> | 20 | #include <unistd.h> |
21 | 21 | ||
22 | #ifdef WITH_OPENSSL | ||
22 | #include <openssl/bn.h> | 23 | #include <openssl/bn.h> |
23 | #include <openssl/rsa.h> | 24 | #include <openssl/rsa.h> |
24 | #include <openssl/dsa.h> | 25 | #include <openssl/dsa.h> |
25 | #include <openssl/objects.h> | 26 | #include <openssl/objects.h> |
26 | #ifdef OPENSSL_HAS_NISTP256 | 27 | #ifdef OPENSSL_HAS_NISTP256 |
27 | # include <openssl/ec.h> | 28 | # include <openssl/ec.h> |
28 | #endif | 29 | #endif /* OPENSSL_HAS_NISTP256 */ |
30 | #endif /* WITH_OPENSSL */ | ||
29 | 31 | ||
30 | #include "../test_helper/test_helper.h" | 32 | #include "../test_helper/test_helper.h" |
31 | 33 | ||
@@ -44,7 +46,9 @@ sshkey_file_tests(void) | |||
44 | { | 46 | { |
45 | struct sshkey *k1, *k2; | 47 | struct sshkey *k1, *k2; |
46 | struct sshbuf *buf, *pw; | 48 | struct sshbuf *buf, *pw; |
49 | #ifdef WITH_OPENSSL | ||
47 | BIGNUM *a, *b, *c; | 50 | BIGNUM *a, *b, *c; |
51 | #endif | ||
48 | char *cp; | 52 | char *cp; |
49 | 53 | ||
50 | TEST_START("load passphrase"); | 54 | TEST_START("load passphrase"); |
@@ -52,6 +56,7 @@ sshkey_file_tests(void) | |||
52 | TEST_DONE(); | 56 | TEST_DONE(); |
53 | 57 | ||
54 | 58 | ||
59 | #ifdef WITH_OPENSSL | ||
55 | TEST_START("parse RSA from private"); | 60 | TEST_START("parse RSA from private"); |
56 | buf = load_file("rsa_1"); | 61 | buf = load_file("rsa_1"); |
57 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, "", &k1, NULL), 0); | 62 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, "", &k1, NULL), 0); |
@@ -350,6 +355,7 @@ sshkey_file_tests(void) | |||
350 | 355 | ||
351 | sshkey_free(k1); | 356 | sshkey_free(k1); |
352 | #endif /* OPENSSL_HAS_ECC */ | 357 | #endif /* OPENSSL_HAS_ECC */ |
358 | #endif /* WITH_OPENSSL */ | ||
353 | 359 | ||
354 | TEST_START("parse Ed25519 from private"); | 360 | TEST_START("parse Ed25519 from private"); |
355 | buf = load_file("ed25519_1"); | 361 | buf = load_file("ed25519_1"); |
diff --git a/regress/unittests/sshkey/test_fuzz.c b/regress/unittests/sshkey/test_fuzz.c index 5953de595..1323f8997 100644 --- a/regress/unittests/sshkey/test_fuzz.c +++ b/regress/unittests/sshkey/test_fuzz.c | |||
@@ -113,7 +113,7 @@ sshkey_fuzz_tests(void) | |||
113 | struct fuzz *fuzz; | 113 | struct fuzz *fuzz; |
114 | int r, i; | 114 | int r, i; |
115 | 115 | ||
116 | 116 | #ifdef WITH_OPENSSL | |
117 | TEST_START("fuzz RSA private"); | 117 | TEST_START("fuzz RSA private"); |
118 | buf = load_file("rsa_1"); | 118 | buf = load_file("rsa_1"); |
119 | fuzz = fuzz_begin(FUZZ_BASE64, sshbuf_mutable_ptr(buf), | 119 | fuzz = fuzz_begin(FUZZ_BASE64, sshbuf_mutable_ptr(buf), |
@@ -246,7 +246,8 @@ sshkey_fuzz_tests(void) | |||
246 | sshbuf_free(fuzzed); | 246 | sshbuf_free(fuzzed); |
247 | fuzz_cleanup(fuzz); | 247 | fuzz_cleanup(fuzz); |
248 | TEST_DONE(); | 248 | TEST_DONE(); |
249 | #endif | 249 | #endif /* OPENSSL_HAS_ECC */ |
250 | #endif /* WITH_OPENSSL */ | ||
250 | 251 | ||
251 | TEST_START("fuzz Ed25519 private"); | 252 | TEST_START("fuzz Ed25519 private"); |
252 | buf = load_file("ed25519_1"); | 253 | buf = load_file("ed25519_1"); |
@@ -270,6 +271,7 @@ sshkey_fuzz_tests(void) | |||
270 | fuzz_cleanup(fuzz); | 271 | fuzz_cleanup(fuzz); |
271 | TEST_DONE(); | 272 | TEST_DONE(); |
272 | 273 | ||
274 | #ifdef WITH_OPENSSL | ||
273 | TEST_START("fuzz RSA public"); | 275 | TEST_START("fuzz RSA public"); |
274 | buf = load_file("rsa_1"); | 276 | buf = load_file("rsa_1"); |
275 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, "", &k1, NULL), 0); | 277 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, "", &k1, NULL), 0); |
@@ -312,7 +314,8 @@ sshkey_fuzz_tests(void) | |||
312 | public_fuzz(k1); | 314 | public_fuzz(k1); |
313 | sshkey_free(k1); | 315 | sshkey_free(k1); |
314 | TEST_DONE(); | 316 | TEST_DONE(); |
315 | #endif | 317 | #endif /* OPENSSL_HAS_ECC */ |
318 | #endif /* WITH_OPENSSL */ | ||
316 | 319 | ||
317 | TEST_START("fuzz Ed25519 public"); | 320 | TEST_START("fuzz Ed25519 public"); |
318 | buf = load_file("ed25519_1"); | 321 | buf = load_file("ed25519_1"); |
@@ -328,6 +331,7 @@ sshkey_fuzz_tests(void) | |||
328 | sshkey_free(k1); | 331 | sshkey_free(k1); |
329 | TEST_DONE(); | 332 | TEST_DONE(); |
330 | 333 | ||
334 | #ifdef WITH_OPENSSL | ||
331 | TEST_START("fuzz RSA sig"); | 335 | TEST_START("fuzz RSA sig"); |
332 | buf = load_file("rsa_1"); | 336 | buf = load_file("rsa_1"); |
333 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, "", &k1, NULL), 0); | 337 | ASSERT_INT_EQ(sshkey_parse_private_fileblob(buf, "", &k1, NULL), 0); |
@@ -368,7 +372,8 @@ sshkey_fuzz_tests(void) | |||
368 | sig_fuzz(k1, NULL); | 372 | sig_fuzz(k1, NULL); |
369 | sshkey_free(k1); | 373 | sshkey_free(k1); |
370 | TEST_DONE(); | 374 | TEST_DONE(); |
371 | #endif | 375 | #endif /* OPENSSL_HAS_ECC */ |
376 | #endif /* WITH_OPENSSL */ | ||
372 | 377 | ||
373 | TEST_START("fuzz Ed25519 sig"); | 378 | TEST_START("fuzz Ed25519 sig"); |
374 | buf = load_file("ed25519_1"); | 379 | buf = load_file("ed25519_1"); |
@@ -379,5 +384,6 @@ sshkey_fuzz_tests(void) | |||
379 | TEST_DONE(); | 384 | TEST_DONE(); |
380 | 385 | ||
381 | /* XXX fuzz decoded new-format blobs too */ | 386 | /* XXX fuzz decoded new-format blobs too */ |
387 | /* XXX fuzz XMSS too */ | ||
382 | 388 | ||
383 | } | 389 | } |
diff --git a/regress/unittests/sshkey/test_sshkey.c b/regress/unittests/sshkey/test_sshkey.c index 47a03fad4..42395b8db 100644 --- a/regress/unittests/sshkey/test_sshkey.c +++ b/regress/unittests/sshkey/test_sshkey.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: test_sshkey.c,v 1.17 2018/09/13 09:03:20 djm Exp $ */ | 1 | /* $OpenBSD: test_sshkey.c,v 1.18 2019/06/21 04:21:45 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Regress test for sshkey.h key management API | 3 | * Regress test for sshkey.h key management API |
4 | * | 4 | * |
@@ -50,9 +50,10 @@ put_opt(struct sshbuf *b, const char *name, const char *value) | |||
50 | sshbuf_free(sect); | 50 | sshbuf_free(sect); |
51 | } | 51 | } |
52 | 52 | ||
53 | #ifdef WITH_OPENSSL | ||
53 | static void | 54 | static void |
54 | build_cert(struct sshbuf *b, const struct sshkey *k, const char *type, | 55 | build_cert(struct sshbuf *b, struct sshkey *k, const char *type, |
55 | const struct sshkey *sign_key, const struct sshkey *ca_key, | 56 | struct sshkey *sign_key, struct sshkey *ca_key, |
56 | const char *sig_alg) | 57 | const char *sig_alg) |
57 | { | 58 | { |
58 | struct sshbuf *ca_buf, *pk, *principals, *critopts, *exts; | 59 | struct sshbuf *ca_buf, *pk, *principals, *critopts, *exts; |
@@ -110,6 +111,7 @@ build_cert(struct sshbuf *b, const struct sshkey *k, const char *type, | |||
110 | sshbuf_free(principals); | 111 | sshbuf_free(principals); |
111 | sshbuf_free(pk); | 112 | sshbuf_free(pk); |
112 | } | 113 | } |
114 | #endif /* WITH_OPENSSL */ | ||
113 | 115 | ||
114 | static void | 116 | static void |
115 | signature_test(struct sshkey *k, struct sshkey *bad, const char *sig_alg, | 117 | signature_test(struct sshkey *k, struct sshkey *bad, const char *sig_alg, |
@@ -176,10 +178,13 @@ get_private(const char *n) | |||
176 | void | 178 | void |
177 | sshkey_tests(void) | 179 | sshkey_tests(void) |
178 | { | 180 | { |
179 | struct sshkey *k1, *k2, *k3, *k4, *kr, *kd, *kf; | 181 | struct sshkey *k1, *k2, *k3, *kf; |
182 | #ifdef WITH_OPENSSL | ||
183 | struct sshkey *k4, *kr, *kd; | ||
180 | #ifdef OPENSSL_HAS_ECC | 184 | #ifdef OPENSSL_HAS_ECC |
181 | struct sshkey *ke; | 185 | struct sshkey *ke; |
182 | #endif | 186 | #endif /* OPENSSL_HAS_ECC */ |
187 | #endif /* WITH_OPENSSL */ | ||
183 | struct sshbuf *b; | 188 | struct sshbuf *b; |
184 | 189 | ||
185 | TEST_START("new invalid"); | 190 | TEST_START("new invalid"); |
@@ -193,6 +198,7 @@ sshkey_tests(void) | |||
193 | sshkey_free(k1); | 198 | sshkey_free(k1); |
194 | TEST_DONE(); | 199 | TEST_DONE(); |
195 | 200 | ||
201 | #ifdef WITH_OPENSSL | ||
196 | TEST_START("new/free KEY_RSA"); | 202 | TEST_START("new/free KEY_RSA"); |
197 | k1 = sshkey_new(KEY_RSA); | 203 | k1 = sshkey_new(KEY_RSA); |
198 | ASSERT_PTR_NE(k1, NULL); | 204 | ASSERT_PTR_NE(k1, NULL); |
@@ -281,7 +287,8 @@ sshkey_tests(void) | |||
281 | ASSERT_PTR_NE(EC_KEY_get0_public_key(ke->ecdsa), NULL); | 287 | ASSERT_PTR_NE(EC_KEY_get0_public_key(ke->ecdsa), NULL); |
282 | ASSERT_PTR_NE(EC_KEY_get0_private_key(ke->ecdsa), NULL); | 288 | ASSERT_PTR_NE(EC_KEY_get0_private_key(ke->ecdsa), NULL); |
283 | TEST_DONE(); | 289 | TEST_DONE(); |
284 | #endif | 290 | #endif /* OPENSSL_HAS_ECC */ |
291 | #endif /* WITH_OPENSSL */ | ||
285 | 292 | ||
286 | TEST_START("generate KEY_ED25519"); | 293 | TEST_START("generate KEY_ED25519"); |
287 | ASSERT_INT_EQ(sshkey_generate(KEY_ED25519, 256, &kf), 0); | 294 | ASSERT_INT_EQ(sshkey_generate(KEY_ED25519, 256, &kf), 0); |
@@ -291,6 +298,7 @@ sshkey_tests(void) | |||
291 | ASSERT_PTR_NE(kf->ed25519_sk, NULL); | 298 | ASSERT_PTR_NE(kf->ed25519_sk, NULL); |
292 | TEST_DONE(); | 299 | TEST_DONE(); |
293 | 300 | ||
301 | #ifdef WITH_OPENSSL | ||
294 | TEST_START("demote KEY_RSA"); | 302 | TEST_START("demote KEY_RSA"); |
295 | ASSERT_INT_EQ(sshkey_from_private(kr, &k1), 0); | 303 | ASSERT_INT_EQ(sshkey_from_private(kr, &k1), 0); |
296 | ASSERT_PTR_NE(k1, NULL); | 304 | ASSERT_PTR_NE(k1, NULL); |
@@ -338,7 +346,8 @@ sshkey_tests(void) | |||
338 | ASSERT_INT_EQ(sshkey_equal(ke, k1), 1); | 346 | ASSERT_INT_EQ(sshkey_equal(ke, k1), 1); |
339 | sshkey_free(k1); | 347 | sshkey_free(k1); |
340 | TEST_DONE(); | 348 | TEST_DONE(); |
341 | #endif | 349 | #endif /* OPENSSL_HAS_ECC */ |
350 | #endif /* WITH_OPENSSL */ | ||
342 | 351 | ||
343 | TEST_START("demote KEY_ED25519"); | 352 | TEST_START("demote KEY_ED25519"); |
344 | ASSERT_INT_EQ(sshkey_from_private(kf, &k1), 0); | 353 | ASSERT_INT_EQ(sshkey_from_private(kf, &k1), 0); |
@@ -354,17 +363,20 @@ sshkey_tests(void) | |||
354 | sshkey_free(k1); | 363 | sshkey_free(k1); |
355 | TEST_DONE(); | 364 | TEST_DONE(); |
356 | 365 | ||
366 | #ifdef WITH_OPENSSL | ||
357 | TEST_START("equal mismatched key types"); | 367 | TEST_START("equal mismatched key types"); |
358 | ASSERT_INT_EQ(sshkey_equal(kd, kr), 0); | 368 | ASSERT_INT_EQ(sshkey_equal(kd, kr), 0); |
359 | #ifdef OPENSSL_HAS_ECC | 369 | #ifdef OPENSSL_HAS_ECC |
360 | ASSERT_INT_EQ(sshkey_equal(kd, ke), 0); | 370 | ASSERT_INT_EQ(sshkey_equal(kd, ke), 0); |
361 | ASSERT_INT_EQ(sshkey_equal(kr, ke), 0); | 371 | ASSERT_INT_EQ(sshkey_equal(kr, ke), 0); |
362 | ASSERT_INT_EQ(sshkey_equal(ke, kf), 0); | 372 | ASSERT_INT_EQ(sshkey_equal(ke, kf), 0); |
363 | #endif | 373 | #endif /* OPENSSL_HAS_ECC */ |
364 | ASSERT_INT_EQ(sshkey_equal(kd, kf), 0); | 374 | ASSERT_INT_EQ(sshkey_equal(kd, kf), 0); |
365 | TEST_DONE(); | 375 | TEST_DONE(); |
376 | #endif /* WITH_OPENSSL */ | ||
366 | 377 | ||
367 | TEST_START("equal different keys"); | 378 | TEST_START("equal different keys"); |
379 | #ifdef WITH_OPENSSL | ||
368 | ASSERT_INT_EQ(sshkey_generate(KEY_RSA, 1024, &k1), 0); | 380 | ASSERT_INT_EQ(sshkey_generate(KEY_RSA, 1024, &k1), 0); |
369 | ASSERT_INT_EQ(sshkey_equal(kr, k1), 0); | 381 | ASSERT_INT_EQ(sshkey_equal(kr, k1), 0); |
370 | sshkey_free(k1); | 382 | sshkey_free(k1); |
@@ -375,17 +387,20 @@ sshkey_tests(void) | |||
375 | ASSERT_INT_EQ(sshkey_generate(KEY_ECDSA, 256, &k1), 0); | 387 | ASSERT_INT_EQ(sshkey_generate(KEY_ECDSA, 256, &k1), 0); |
376 | ASSERT_INT_EQ(sshkey_equal(ke, k1), 0); | 388 | ASSERT_INT_EQ(sshkey_equal(ke, k1), 0); |
377 | sshkey_free(k1); | 389 | sshkey_free(k1); |
378 | #endif | 390 | #endif /* OPENSSL_HAS_ECC */ |
391 | #endif /* WITH_OPENSSL */ | ||
379 | ASSERT_INT_EQ(sshkey_generate(KEY_ED25519, 256, &k1), 0); | 392 | ASSERT_INT_EQ(sshkey_generate(KEY_ED25519, 256, &k1), 0); |
380 | ASSERT_INT_EQ(sshkey_equal(kf, k1), 0); | 393 | ASSERT_INT_EQ(sshkey_equal(kf, k1), 0); |
381 | sshkey_free(k1); | 394 | sshkey_free(k1); |
382 | TEST_DONE(); | 395 | TEST_DONE(); |
383 | 396 | ||
397 | #ifdef WITH_OPENSSL | ||
384 | sshkey_free(kr); | 398 | sshkey_free(kr); |
385 | sshkey_free(kd); | 399 | sshkey_free(kd); |
386 | #ifdef OPENSSL_HAS_ECC | 400 | #ifdef OPENSSL_HAS_ECC |
387 | sshkey_free(ke); | 401 | sshkey_free(ke); |
388 | #endif | 402 | #endif /* OPENSSL_HAS_ECC */ |
403 | #endif /* WITH_OPENSSL */ | ||
389 | sshkey_free(kf); | 404 | sshkey_free(kf); |
390 | 405 | ||
391 | TEST_START("certify key"); | 406 | TEST_START("certify key"); |
@@ -434,6 +449,7 @@ sshkey_tests(void) | |||
434 | sshbuf_reset(b); | 449 | sshbuf_reset(b); |
435 | TEST_DONE(); | 450 | TEST_DONE(); |
436 | 451 | ||
452 | #ifdef WITH_OPENSSL | ||
437 | TEST_START("sign and verify RSA"); | 453 | TEST_START("sign and verify RSA"); |
438 | k1 = get_private("rsa_1"); | 454 | k1 = get_private("rsa_1"); |
439 | ASSERT_INT_EQ(sshkey_load_public(test_data_file("rsa_2.pub"), &k2, | 455 | ASSERT_INT_EQ(sshkey_load_public(test_data_file("rsa_2.pub"), &k2, |
@@ -479,7 +495,8 @@ sshkey_tests(void) | |||
479 | sshkey_free(k1); | 495 | sshkey_free(k1); |
480 | sshkey_free(k2); | 496 | sshkey_free(k2); |
481 | TEST_DONE(); | 497 | TEST_DONE(); |
482 | #endif | 498 | #endif /* OPENSSL_HAS_ECC */ |
499 | #endif /* WITH_OPENSSL */ | ||
483 | 500 | ||
484 | TEST_START("sign and verify ED25519"); | 501 | TEST_START("sign and verify ED25519"); |
485 | k1 = get_private("ed25519_1"); | 502 | k1 = get_private("ed25519_1"); |
@@ -490,6 +507,7 @@ sshkey_tests(void) | |||
490 | sshkey_free(k2); | 507 | sshkey_free(k2); |
491 | TEST_DONE(); | 508 | TEST_DONE(); |
492 | 509 | ||
510 | #ifdef WITH_OPENSSL | ||
493 | TEST_START("nested certificate"); | 511 | TEST_START("nested certificate"); |
494 | ASSERT_INT_EQ(sshkey_load_cert(test_data_file("rsa_1"), &k1), 0); | 512 | ASSERT_INT_EQ(sshkey_load_cert(test_data_file("rsa_1"), &k1), 0); |
495 | ASSERT_INT_EQ(sshkey_load_public(test_data_file("rsa_1.pub"), &k2, | 513 | ASSERT_INT_EQ(sshkey_load_public(test_data_file("rsa_1.pub"), &k2, |
@@ -504,5 +522,5 @@ sshkey_tests(void) | |||
504 | sshkey_free(k3); | 522 | sshkey_free(k3); |
505 | sshbuf_free(b); | 523 | sshbuf_free(b); |
506 | TEST_DONE(); | 524 | TEST_DONE(); |
507 | 525 | #endif /* WITH_OPENSSL */ | |
508 | } | 526 | } |
diff --git a/regress/unittests/sshkey/testdata/ed25519_1_pw b/regress/unittests/sshkey/testdata/ed25519_1_pw index c3b7ae7f8..da94d2b8e 100644 --- a/regress/unittests/sshkey/testdata/ed25519_1_pw +++ b/regress/unittests/sshkey/testdata/ed25519_1_pw | |||
@@ -1,8 +1,8 @@ | |||
1 | -----BEGIN OPENSSH PRIVATE KEY----- | 1 | -----BEGIN OPENSSH PRIVATE KEY----- |
2 | b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jYmMAAAAGYmNyeXB0AAAAGAAAABCus+kaow | 2 | b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABDKT56mBA |
3 | AUjHphacvRp98dAAAAEAAAAAEAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIFOG6kY7Rf4UtCFv | 3 | tXIMsWqmuuA2gdAAAAEAAAAAEAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIFOG6kY7Rf4UtCFv |
4 | PwKgo/BztXck2xC4a2WyA34XtIwZAAAAoJaqqgiYQuElraJAmYOm7Tb4nJ3eI4oj9mQ52M | 4 | PwKgo/BztXck2xC4a2WyA34XtIwZAAAAoC13U47yfUOSZJePNUAwWXuFOk3aOKwPM5PMvK |
5 | /Yd+ION2Ur1v8BDewpDX+LHEYgKHo3Mlmcn2UyF+QJ+7xUCW7QCtk/4szrJzw74DlEl6mH | 5 | 0zwRnMZZjgn+tsMAYPwhsT3Mx3h5QzvVGFyFEqsiK7j4vAotD+LVQeBN5TwWbUBx4lnoGs |
6 | T8PT/f/av7PpECBD/YD3NoDlB9OWm/Q4sHcxfBEKfTGD7s2Onn71HgrdEOPqd4Sj/IQigR | 6 | 3iAfYVDakO/gNvVBDDGOqv5kdCc4cgn5HacjHQLKOAx6KzHe7JFn7uCywMdVVQjlpI6LHb |
7 | drfjtXEMlD32k9n3dd2eS9x7AHWYaGFEMkOcY= | 7 | mHkaKiVX/C2oiRnsoe17HZ8Fxyt3vd1qNM8BE= |
8 | -----END OPENSSH PRIVATE KEY----- | 8 | -----END OPENSSH PRIVATE KEY----- |