summaryrefslogtreecommitdiff
path: root/tests/set_pkcs12_cred.c
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2005-12-08 14:32:55 +0000
committerSimon Josefsson <simon@josefsson.org>2005-12-08 14:32:55 +0000
commitb3eb305de94fc79f9c69a91cc1f45ac86c04ec5c (patch)
treec9208b3c5a5bd114f0f7e4a18b9bbef41362967c /tests/set_pkcs12_cred.c
parente3a683c3eee3fe7e435d54a5c37de067da00c661 (diff)
downloadgnutls-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.c39
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;
+}