Skip to content

Commit 9d5d433

Browse files
committed
add XMSS/XMSS^MT help message
1 parent a966606 commit 9d5d433

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

Diff for: src/tools/clu_funcs.c

+48
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ static const struct option crypt_algo_options[] = {
122122
WOLFCLU_LOG(WOLFCLU_L0, "For RSA sign/ver: wolfssl -rsa -help");
123123
WOLFCLU_LOG(WOLFCLU_L0, "For ECC sign/ver: wolfssl -ecc -help");
124124
WOLFCLU_LOG(WOLFCLU_L0, "For ED25519 sign/ver: wolfssl -ed25519 -help");
125+
WOLFCLU_LOG(WOLFCLU_L0, "For XMSS sign/ver: wolfssl -xmss -help");
126+
WOLFCLU_LOG(WOLFCLU_L0, "For XMSS^MT sign/ver: wolfssl -xmssmt -help");
125127
}
126128

127129
/*
@@ -455,6 +457,10 @@ void wolfCLU_genKeyHelp(void)
455457
#endif
456458
#ifdef HAVE_DILITHIUM
457459
,"dilithium"
460+
#endif
461+
#ifdef WOLFSSL_HAVE_XMSS
462+
,"xmss"
463+
,"xmssmt"
458464
#endif
459465
};
460466

@@ -472,6 +478,14 @@ void wolfCLU_genKeyHelp(void)
472478
#ifdef HAVE_DILITHIUM
473479
WOLFCLU_LOG(WOLFCLU_L0, "wolfssl -genkey dilithium -level "
474480
"[2|3|5] -out mykey -outform der -output KEYPAIR");
481+
#endif
482+
#ifdef WOLFSSL_HAVE_XMSS
483+
WOLFCLU_LOG(WOLFCLU_L0, "wolfssl -genkey xmss -height [10|16|20] -out mykey -outform raw"
484+
" -output KEYPAIR");
485+
WOLFCLU_LOG(WOLFCLU_L0, "wolfssl -genkey xmssmt -height [20|40|60] -layer [2|4|8|3|6|12]"
486+
" -out mykey -outform raw -output KEYPAIR");
487+
WOLFCLU_LOG(WOLFCLU_L0, "XMSS key file name must be something like \"XMSS-SHA2_10_256\""
488+
"\nXMSS/XMSS^MT parametaers are determined by file name when signing");
475489
#endif
476490
WOLFCLU_LOG(WOLFCLU_L0,
477491
"\n\nThe above command would output the files: mykey.priv "
@@ -494,6 +508,10 @@ void wolfCLU_signHelp(int keyType)
494508
#ifdef HAVE_ECC
495509
,"ecc"
496510
#endif
511+
#ifdef WOLFSSL_HAVE_XMSS
512+
,"xmss"
513+
,"xmssmt"
514+
#endif
497515
};
498516

499517
WOLFCLU_LOG(WOLFCLU_L0, "\nAvailable keys with current configure settings:");
@@ -523,6 +541,18 @@ void wolfCLU_signHelp(int keyType)
523541
" -in <filename> -out <filename>\n");
524542
break;
525543
#endif
544+
#ifdef WOLFSSL_HAVE_XMSS
545+
case XMSS_SIG_VER:
546+
WOLFCLU_LOG(WOLFCLU_L0, "XMSS Sign Usage: \nwolfssl -xmss -sign -inkey <priv_key>"
547+
" -in <filename> -out <filename>\n");
548+
WOLFCLU_LOG(WOLFCLU_L0, "***************************************************************");
549+
break;
550+
case XMSSMT_SIG_VER:
551+
WOLFCLU_LOG(WOLFCLU_L0, "XMSS^MT Sign Usage: \nwolfssl -xmssmt -sign -inkey <priv_key>"
552+
" -in <filename> -out <filename>\n");
553+
WOLFCLU_LOG(WOLFCLU_L0, "***************************************************************");
554+
break;
555+
#endif
526556
default:
527557
WOLFCLU_LOG(WOLFCLU_L0, "No valid key type defined.\n");
528558
}
@@ -541,6 +571,10 @@ void wolfCLU_verifyHelp(int keyType) {
541571
#ifdef HAVE_ECC
542572
,"ecc"
543573
#endif
574+
#ifdef WOLFSSL_HAVE_XMSS
575+
,"xmss"
576+
,"xmssmt"
577+
#endif
544578
};
545579

546580
WOLFCLU_LOG(WOLFCLU_L0, "\nAvailable keys with current configure settings:");
@@ -583,6 +617,20 @@ void wolfCLU_verifyHelp(int keyType) {
583617
" -sigfile <signature> -in <original>\n");
584618
break;
585619
#endif
620+
#ifdef WOLFSSL_HAVE_XMSS
621+
case XMSS_SIG_VER:
622+
WOLFCLU_LOG(WOLFCLU_L0, "XMSS Verify with Public Key"
623+
"wolfssl -xmss -verify -inkey <pub_key>"
624+
" -sigfile <signature> -in <original>\n");
625+
WOLFCLU_LOG(WOLFCLU_L0, "***************************************************************");
626+
break;
627+
case XMSSMT_SIG_VER:
628+
WOLFCLU_LOG(WOLFCLU_L0, "XMSS^MT Verify with Public Key"
629+
"wolfssl -xmssmt -verify -inkey <pub_key>"
630+
" -sigfile <signature> -in <original>\n");
631+
WOLFCLU_LOG(WOLFCLU_L0, "***************************************************************");
632+
break;
633+
#endif
586634
default:
587635
WOLFCLU_LOG(WOLFCLU_L0, "No valid key type defined.\n");
588636
}

0 commit comments

Comments
 (0)