mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-05-06 16:36:16 +08:00
Reomve sm3 from lms/hss names
This commit is contained in:
@@ -64,13 +64,13 @@ extern int tls12_client_main(int argc, char **argv);
|
||||
extern int tls12_server_main(int argc, char **argv);
|
||||
extern int tls13_client_main(int argc, char **argv);
|
||||
extern int tls13_server_main(int argc, char **argv);
|
||||
#ifdef ENABLE_SM3_LMS
|
||||
extern int sm3lmskeygen_main(int argc, char **argv);
|
||||
extern int sm3lmssign_main(int argc, char **argv);
|
||||
extern int sm3lmsverify_main(int argc, char **argv);
|
||||
extern int sm3hsskeygen_main(int argc, char **argv);
|
||||
extern int sm3hsssign_main(int argc, char **argv);
|
||||
extern int sm3hssverify_main(int argc, char **argv);
|
||||
#ifdef ENABLE_LMS_HSS
|
||||
extern int lmskeygen_main(int argc, char **argv);
|
||||
extern int lmssign_main(int argc, char **argv);
|
||||
extern int lmsverify_main(int argc, char **argv);
|
||||
extern int hsskeygen_main(int argc, char **argv);
|
||||
extern int hsssign_main(int argc, char **argv);
|
||||
extern int hssverify_main(int argc, char **argv);
|
||||
#endif
|
||||
#ifdef ENABLE_SM3_XMSS
|
||||
extern int sm3xmss_keygen_main(int argc, char **argv);
|
||||
@@ -139,13 +139,13 @@ static const char *options =
|
||||
" cmsdecrypt Decrypt CMS EnvelopedData\n"
|
||||
" cmssign Generate CMS SignedData\n"
|
||||
" cmsverify Verify CMS SignedData\n"
|
||||
#ifdef ENABLE_SM3_LMS
|
||||
" sm3lmskeygen Generate SM3-LMS keypair\n"
|
||||
" sm3lmssign Generate LMS signature\n"
|
||||
" sm3lmsverify Verify LMS signature\n"
|
||||
" sm3hsskeygen Generate SM3-HSS keypair\n"
|
||||
" sm3hsssign Generate HSS signature\n"
|
||||
" sm3hssverify Verify HSS signature\n"
|
||||
#ifdef ENABLE_LMS_HSS
|
||||
" lmskeygen Generate SM3-LMS keypair\n"
|
||||
" lmssign Generate LMS signature\n"
|
||||
" lmsverify Verify LMS signature\n"
|
||||
" hsskeygen Generate SM3-HSS keypair\n"
|
||||
" hsssign Generate HSS signature\n"
|
||||
" hssverify Verify HSS signature\n"
|
||||
#endif
|
||||
#ifdef ENABLE_SM3_XMSS
|
||||
" sm3xmss_keygen Generate SM3-XMSS keypair\n"
|
||||
@@ -304,19 +304,19 @@ int main(int argc, char **argv)
|
||||
return tls13_client_main(argc, argv);
|
||||
} else if (!strcmp(*argv, "tls13_server")) {
|
||||
return tls13_server_main(argc, argv);
|
||||
#ifdef ENABLE_SM3_LMS
|
||||
} else if (!strcmp(*argv, "sm3lmskeygen")) {
|
||||
return sm3lmskeygen_main(argc, argv);
|
||||
} else if (!strcmp(*argv, "sm3lmssign")) {
|
||||
return sm3lmssign_main(argc, argv);
|
||||
} else if (!strcmp(*argv, "sm3lmsverify")) {
|
||||
return sm3lmsverify_main(argc, argv);
|
||||
} else if (!strcmp(*argv, "sm3hsskeygen")) {
|
||||
return sm3hsskeygen_main(argc, argv);
|
||||
} else if (!strcmp(*argv, "sm3hsssign")) {
|
||||
return sm3hsssign_main(argc, argv);
|
||||
} else if (!strcmp(*argv, "sm3hssverify")) {
|
||||
return sm3hssverify_main(argc, argv);
|
||||
#ifdef ENABLE_LMS_HSS
|
||||
} else if (!strcmp(*argv, "lmskeygen")) {
|
||||
return lmskeygen_main(argc, argv);
|
||||
} else if (!strcmp(*argv, "lmssign")) {
|
||||
return lmssign_main(argc, argv);
|
||||
} else if (!strcmp(*argv, "lmsverify")) {
|
||||
return lmsverify_main(argc, argv);
|
||||
} else if (!strcmp(*argv, "hsskeygen")) {
|
||||
return hsskeygen_main(argc, argv);
|
||||
} else if (!strcmp(*argv, "hsssign")) {
|
||||
return hsssign_main(argc, argv);
|
||||
} else if (!strcmp(*argv, "hssverify")) {
|
||||
return hssverify_main(argc, argv);
|
||||
#endif
|
||||
#ifdef ENABLE_SM3_XMSS
|
||||
} else if (!strcmp(*argv, "sm3xmss_keygen")) {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <gmssl/mem.h>
|
||||
#include <gmssl/error.h>
|
||||
#include <gmssl/sm3_lms.h>
|
||||
#include <gmssl/lms.h>
|
||||
|
||||
|
||||
static const char *usage = "-lms_types types -out file [-pubout file] [-verbose]\n";
|
||||
@@ -36,7 +36,7 @@ static const char *options =
|
||||
|
||||
#define LMS_TYPES_STR_MAX_SIZE (sizeof("LMS_SM3_M32_H20_NAME") * 5)
|
||||
|
||||
int sm3hsskeygen_main(int argc, char **argv)
|
||||
int hsskeygen_main(int argc, char **argv)
|
||||
{
|
||||
int ret = 1;
|
||||
char *prog = argv[0];
|
||||
@@ -49,9 +49,9 @@ int sm3hsskeygen_main(int argc, char **argv)
|
||||
int levels = 0;
|
||||
FILE *outfp = NULL;
|
||||
FILE *puboutfp = stdout;
|
||||
SM3_HSS_KEY key;
|
||||
uint8_t out[SM3_HSS_PRIVATE_KEY_MAX_SIZE];
|
||||
uint8_t pubout[SM3_HSS_PUBLIC_KEY_SIZE];
|
||||
HSS_KEY key;
|
||||
uint8_t out[HSS_PRIVATE_KEY_MAX_SIZE];
|
||||
uint8_t pubout[HSS_PUBLIC_KEY_SIZE];
|
||||
uint8_t *pout = out;
|
||||
uint8_t *ppubout = pubout;
|
||||
size_t outlen = 0, puboutlen = 0;
|
||||
@@ -78,7 +78,7 @@ int sm3hsskeygen_main(int argc, char **argv)
|
||||
|
||||
tok = strtok(lms_types_str, ":");
|
||||
while (tok) {
|
||||
if (!(lms_types_val[levels] = sm3_lms_type_from_name(tok))) {
|
||||
if (!(lms_types_val[levels] = lms_type_from_name(tok))) {
|
||||
fprintf(stderr, "%s: invalid lms_type `%s`\n", prog, tok);
|
||||
goto end;
|
||||
}
|
||||
@@ -122,15 +122,15 @@ bad:
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (sm3_hss_key_generate(&key, lms_types_val, levels) != 1) {
|
||||
if (hss_key_generate(&key, lms_types_val, levels) != 1) {
|
||||
error_print();
|
||||
return -1;
|
||||
}
|
||||
if (verbose) {
|
||||
sm3_hss_public_key_print(stderr, 0, 0, "hss_public_key", &key);
|
||||
hss_public_key_print(stderr, 0, 0, "hss_public_key", &key);
|
||||
}
|
||||
|
||||
if (sm3_hss_private_key_to_bytes(&key, &pout, &outlen) != 1) {
|
||||
if (hss_private_key_to_bytes(&key, &pout, &outlen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
@@ -139,7 +139,7 @@ bad:
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (sm3_hss_public_key_to_bytes(&key, &ppubout, &puboutlen) != 1) {
|
||||
if (hss_public_key_to_bytes(&key, &ppubout, &puboutlen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <gmssl/mem.h>
|
||||
#include <gmssl/error.h>
|
||||
#include <gmssl/sm3_lms.h>
|
||||
#include <gmssl/lms.h>
|
||||
|
||||
static const char *usage = "-key file [-in file] [-out file] [-verbose]\n";
|
||||
|
||||
@@ -26,7 +26,7 @@ static const char *options =
|
||||
" -verbose Print public key and signature\n"
|
||||
"\n";
|
||||
|
||||
int sm3hsssign_main(int argc, char **argv)
|
||||
int hsssign_main(int argc, char **argv)
|
||||
{
|
||||
int ret = 1;
|
||||
char *prog = argv[0];
|
||||
@@ -37,13 +37,13 @@ int sm3hsssign_main(int argc, char **argv)
|
||||
FILE *keyfp = NULL;
|
||||
FILE *infp = stdin;
|
||||
FILE *outfp = stdout;
|
||||
uint8_t keybuf[SM3_HSS_PRIVATE_KEY_MAX_SIZE];
|
||||
size_t keylen = SM3_HSS_PRIVATE_KEY_MAX_SIZE;
|
||||
uint8_t keybuf[HSS_PRIVATE_KEY_MAX_SIZE];
|
||||
size_t keylen = HSS_PRIVATE_KEY_MAX_SIZE;
|
||||
const uint8_t *cp = keybuf;
|
||||
uint8_t *p = keybuf;
|
||||
SM3_HSS_KEY key;
|
||||
SM3_HSS_SIGN_CTX ctx;
|
||||
uint8_t sig[SM3_HSS_SIGNATURE_MAX_SIZE];
|
||||
HSS_KEY key;
|
||||
HSS_SIGN_CTX ctx;
|
||||
uint8_t sig[HSS_SIGNATURE_MAX_SIZE];
|
||||
size_t siglen;
|
||||
|
||||
argc--;
|
||||
@@ -104,7 +104,7 @@ bad:
|
||||
fprintf(stderr, "%s: read private key failure\n", prog);
|
||||
goto end;
|
||||
}
|
||||
if (sm3_hss_private_key_from_bytes(&key, &cp, &keylen) != 1) {
|
||||
if (hss_private_key_from_bytes(&key, &cp, &keylen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
@@ -114,17 +114,17 @@ bad:
|
||||
}
|
||||
|
||||
if (verbose) {
|
||||
sm3_hss_public_key_print(stderr, 0, 0, "hss_public_key", &key);
|
||||
hss_public_key_print(stderr, 0, 0, "hss_public_key", &key);
|
||||
}
|
||||
|
||||
if (sm3_hss_sign_init(&ctx, &key) != 1) {
|
||||
if (hss_sign_init(&ctx, &key) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
|
||||
// write updated key back to file
|
||||
// TODO: write back `q` only
|
||||
if (sm3_hss_private_key_to_bytes(&key, &p, &keylen) != 1) {
|
||||
if (hss_private_key_to_bytes(&key, &p, &keylen) != 1) {
|
||||
error_print();
|
||||
return -1;
|
||||
}
|
||||
@@ -140,12 +140,12 @@ bad:
|
||||
if (len == 0) {
|
||||
break;
|
||||
}
|
||||
if (sm3_hss_sign_update(&ctx, buf, len) != 1) {
|
||||
if (hss_sign_update(&ctx, buf, len) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
if (sm3_hss_sign_finish(&ctx, sig, &siglen) != 1) {
|
||||
if (hss_sign_finish(&ctx, sig, &siglen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
@@ -154,7 +154,7 @@ bad:
|
||||
goto end;
|
||||
}
|
||||
if (verbose) {
|
||||
sm3_hss_signature_print(stderr, 0, 0, "hss_signature", sig, siglen);
|
||||
hss_signature_print(stderr, 0, 0, "hss_signature", sig, siglen);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <gmssl/mem.h>
|
||||
#include <gmssl/error.h>
|
||||
#include <gmssl/sm3_lms.h>
|
||||
#include <gmssl/lms.h>
|
||||
|
||||
static const char *usage = "-pubkey file [-in file] -sig file [-verbose]\n";
|
||||
|
||||
@@ -26,7 +26,7 @@ static const char *options =
|
||||
" -verbose Print public key and signature\n"
|
||||
"\n";
|
||||
|
||||
int sm3hssverify_main(int argc, char **argv)
|
||||
int hssverify_main(int argc, char **argv)
|
||||
{
|
||||
int ret = 1;
|
||||
char *prog = argv[0];
|
||||
@@ -37,13 +37,13 @@ int sm3hssverify_main(int argc, char **argv)
|
||||
FILE *pubkeyfp = NULL;
|
||||
FILE *infp = stdin;
|
||||
FILE *sigfp = NULL;
|
||||
uint8_t pubkeybuf[SM3_HSS_PUBLIC_KEY_SIZE];
|
||||
size_t pubkeylen = SM3_HSS_PUBLIC_KEY_SIZE;
|
||||
uint8_t pubkeybuf[HSS_PUBLIC_KEY_SIZE];
|
||||
size_t pubkeylen = HSS_PUBLIC_KEY_SIZE;
|
||||
const uint8_t *cp = pubkeybuf;
|
||||
uint8_t sig[SM3_HSS_SIGNATURE_MAX_SIZE];
|
||||
uint8_t sig[HSS_SIGNATURE_MAX_SIZE];
|
||||
size_t siglen;
|
||||
SM3_HSS_KEY key;
|
||||
SM3_HSS_SIGN_CTX ctx;
|
||||
HSS_KEY key;
|
||||
HSS_SIGN_CTX ctx;
|
||||
int vr;
|
||||
|
||||
argc--;
|
||||
@@ -108,23 +108,23 @@ bad:
|
||||
fprintf(stderr, "%s: read public key failure\n", prog);
|
||||
goto end;
|
||||
}
|
||||
if (sm3_hss_public_key_from_bytes(&key, &cp, &pubkeylen) != 1) {
|
||||
if (hss_public_key_from_bytes(&key, &cp, &pubkeylen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
if (verbose) {
|
||||
sm3_hss_public_key_print(stderr, 0, 0, "lms_public_key", &key);
|
||||
hss_public_key_print(stderr, 0, 0, "lms_public_key", &key);
|
||||
}
|
||||
|
||||
// read signature even if signature not compatible with the public key
|
||||
if ((siglen = fread(sig, 1, SM3_HSS_SIGNATURE_MAX_SIZE, sigfp)) <= 0) {
|
||||
if ((siglen = fread(sig, 1, HSS_SIGNATURE_MAX_SIZE, sigfp)) <= 0) {
|
||||
fprintf(stderr, "%s: read signature failure\n", prog);
|
||||
goto end;
|
||||
}
|
||||
if (verbose) {
|
||||
sm3_hss_signature_print(stderr, 0, 0, "lms_signature", sig, siglen);
|
||||
hss_signature_print(stderr, 0, 0, "lms_signature", sig, siglen);
|
||||
}
|
||||
if (sm3_hss_verify_init(&ctx, &key, sig, siglen) != 1) {
|
||||
if (hss_verify_init(&ctx, &key, sig, siglen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
@@ -135,12 +135,12 @@ bad:
|
||||
if (len == 0) {
|
||||
break;
|
||||
}
|
||||
if (sm3_hss_verify_update(&ctx, buf, len) != 1) {
|
||||
if (hss_verify_update(&ctx, buf, len) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
if ((vr = sm3_hss_verify_finish(&ctx)) < 0) {
|
||||
if ((vr = hss_verify_finish(&ctx)) < 0) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <gmssl/mem.h>
|
||||
#include <gmssl/error.h>
|
||||
#include <gmssl/sm3_lms.h>
|
||||
#include <gmssl/lms.h>
|
||||
|
||||
|
||||
static const char *usage = "-lms_type type -out file [-pubout file] [-verbose]\n";
|
||||
@@ -32,7 +32,7 @@ static const char *options =
|
||||
" -verbose Print public key\n"
|
||||
"\n";
|
||||
|
||||
int sm3lmskeygen_main(int argc, char **argv)
|
||||
int lmskeygen_main(int argc, char **argv)
|
||||
{
|
||||
int ret = 1;
|
||||
char *prog = argv[0];
|
||||
@@ -43,9 +43,9 @@ int sm3lmskeygen_main(int argc, char **argv)
|
||||
int verbose = 0;
|
||||
FILE *outfp = NULL;
|
||||
FILE *puboutfp = stdout;
|
||||
SM3_LMS_KEY key;
|
||||
uint8_t out[SM3_LMS_PRIVATE_KEY_SIZE];
|
||||
uint8_t pubout[SM3_LMS_PUBLIC_KEY_SIZE];
|
||||
LMS_KEY key;
|
||||
uint8_t out[LMS_PRIVATE_KEY_SIZE];
|
||||
uint8_t pubout[LMS_PUBLIC_KEY_SIZE];
|
||||
uint8_t *pout = out;
|
||||
uint8_t *ppubout = pubout;
|
||||
size_t outlen = 0, puboutlen = 0;
|
||||
@@ -67,7 +67,7 @@ int sm3lmskeygen_main(int argc, char **argv)
|
||||
} else if (!strcmp(*argv, "-lms_type")) {
|
||||
if (--argc < 1) goto bad;
|
||||
lms_type = *(++argv);
|
||||
if (!(lms_type_val = sm3_lms_type_from_name(lms_type))) {
|
||||
if (!(lms_type_val = lms_type_from_name(lms_type))) {
|
||||
fprintf(stderr, "%s: invalid lms_type `%s`\n", prog, lms_type);
|
||||
goto end;
|
||||
}
|
||||
@@ -108,15 +108,15 @@ bad:
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (sm3_lms_key_generate(&key, lms_type_val) != 1) {
|
||||
if (lms_key_generate(&key, lms_type_val) != 1) {
|
||||
error_print();
|
||||
return -1;
|
||||
}
|
||||
if (verbose) {
|
||||
sm3_lms_public_key_print(stderr, 0, 0, "lms_public_key", &key.public_key);
|
||||
lms_public_key_print(stderr, 0, 0, "lms_public_key", &key.public_key);
|
||||
}
|
||||
|
||||
if (sm3_lms_private_key_to_bytes(&key, &pout, &outlen) != 1) {
|
||||
if (lms_private_key_to_bytes(&key, &pout, &outlen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
@@ -125,7 +125,7 @@ bad:
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (sm3_lms_public_key_to_bytes(&key, &ppubout, &puboutlen) != 1) {
|
||||
if (lms_public_key_to_bytes(&key, &ppubout, &puboutlen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <gmssl/mem.h>
|
||||
#include <gmssl/error.h>
|
||||
#include <gmssl/sm3_lms.h>
|
||||
#include <gmssl/lms.h>
|
||||
|
||||
static const char *usage = "-key file [-in file] [-out file] [-verbose]\n";
|
||||
|
||||
@@ -26,7 +26,7 @@ static const char *options =
|
||||
" -verbose Print public key and signature\n"
|
||||
"\n";
|
||||
|
||||
int sm3lmssign_main(int argc, char **argv)
|
||||
int lmssign_main(int argc, char **argv)
|
||||
{
|
||||
int ret = 1;
|
||||
char *prog = argv[0];
|
||||
@@ -37,13 +37,13 @@ int sm3lmssign_main(int argc, char **argv)
|
||||
FILE *keyfp = NULL;
|
||||
FILE *infp = stdin;
|
||||
FILE *outfp = stdout;
|
||||
uint8_t keybuf[SM3_LMS_PRIVATE_KEY_SIZE];
|
||||
size_t keylen = SM3_LMS_PRIVATE_KEY_SIZE;
|
||||
uint8_t keybuf[LMS_PRIVATE_KEY_SIZE];
|
||||
size_t keylen = LMS_PRIVATE_KEY_SIZE;
|
||||
const uint8_t *cp = keybuf;
|
||||
uint8_t *p = keybuf;
|
||||
SM3_LMS_KEY key;
|
||||
SM3_LMS_SIGN_CTX ctx;
|
||||
uint8_t sig[SM3_LMS_SIGNATURE_MAX_SIZE];
|
||||
LMS_KEY key;
|
||||
LMS_SIGN_CTX ctx;
|
||||
uint8_t sig[LMS_SIGNATURE_MAX_SIZE];
|
||||
size_t siglen;
|
||||
|
||||
argc--;
|
||||
@@ -104,7 +104,7 @@ bad:
|
||||
fprintf(stderr, "%s: read private key failure\n", prog);
|
||||
goto end;
|
||||
}
|
||||
if (sm3_lms_private_key_from_bytes(&key, &cp, &keylen) != 1) {
|
||||
if (lms_private_key_from_bytes(&key, &cp, &keylen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
@@ -114,17 +114,17 @@ bad:
|
||||
}
|
||||
|
||||
if (verbose) {
|
||||
sm3_lms_public_key_print(stderr, 0, 0, "lms_public_key", &key.public_key);
|
||||
lms_public_key_print(stderr, 0, 0, "lms_public_key", &key.public_key);
|
||||
}
|
||||
|
||||
if (sm3_lms_sign_init(&ctx, &key) != 1) {
|
||||
if (lms_sign_init(&ctx, &key) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
|
||||
// write updated key back to file
|
||||
// TODO: write back `q` only
|
||||
if (sm3_lms_private_key_to_bytes(&key, &p, &keylen) != 1) {
|
||||
if (lms_private_key_to_bytes(&key, &p, &keylen) != 1) {
|
||||
error_print();
|
||||
return -1;
|
||||
}
|
||||
@@ -140,12 +140,12 @@ bad:
|
||||
if (len == 0) {
|
||||
break;
|
||||
}
|
||||
if (sm3_lms_sign_update(&ctx, buf, len) != 1) {
|
||||
if (lms_sign_update(&ctx, buf, len) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
if (sm3_lms_sign_finish(&ctx, sig, &siglen) != 1) {
|
||||
if (lms_sign_finish(&ctx, sig, &siglen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
@@ -154,7 +154,7 @@ bad:
|
||||
goto end;
|
||||
}
|
||||
if (verbose) {
|
||||
sm3_lms_signature_print(stderr, 0, 0, "lms_signature", sig, siglen);
|
||||
lms_signature_print(stderr, 0, 0, "lms_signature", sig, siglen);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <gmssl/mem.h>
|
||||
#include <gmssl/error.h>
|
||||
#include <gmssl/sm3_lms.h>
|
||||
#include <gmssl/lms.h>
|
||||
|
||||
static const char *usage = "-pubkey file [-in file] -sig file [-verbose]\n";
|
||||
|
||||
@@ -26,7 +26,7 @@ static const char *options =
|
||||
" -verbose Print public key and signature\n"
|
||||
"\n";
|
||||
|
||||
int sm3lmsverify_main(int argc, char **argv)
|
||||
int lmsverify_main(int argc, char **argv)
|
||||
{
|
||||
int ret = 1;
|
||||
char *prog = argv[0];
|
||||
@@ -37,13 +37,13 @@ int sm3lmsverify_main(int argc, char **argv)
|
||||
FILE *pubkeyfp = NULL;
|
||||
FILE *infp = stdin;
|
||||
FILE *sigfp = NULL;
|
||||
uint8_t pubkeybuf[SM3_LMS_PUBLIC_KEY_SIZE];
|
||||
size_t pubkeylen = SM3_LMS_PUBLIC_KEY_SIZE;
|
||||
uint8_t pubkeybuf[LMS_PUBLIC_KEY_SIZE];
|
||||
size_t pubkeylen = LMS_PUBLIC_KEY_SIZE;
|
||||
const uint8_t *cp = pubkeybuf;
|
||||
uint8_t sig[SM3_LMS_SIGNATURE_MAX_SIZE];
|
||||
uint8_t sig[LMS_SIGNATURE_MAX_SIZE];
|
||||
size_t siglen;
|
||||
SM3_LMS_KEY key;
|
||||
SM3_LMS_SIGN_CTX ctx;
|
||||
LMS_KEY key;
|
||||
LMS_SIGN_CTX ctx;
|
||||
int vr;
|
||||
|
||||
argc--;
|
||||
@@ -108,23 +108,23 @@ bad:
|
||||
fprintf(stderr, "%s: read public key failure\n", prog);
|
||||
goto end;
|
||||
}
|
||||
if (sm3_lms_public_key_from_bytes(&key, &cp, &pubkeylen) != 1) {
|
||||
if (lms_public_key_from_bytes(&key, &cp, &pubkeylen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
if (verbose) {
|
||||
sm3_lms_public_key_print(stderr, 0, 0, "lms_public_key", &key.public_key);
|
||||
lms_public_key_print(stderr, 0, 0, "lms_public_key", &key.public_key);
|
||||
}
|
||||
|
||||
// read signature even if signature not compatible with the public key
|
||||
if ((siglen = fread(sig, 1, SM3_LMS_SIGNATURE_MAX_SIZE, sigfp)) <= 0) {
|
||||
if ((siglen = fread(sig, 1, LMS_SIGNATURE_MAX_SIZE, sigfp)) <= 0) {
|
||||
fprintf(stderr, "%s: read signature failure\n", prog);
|
||||
goto end;
|
||||
}
|
||||
if (verbose) {
|
||||
sm3_lms_signature_print(stderr, 0, 0, "lms_signature", sig, siglen);
|
||||
lms_signature_print(stderr, 0, 0, "lms_signature", sig, siglen);
|
||||
}
|
||||
if (sm3_lms_verify_init(&ctx, &key, sig, siglen) != 1) {
|
||||
if (lms_verify_init(&ctx, &key, sig, siglen) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
@@ -135,12 +135,12 @@ bad:
|
||||
if (len == 0) {
|
||||
break;
|
||||
}
|
||||
if (sm3_lms_verify_update(&ctx, buf, len) != 1) {
|
||||
if (lms_verify_update(&ctx, buf, len) != 1) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
if ((vr = sm3_lms_verify_finish(&ctx)) < 0) {
|
||||
if ((vr = lms_verify_finish(&ctx)) < 0) {
|
||||
error_print();
|
||||
goto end;
|
||||
}
|
||||
Reference in New Issue
Block a user