*/
void esp_transport_ssl_set_cert_data(esp_transport_handle_t t, const char *data, int len);
+/**
+ * @brief Set SSL certificate data (as DER format).
+ * Note that, this function stores the pointer to data, rather than making a copy.
+ * So this data must remain valid until after the connection is cleaned up
+ *
+ * @param t ssl transport
+ * @param[in] data The der data
+ * @param[in] len The length
+ */
+void esp_transport_ssl_set_cert_data_der(esp_transport_handle_t t, const char *data, int len);
+
/**
* @brief Enable global CA store for SSL connection
*
*/
void esp_transport_ssl_set_client_cert_data(esp_transport_handle_t t, const char *data, int len);
+/**
+ * @brief Set SSL client certificate data for mutual authentication (as DER format).
+ * Note that, this function stores the pointer to data, rather than making a copy.
+ * So this data must remain valid until after the connection is cleaned up
+ *
+ * @param t ssl transport
+ * @param[in] data The der data
+ * @param[in] len The length
+ */
+void esp_transport_ssl_set_client_cert_data_der(esp_transport_handle_t t, const char *data, int len);
+
/**
* @brief Set SSL client key data for mutual authentication (as PEM format).
* Note that, this function stores the pointer to data, rather than making a copy.
*/
void esp_transport_ssl_set_client_key_data(esp_transport_handle_t t, const char *data, int len);
+/**
+ * @brief Set SSL client key data for mutual authentication (as DER format).
+ * Note that, this function stores the pointer to data, rather than making a copy.
+ * So this data must remain valid until after the connection is cleaned up
+ *
+ * @param t ssl transport
+ * @param[in] data The der data
+ * @param[in] len The length
+ */
+void esp_transport_ssl_set_client_key_data_der(esp_transport_handle_t t, const char *data, int len);
+
/**
* @brief Skip validation of certificate's common name field
*
}
}
+void esp_transport_ssl_set_cert_data_der(esp_transport_handle_t t, const char *data, int len)
+{
+ transport_ssl_t *ssl = esp_transport_get_context_data(t);
+ if (t && ssl) {
+ ssl->cfg.cacert_pem_buf = (void *)data;
+ ssl->cfg.cacert_pem_bytes = len;
+ }
+}
+
void esp_transport_ssl_set_client_cert_data(esp_transport_handle_t t, const char *data, int len)
{
transport_ssl_t *ssl = esp_transport_get_context_data(t);
}
}
+void esp_transport_ssl_set_client_cert_data_der(esp_transport_handle_t t, const char *data, int len)
+{
+ transport_ssl_t *ssl = esp_transport_get_context_data(t);
+ if (t && ssl) {
+ ssl->cfg.clientcert_pem_buf = (void *)data;
+ ssl->cfg.clientcert_pem_bytes = len;
+ }
+}
+
void esp_transport_ssl_set_client_key_data(esp_transport_handle_t t, const char *data, int len)
{
transport_ssl_t *ssl = esp_transport_get_context_data(t);
}
}
+void esp_transport_ssl_set_client_key_data_der(esp_transport_handle_t t, const char *data, int len)
+{
+ transport_ssl_t *ssl = esp_transport_get_context_data(t);
+ if (t && ssl) {
+ ssl->cfg.clientkey_pem_buf = (void *)data;
+ ssl->cfg.clientkey_pem_bytes = len;
+ }
+}
+
void esp_transport_ssl_skip_common_name_check(esp_transport_handle_t t)
{
transport_ssl_t *ssl = esp_transport_get_context_data(t);