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_ssl_key_cert *key_cert; /*!< own certificate/key pair(s) */
|
||||||
mbedtls_x509_crt *ca_chain; /*!< trusted CAs */
|
mbedtls_x509_crt *ca_chain; /*!< trusted CAs */
|
||||||
mbedtls_x509_crl *ca_crl; /*!< trusted CAs CRLs */
|
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 */
|
#endif /* MBEDTLS_X509_CRT_PARSE_C */
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
|
#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_chain = ca_chain;
|
||||||
conf->ca_crl = ca_crl;
|
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 */
|
#endif /* MBEDTLS_X509_CRT_PARSE_C */
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)
|
#if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)
|
||||||
|
|
Loading…
Reference in a new issue