Factor out private key operation out of the signing, operations, support import, export, and generation of private keys. Add support for writing PEM and PKCS12 files with private keys in them.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19778 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004 - 2006 Kungliga Tekniska H<>gskolan
|
||||
* Copyright (c) 2004 - 2007 Kungliga Tekniska H<>gskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
@@ -236,8 +236,8 @@ int
|
||||
_hx509_cert_assign_key(hx509_cert cert, hx509_private_key private_key)
|
||||
{
|
||||
if (cert->private_key)
|
||||
_hx509_free_private_key(&cert->private_key);
|
||||
cert->private_key = private_key;
|
||||
_hx509_private_key_free(&cert->private_key);
|
||||
cert->private_key = _hx509_private_key_ref(private_key);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -258,7 +258,7 @@ hx509_cert_free(hx509_cert cert)
|
||||
(cert->release)(cert, cert->ctx);
|
||||
|
||||
if (cert->private_key)
|
||||
_hx509_free_private_key(&cert->private_key);
|
||||
_hx509_private_key_free(&cert->private_key);
|
||||
|
||||
free_Certificate(cert->data);
|
||||
free(cert->data);
|
||||
@@ -1071,6 +1071,14 @@ _hx509_cert_private_key(hx509_cert p)
|
||||
return p->private_key;
|
||||
}
|
||||
|
||||
int
|
||||
_hx509_cert_private_key_exportable(hx509_cert p)
|
||||
{
|
||||
if (p->private_key == NULL)
|
||||
return 0;
|
||||
return _hx509_private_key_exportable(p->private_key);
|
||||
}
|
||||
|
||||
int
|
||||
_hx509_cert_private_decrypt(hx509_context context,
|
||||
const heim_octet_string *ciphertext,
|
||||
|
||||
Reference in New Issue
Block a user