Rewrite TLS 1.2 as a state machine

This commit is contained in:
Zhi Guan
2026-02-01 20:38:13 +08:00
parent a15e0f34c7
commit 9c58806408
27 changed files with 12984 additions and 1589 deletions

View File

@@ -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;