mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-06-22 05:06:08 +08:00
Rewrite TLS 1.2 as a state machine
This commit is contained in:
@@ -490,7 +490,7 @@ int sm2_compute_z(uint8_t z[32], const SM2_Z256_POINT *pub, const char *id, size
|
||||
sm2_z256_point_to_bytes(pub, &zin[18 + 32 * 4]);
|
||||
|
||||
sm3_init(&ctx);
|
||||
if (strcmp(id, SM2_DEFAULT_ID) == 0) {
|
||||
if (idlen == SM2_DEFAULT_ID_LENGTH && memcmp(id, SM2_DEFAULT_ID, idlen) == 0) {
|
||||
sm3_update(&ctx, zin, sizeof(zin));
|
||||
} else {
|
||||
uint8_t idbits[2];
|
||||
@@ -567,6 +567,8 @@ int sm2_sign_finish(SM2_SIGN_CTX *ctx, uint8_t *sig, size_t *siglen)
|
||||
|
||||
sm3_finish(&ctx->sm3_ctx, dgst);
|
||||
|
||||
format_bytes(stderr, 0, 4, "signed dgst", dgst, 32);
|
||||
|
||||
if (ctx->num_pre_comp == 0) {
|
||||
if (sm2_fast_sign_pre_compute(ctx->pre_comp) != 1) {
|
||||
error_print();
|
||||
@@ -600,6 +602,9 @@ int sm2_sign_finish_fixlen(SM2_SIGN_CTX *ctx, size_t siglen, uint8_t *sig)
|
||||
return -1;
|
||||
}
|
||||
sm3_finish(&ctx->sm3_ctx, dgst);
|
||||
format_bytes(stderr, 0, 4, "signed dgst", dgst, 32);
|
||||
|
||||
|
||||
if (sm2_sign_fixlen(&ctx->key, dgst, siglen, sig) != 1) {
|
||||
error_print();
|
||||
return -1;
|
||||
@@ -667,6 +672,8 @@ int sm2_verify_finish(SM2_VERIFY_CTX *ctx, const uint8_t *sigbuf, size_t siglen)
|
||||
|
||||
sm3_finish(&ctx->sm3_ctx, dgst);
|
||||
|
||||
format_bytes(stderr, 0, 4, "verify dgst", dgst, 32);
|
||||
|
||||
if (sm2_fast_verify(ctx->public_point_table, dgst, &sig) != 1) {
|
||||
error_print();
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user