summaryrefslogtreecommitdiffstats
path: root/PICA_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'PICA_client.c')
-rwxr-xr-xPICA_client.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/PICA_client.c b/PICA_client.c
index c11e244..de4aaf3 100755
--- a/PICA_client.c
+++ b/PICA_client.c
@@ -124,6 +124,23 @@ if (!x)
return PICA_id_from_X509(x, id);
}
+int PICA_get_id_from_cert_string(const char *cert_pem, unsigned char *id)
+{
+X509 *x;
+BIO *biomem;
+
+biomem = BIO_new_mem_buf(cert_pem, -1);
+
+x = PEM_read_bio_X509(biomem, NULL, 0, NULL);
+
+if (!x)
+{
+ return 0;
+}
+
+return PICA_id_from_X509(x, id);
+}
+
static int verify_callback(int preverify_ok, X509_STORE_CTX *ctx)
{ //return 1 for self-signed certificates
char buf[256];