x509_key all tests passed

This commit is contained in:
Zhi Guan
2026-02-05 20:26:40 +08:00
parent e0f5ed85e3
commit 8eb0d3b572
24 changed files with 1906 additions and 1254 deletions

View File

@@ -905,6 +905,7 @@ int x509_names_print(FILE *fp, int fmt, int ind, const char *label, const uint8_
return 1;
}
/*
int x509_public_key_info_print(FILE *fp, int fmt, int ind, const char *label, const uint8_t *d, size_t dlen)
{
const uint8_t *p = d;
@@ -937,6 +938,7 @@ err:
error_print();
return -1;
}
*/
int x509_explicit_exts_to_der(int index, const uint8_t *d, size_t dlen, uint8_t **out, size_t *outlen)
{
@@ -1119,6 +1121,9 @@ int x509_cert_sign_to_der(
error_print();
return -1;
}
if (sign_key->algor == OID_ec_public_key) {
siglen = SM2_signature_typical_size;
}
if (x509_tbs_cert_to_der(
version,
@@ -1167,9 +1172,18 @@ int x509_cert_sign_to_der(
sign_args = SM2_DEFAULT_ID;
sign_argslen = SM2_DEFAULT_ID_LENGTH;
}
if (x509_sign_init(&sign_ctx, sign_key, sign_args, sign_argslen) != 1
|| x509_sign_update(&sign_ctx, tbs, *out - tbs) != 1
|| x509_sign_finish(&sign_ctx, sig, &siglen) != 1) {
if (x509_sign_init(&sign_ctx, sign_key, sign_args, sign_argslen) != 1) {
error_print();
return -1;
}
if (sign_key->algor == OID_ec_public_key) {
if (x509_sign_set_signature_size(&sign_ctx, siglen) != 1) {
gmssl_secure_clear(&sign_ctx, sizeof(sign_ctx));
error_print();
return -1;
}
}
if (x509_sign(&sign_ctx, tbs, *out - tbs, sig, &siglen) != 1) {
gmssl_secure_clear(&sign_ctx, sizeof(sign_ctx));
error_print();
return -1;