aboutsummaryrefslogtreecommitdiff
path: root/apps/x509.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>1999-01-03 23:00:45 +0000
committerDr. Stephen Henson <steve@openssl.org>1999-01-03 23:00:45 +0000
commit10061c7c47accb36d3abfba12a29cc1502780ac0 (patch)
tree480876e11560a4f0112c8a6e28edadc43197a33a /apps/x509.c
parentcb0f35d71603decd283ffa0df78dd16d010c2e5c (diff)
downloadopenssl-10061c7c47accb36d3abfba12a29cc1502780ac0.zip
openssl-10061c7c47accb36d3abfba12a29cc1502780ac0.tar.gz
openssl-10061c7c47accb36d3abfba12a29cc1502780ac0.tar.bz2
More EVP_PKEY patches for new functionality.
Diffstat (limited to 'apps/x509.c')
-rw-r--r--apps/x509.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/apps/x509.c b/apps/x509.c
index 71af49f..58ccd93 100644
--- a/apps/x509.c
+++ b/apps/x509.c
@@ -402,7 +402,9 @@ bad:
ci->key=req->req_info->pubkey;
req->req_info->pubkey=NULL;
#else
- X509_set_pubkey(x,X509_REQ_get_pubkey(req));
+ pkey = X509_REQ_get_pubkey(req);
+ X509_set_pubkey(x,pkey);
+ EVP_PKEY_free(pkey);
#endif
}
else
@@ -715,7 +717,9 @@ int days;
X509_STORE_CTX xsc;
EVP_PKEY *upkey;
- EVP_PKEY_copy_parameters(X509_get_pubkey(xca),pkey);
+ upkey = X509_get_pubkey(xca);
+ EVP_PKEY_copy_parameters(upkey,pkey);
+ EVP_PKEY_free(upkey);
X509_STORE_CTX_init(&xsc,ctx,x,NULL);
buf=(char *)Malloc(EVP_PKEY_size(pkey)*2+
@@ -833,6 +837,7 @@ int days;
/* Force a re-write */
X509_set_pubkey(x,upkey);
}
+ EVP_PKEY_free(upkey);
if (!X509_sign(x,pkey,digest)) goto end;
ret=1;
@@ -1033,8 +1038,12 @@ int days;
EVP_MD *digest;
{
- EVP_PKEY_copy_parameters(X509_get_pubkey(x),pkey);
- EVP_PKEY_save_parameters(X509_get_pubkey(x),1);
+ EVP_PKEY *pktmp;
+
+ pktmp = X509_get_pubkey(x);
+ EVP_PKEY_copy_parameters(pktmp,pkey);
+ EVP_PKEY_save_parameters(pktmp,1);
+ EVP_PKEY_free(pktmp);
if (!X509_set_issuer_name(x,X509_get_subject_name(x))) goto err;
if (X509_gmtime_adj(X509_get_notBefore(x),0) == NULL) goto err;