Skip to content

Commit 0bb1d1b

Browse files
committed
Add test case test_wolfSSH_CTX_UsePrivateKey_buffer_pem
1 parent a89783e commit 0bb1d1b

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

tests/api.c

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,6 +593,49 @@ static void test_wolfSSH_CTX_UseCert_buffer(void)
593593
}
594594

595595

596+
static void test_wolfSSH_CTX_UsePrivateKey_buffer_pem(void)
597+
{
598+
#if defined(WOLFSSH_CERTS) && !defined(WOLFSSH_NO_SERVER)
599+
WOLFSSH_CTX* ctx = NULL;
600+
byte* key = NULL;
601+
word32 keySz = 0;
602+
603+
ctx = wolfSSH_CTX_new(WOLFSSH_ENDPOINT_SERVER, NULL);
604+
AssertNotNull(ctx);
605+
606+
#ifndef WOLFSSH_NO_RSA
607+
AssertIntEQ(0, load_file("./keys/server-key-rsa.pem", &key, &keySz));
608+
AssertNotNull(key);
609+
AssertIntNE(0, keySz);
610+
611+
/* PEM private key should load successfully */
612+
AssertIntEQ(WS_SUCCESS,
613+
wolfSSH_CTX_UsePrivateKey_buffer(ctx, key, keySz,
614+
WOLFSSH_FORMAT_PEM));
615+
616+
free(key);
617+
key = NULL;
618+
#endif /* WOLFSSH_NO_RSA */
619+
620+
#ifndef WOLFSSH_NO_ECDSA
621+
AssertIntEQ(0, load_file("./keys/server-key-ecc.pem", &key, &keySz));
622+
AssertNotNull(key);
623+
AssertIntNE(0, keySz);
624+
625+
/* PEM ECC private key should load successfully */
626+
AssertIntEQ(WS_SUCCESS,
627+
wolfSSH_CTX_UsePrivateKey_buffer(ctx, key, keySz,
628+
WOLFSSH_FORMAT_PEM));
629+
630+
free(key);
631+
key = NULL;
632+
#endif /* WOLFSSH_NO_ECDSA */
633+
634+
wolfSSH_CTX_free(ctx);
635+
#endif /* WOLFSSH_CERTS && !WOLFSSH_NO_SERVER */
636+
}
637+
638+
596639
static void test_wolfSSH_CertMan(void)
597640
{
598641
#ifdef WOLFSSH_CERTMAN
@@ -1990,6 +2033,7 @@ int wolfSSH_ApiTest(int argc, char** argv)
19902033
test_wolfSSH_ConvertConsole();
19912034
test_wolfSSH_CTX_UsePrivateKey_buffer();
19922035
test_wolfSSH_CTX_UseCert_buffer();
2036+
test_wolfSSH_CTX_UsePrivateKey_buffer_pem();
19932037
test_wolfSSH_CertMan();
19942038
test_wolfSSH_ReadKey();
19952039
test_wolfSSH_QueryAlgoList();

0 commit comments

Comments
 (0)