diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2014-08-06 15:35:54 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2014-08-06 15:53:04 +0200 |
commit | 4f5822b7e39c844570f25bbc84881de68918761f (patch) | |
tree | 7c78433dab92095a86cd502b6ec98d3f4fab7554 /src/pkcs11.c | |
parent | e3ba710de5f1ef7aaadebb7f1dcead71b1b706dc (diff) | |
download | gnutls-4f5822b7e39c844570f25bbc84881de68918761f.tar.gz |
changed semantics of gnutls_pkcs11_privkey_get_pubkey; named gnutls_pkcs11_privkey_export_pubkey
Diffstat (limited to 'src/pkcs11.c')
-rw-r--r-- | src/pkcs11.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/pkcs11.c b/src/pkcs11.c index 8fa9fe497b..1d8a739db1 100644 --- a/src/pkcs11.c +++ b/src/pkcs11.c @@ -582,6 +582,7 @@ pkcs11_export_pubkey(FILE * outfile, const char *url, int detailed, unsigned int int ret; unsigned int flags = 0; gnutls_datum_t pubkey; + gnutls_pkcs11_privkey_t pkey; if (login_flags) flags = login_flags; @@ -595,15 +596,30 @@ pkcs11_export_pubkey(FILE * outfile, const char *url, int detailed, unsigned int sleep(3); } + ret = gnutls_pkcs11_privkey_init(&pkey); + if (ret < 0) { + fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__, + gnutls_strerror(ret)); + exit(1); + } + + ret = gnutls_pkcs11_privkey_import_url(pkey, url, 0); + if (ret < 0) { + fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__, + gnutls_strerror(ret)); + exit(1); + } + ret = - gnutls_pkcs11_privkey_get_pubkey(url, - GNUTLS_X509_FMT_PEM, &pubkey, - flags); + gnutls_pkcs11_privkey_export_pubkey(pkey, + GNUTLS_X509_FMT_PEM, &pubkey, + flags); if (ret < 0) { fprintf(stderr, "Error in %s:%d: %s\n", __func__, __LINE__, gnutls_strerror(ret)); exit(1); } + gnutls_pkcs11_privkey_deinit(pkey); fwrite(pubkey.data, 1, pubkey.size, outfile); gnutls_free(pubkey.data); |