Add certificate callback. If set this is called whenever a certificate
[openssl.git] / ssl / ssl_cert.c
index 89a51311196a9fe5b68a7668c7844b986cf49460..9aa7b04966e026a7f3cb0feaf7dd3fe92cb43ea9 100644 (file)
@@ -379,6 +379,9 @@ CERT *ssl_cert_dup(CERT *cert)
 
        ret->cert_flags = cert->cert_flags;
 
+       ret->cert_cb = cert->cert_cb;
+       ret->cert_cb_arg = cert->cert_cb_arg;
+
        return(ret);
        
 #if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_ECDH)
@@ -557,6 +560,12 @@ int ssl_cert_add1_chain_cert(CERT *c, X509 *x)
        return 1;
        }
 
+void ssl_cert_set_cert_cb(CERT *c, int (*cb)(SSL *ssl, void *arg), void *arg)
+       {
+       c->cert_cb = cb;
+       c->cert_cb_arg = arg;
+       }
+
 SESS_CERT *ssl_sess_cert_new(void)
        {
        SESS_CERT *ret;