summaryrefslogtreecommitdiffstats
path: root/crypto/asn1/x_x509a.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2002-10-03 23:53:52 +0000
committerDr. Stephen Henson <steve@openssl.org>2002-10-03 23:53:52 +0000
commit9a48b07ee40b9d4f0f00f0a0822b1296fefb10eb (patch)
tree72d37d95bd0218dd763d0e760673af4936a921fc /crypto/asn1/x_x509a.c
parent230fd6b7b66f0b72b1cf7fc300652a1adf94ba1a (diff)
Various enhancements to PKCS#12 code, new
medium level API, improved PKCS12_create and additional functionality in pkcs12 utility.
Diffstat (limited to 'crypto/asn1/x_x509a.c')
-rw-r--r--crypto/asn1/x_x509a.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/crypto/asn1/x_x509a.c b/crypto/asn1/x_x509a.c
index f244768b7e..0c9aa4fd0c 100644
--- a/crypto/asn1/x_x509a.c
+++ b/crypto/asn1/x_x509a.c
@@ -91,6 +91,14 @@ static X509_CERT_AUX *aux_get(X509 *x)
int X509_alias_set1(X509 *x, unsigned char *name, int len)
{
X509_CERT_AUX *aux;
+ if (!name)
+ {
+ if (!x || !x->aux || !x->aux->alias)
+ return 1;
+ ASN1_UTF8STRING_free(x->aux->alias);
+ x->aux->alias = NULL;
+ return 1;
+ }
if(!(aux = aux_get(x))) return 0;
if(!aux->alias && !(aux->alias = ASN1_UTF8STRING_new())) return 0;
return ASN1_STRING_set(aux->alias, name, len);
@@ -99,6 +107,14 @@ int X509_alias_set1(X509 *x, unsigned char *name, int len)
int X509_keyid_set1(X509 *x, unsigned char *id, int len)
{
X509_CERT_AUX *aux;
+ if (!id)
+ {
+ if (!x || !x->aux || !x->aux->keyid)
+ return 1;
+ ASN1_OCTET_STRING_free(x->aux->keyid);
+ x->aux->keyid = NULL;
+ return 1;
+ }
if(!(aux = aux_get(x))) return 0;
if(!aux->keyid && !(aux->keyid = ASN1_OCTET_STRING_new())) return 0;
return ASN1_STRING_set(aux->keyid, id, len);
@@ -111,6 +127,13 @@ unsigned char *X509_alias_get0(X509 *x, int *len)
return x->aux->alias->data;
}
+unsigned char *X509_keyid_get0(X509 *x, int *len)
+{
+ if(!x->aux || !x->aux->keyid) return NULL;
+ if(len) *len = x->aux->keyid->length;
+ return x->aux->keyid->data;
+}
+
int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj)
{
X509_CERT_AUX *aux;