summaryrefslogtreecommitdiff
path: root/tests/set_pkcs12_cred.c
diff options
context:
space:
mode:
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;
+}