X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fx509%2Fx509_set.c;h=dbd9057f2ac5f42f03386d37b802e4165c3e4c7e;hp=7873edf33de82d706095a0f1ded87314ade149d1;hb=748118a838bcb7b920c5e0bf389773544becc71b;hpb=94e84f5e958f82a9636734b56fcf17f466bfe4e4 diff --git a/crypto/x509/x509_set.c b/crypto/x509/x509_set.c index 7873edf33d..dbd9057f2a 100644 --- a/crypto/x509/x509_set.c +++ b/crypto/x509/x509_set.c @@ -85,16 +85,11 @@ int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial) ASN1_INTEGER *in; if (x == NULL) - return (0); - in = x->cert_info.serialNumber; - if (in != serial) { - in = ASN1_INTEGER_dup(serial); - if (in != NULL) { - ASN1_INTEGER_free(x->cert_info.serialNumber); - x->cert_info.serialNumber = in; - } - } - return (in != NULL); + return 0; + in = &x->cert_info.serialNumber; + if (in != serial) + return ASN1_STRING_copy(in, serial); + return 1; } int X509_set_issuer_name(X509 *x, X509_NAME *name) @@ -181,3 +176,21 @@ X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x) { return x->cert_info.key; } + +STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x) +{ + return x->cert_info.extensions; +} + +void X509_get0_uids(ASN1_BIT_STRING **piuid, ASN1_BIT_STRING **psuid, X509 *x) +{ + if (piuid != NULL) + *piuid = x->cert_info.issuerUID; + if (psuid != NULL) + *psuid = x->cert_info.subjectUID; +} + +X509_ALGOR *X509_get0_tbs_sigalg(X509 *x) +{ + return &x->cert_info.signature; +}