Add X.509 CA callback to SSL configuration and implement setter API
This commit is contained in:
parent
1b4a2bad7a
commit
5adaad9846
2 changed files with 26 additions and 0 deletions
|
@ -928,6 +928,10 @@ struct mbedtls_ssl_config
|
|||
mbedtls_ssl_key_cert *key_cert; /*!< own certificate/key pair(s) */
|
||||
mbedtls_x509_crt *ca_chain; /*!< trusted CAs */
|
||||
mbedtls_x509_crl *ca_crl; /*!< trusted CAs CRLs */
|
||||
#if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK)
|
||||
mbedtls_x509_crt_ca_cb_t f_ca_cb;
|
||||
void *p_ca_cb;
|
||||
#endif /* MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK */
|
||||
#endif /* MBEDTLS_X509_CRT_PARSE_C */
|
||||
|
||||
#if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
|
||||
|
|
|
@ -7875,7 +7875,29 @@ void mbedtls_ssl_conf_ca_chain( mbedtls_ssl_config *conf,
|
|||
{
|
||||
conf->ca_chain = ca_chain;
|
||||
conf->ca_crl = ca_crl;
|
||||
|
||||
#if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK)
|
||||
/* mbedtls_ssl_conf_ca_chain() and mbedtls_ssl_conf_ca_cb()
|
||||
* cannot be used together. */
|
||||
conf->f_ca_cb = NULL;
|
||||
conf->p_ca_cb = NULL;
|
||||
#endif /* MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK */
|
||||
}
|
||||
|
||||
#if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK)
|
||||
void mbedtls_ssl_conf_ca_cb( mbedtls_ssl_config *conf,
|
||||
mbedtls_x509_ca_cb_t f_ca_cb,
|
||||
void *p_ca_cb )
|
||||
{
|
||||
conf->f_ca_cb = f_ca_cb;
|
||||
conf->p_ca_cb = p_ca_cb;
|
||||
|
||||
/* mbedtls_ssl_conf_ca_chain() and mbedtls_ssl_conf_ca_cb()
|
||||
* cannot be used together. */
|
||||
conf->ca_chain = NULL;
|
||||
conf->ca_crl = NULL;
|
||||
}
|
||||
#endif /* MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK */
|
||||
#endif /* MBEDTLS_X509_CRT_PARSE_C */
|
||||
|
||||
#if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)
|
||||
|
|
Loading…
Reference in a new issue