[Help-gnutls] Re: _gnutls_fbase64_decode and PEM headers
Michael Welsh Duggan
mwd at cert.org
Thu Jun 14 17:51:47 CEST 2007
Simon Josefsson <simon at josefsson.org> writes:
>> Question B: Am I doing something wrong?
>
> Yes, most likely you really want to use PKCS#12 to transport encrypted
> private keys instead. That format can also encode client certificates
> and/or CA certificates as well. The API to use is:
>
> extern int
> gnutls_certificate_set_x509_simple_pkcs12_file
> (gnutls_certificate_credentials_t res, const char *pkcs12file,
> gnutls_x509_crt_fmt_t type, const char *password);
>
> You should be able to convert to from OpenSSL-encrypted files to PKCS#11
> using one of the OpenSSL command line tools.
Okay. I have attempted this using the gnutls certtool program. To be
specific:
a) I created a cert and key using certtool.
b) I used
rv = gnutls_certificate_set_x509_key_file(queue->root->cred,
cert_filename,
key_filename,
GNUTLS_X509_FMT_PEM);
This worked. I then tried the following:
a) Created a PKCS-12 key using:
certtool --load-certificate clientcert.pem \
--load-privkey clientkey.pem --to-p12 --outfile client.p12
(Used an empty password)
b) Used
rv = gnutls_certificate_set_x509_simple_pkcs12_file(
queue->root->cred,
cert_filename,
GNUTLS_X509_FMT_PEM,
password);
(Used an empty password)
When I do this, I get the following error:
ASN1 parser: Error in TAG.
Gnutls version is 1.4.1. Any suggestions?
--
Michael Welsh Duggan
(mwd at cert.org)
More information about the Gnutls-help
mailing list