diff options
author | Simon Josefsson <simon@josefsson.org> | 2005-12-08 14:32:55 +0000 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2005-12-08 14:32:55 +0000 |
commit | b3eb305de94fc79f9c69a91cc1f45ac86c04ec5c (patch) | |
tree | c9208b3c5a5bd114f0f7e4a18b9bbef41362967c /tests/set_pkcs12_cred.c | |
parent | e3a683c3eee3fe7e435d54a5c37de067da00c661 (diff) | |
download | gnutls-b3eb305de94fc79f9c69a91cc1f45ac86c04ec5c.tar.gz |
Support reading X.509 credentials from PKCS#12 files.
Diffstat (limited to 'tests/set_pkcs12_cred.c')
-rw-r--r-- | tests/set_pkcs12_cred.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/set_pkcs12_cred.c b/tests/set_pkcs12_cred.c new file mode 100644 index 0000000000..a67e771384 --- /dev/null +++ b/tests/set_pkcs12_cred.c @@ -0,0 +1,39 @@ +#include <stdio.h> +#include <stdlib.h> +#include <gnutls/gnutls.h> + +int +main (int argc, char *argv[]) +{ + gnutls_certificate_credentials_t x509cred; + char *file, *password; + int ret; + + ret = gnutls_global_init (); + if (ret < 0) + return 1; + + ret = gnutls_certificate_allocate_credentials (&x509cred); + if (ret < 0) + return 1; + + file = getenv ("PKCS12FILE"); + password = getenv ("PKCS12PASSWORD"); + + printf ("Reading PKCS#12 blob from `%s' using password `%s'.\n", + file, password); + ret = gnutls_certificate_set_x509_simple_pkcs12_file (x509cred, + file, + GNUTLS_X509_FMT_DER, + password); + if (ret < 0) + { + printf ("x509_pkcs12 (%d): %s\n", ret, gnutls_strerror (ret)); + } + + gnutls_certificate_free_credentials (x509cred); + + gnutls_global_deinit (); + + return 0; +} |