mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-06-22 21:23:56 +08:00
x509_key all tests passed
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user