Skip to content

Instantly share code, notes, and snippets.

@dchest
Created September 10, 2010 21:13
Show Gist options
  • Save dchest/574388 to your computer and use it in GitHub Desktop.
Save dchest/574388 to your computer and use it in GitHub Desktop.
How to add a certificate from buffer in OpenSSL
X509 *cert;
char *zCert;
BIO *mem;
zCert = // get your certificate text buffer here (C string with certificate in PEM format)
mem = BIO_new(BIO_s_mem());
BIO_puts(mem, zCert);
cert = PEM_read_bio_X509(mem, NULL, 0, NULL);
free(zCert);
BIO_free(mem);
// set certificate to sslCtx
X509_STORE_add_cert(SSL_CTX_get_cert_store(sslCtx), cert);
@fklassen
Copy link

fklassen commented Feb 4, 2023

I believe that to prevent a memory leak you need X509_free(cert);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment