Skip to content

Commit

Permalink
add XMSS/XMSS^MT help message
Browse files Browse the repository at this point in the history
  • Loading branch information
Yu-Ma28051503 committed Jan 19, 2025
1 parent a966606 commit 9d5d433
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions src/tools/clu_funcs.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@ static const struct option crypt_algo_options[] = {
WOLFCLU_LOG(WOLFCLU_L0, "For RSA sign/ver: wolfssl -rsa -help");
WOLFCLU_LOG(WOLFCLU_L0, "For ECC sign/ver: wolfssl -ecc -help");
WOLFCLU_LOG(WOLFCLU_L0, "For ED25519 sign/ver: wolfssl -ed25519 -help");
WOLFCLU_LOG(WOLFCLU_L0, "For XMSS sign/ver: wolfssl -xmss -help");
WOLFCLU_LOG(WOLFCLU_L0, "For XMSS^MT sign/ver: wolfssl -xmssmt -help");
}

/*
Expand Down Expand Up @@ -455,6 +457,10 @@ void wolfCLU_genKeyHelp(void)
#endif
#ifdef HAVE_DILITHIUM
,"dilithium"
#endif
#ifdef WOLFSSL_HAVE_XMSS
,"xmss"
,"xmssmt"
#endif
};

Expand All @@ -472,6 +478,14 @@ void wolfCLU_genKeyHelp(void)
#ifdef HAVE_DILITHIUM
WOLFCLU_LOG(WOLFCLU_L0, "wolfssl -genkey dilithium -level "
"[2|3|5] -out mykey -outform der -output KEYPAIR");
#endif
#ifdef WOLFSSL_HAVE_XMSS
WOLFCLU_LOG(WOLFCLU_L0, "wolfssl -genkey xmss -height [10|16|20] -out mykey -outform raw"
" -output KEYPAIR");
WOLFCLU_LOG(WOLFCLU_L0, "wolfssl -genkey xmssmt -height [20|40|60] -layer [2|4|8|3|6|12]"
" -out mykey -outform raw -output KEYPAIR");
WOLFCLU_LOG(WOLFCLU_L0, "XMSS key file name must be something like \"XMSS-SHA2_10_256\""
"\nXMSS/XMSS^MT parametaers are determined by file name when signing");
#endif
WOLFCLU_LOG(WOLFCLU_L0,
"\n\nThe above command would output the files: mykey.priv "
Expand All @@ -494,6 +508,10 @@ void wolfCLU_signHelp(int keyType)
#ifdef HAVE_ECC
,"ecc"
#endif
#ifdef WOLFSSL_HAVE_XMSS
,"xmss"
,"xmssmt"
#endif
};

WOLFCLU_LOG(WOLFCLU_L0, "\nAvailable keys with current configure settings:");
Expand Down Expand Up @@ -523,6 +541,18 @@ void wolfCLU_signHelp(int keyType)
" -in <filename> -out <filename>\n");
break;
#endif
#ifdef WOLFSSL_HAVE_XMSS
case XMSS_SIG_VER:
WOLFCLU_LOG(WOLFCLU_L0, "XMSS Sign Usage: \nwolfssl -xmss -sign -inkey <priv_key>"
" -in <filename> -out <filename>\n");
WOLFCLU_LOG(WOLFCLU_L0, "***************************************************************");
break;
case XMSSMT_SIG_VER:
WOLFCLU_LOG(WOLFCLU_L0, "XMSS^MT Sign Usage: \nwolfssl -xmssmt -sign -inkey <priv_key>"
" -in <filename> -out <filename>\n");
WOLFCLU_LOG(WOLFCLU_L0, "***************************************************************");
break;
#endif
default:
WOLFCLU_LOG(WOLFCLU_L0, "No valid key type defined.\n");
}
Expand All @@ -541,6 +571,10 @@ void wolfCLU_verifyHelp(int keyType) {
#ifdef HAVE_ECC
,"ecc"
#endif
#ifdef WOLFSSL_HAVE_XMSS
,"xmss"
,"xmssmt"
#endif
};

WOLFCLU_LOG(WOLFCLU_L0, "\nAvailable keys with current configure settings:");
Expand Down Expand Up @@ -583,6 +617,20 @@ void wolfCLU_verifyHelp(int keyType) {
" -sigfile <signature> -in <original>\n");
break;
#endif
#ifdef WOLFSSL_HAVE_XMSS
case XMSS_SIG_VER:
WOLFCLU_LOG(WOLFCLU_L0, "XMSS Verify with Public Key"
"wolfssl -xmss -verify -inkey <pub_key>"
" -sigfile <signature> -in <original>\n");
WOLFCLU_LOG(WOLFCLU_L0, "***************************************************************");
break;
case XMSSMT_SIG_VER:
WOLFCLU_LOG(WOLFCLU_L0, "XMSS^MT Verify with Public Key"
"wolfssl -xmssmt -verify -inkey <pub_key>"
" -sigfile <signature> -in <original>\n");
WOLFCLU_LOG(WOLFCLU_L0, "***************************************************************");
break;
#endif
default:
WOLFCLU_LOG(WOLFCLU_L0, "No valid key type defined.\n");
}
Expand Down

0 comments on commit 9d5d433

Please sign in to comment.