coap_const_char_ptr_t, coap_dtls_key_t, coap_dtls_key_t__bindgen_ty_1, coap_dtls_pki_t, coap_pki_define_t,
coap_pki_define_t_COAP_PKI_KEY_DEF_PEM_BUF, coap_pki_define_t_COAP_PKI_KEY_DEF_PKCS11, coap_pki_key_define_t,
PemFileKeyComponent, PemMemoryKeyComponent, Pkcs11KeyComponent, PkiRpkContext, PkiRpkContextBuilder,
// If PKI is enabled, implement conversions for PKI contexts to PKI-supporting server/client-side
/// Trait for types that can check whether a peer's or CA certificate's common name is allowed/as
/// See [the libcoap documentation](https://libcoap.net/doc/reference/4.3.5/group__dtls.html#gaef7a2800757a4922102311c94c3fa529)
/// Optionally, it may also contain a CA certificate whose name will be sent to clients to indicate
/// For maximum compatibility, you should stick to the `with_*` constructors defined for this type.
/// definition, those defined using `with_*` match explicit key types provided in libcoap and should
/// **Important:** The CA certificate field/parameter is not to be confused with the CA certificate
/// you may set while configuring HTTP servers. The CA certificate will **not** be sent in full to
/// the peer during connection establishment and does not have to refer to the CA that signed the
/// It will only be used to set the CA list sent to the client for client certificate validation.
/// Therefore, in order for TLS certificate validation to succeed, the peer must already know the
impl<CA: KeyComponent<Pki>, PK: KeyComponent<Pki>, SK: KeyComponent<Pki>> PkiKeyDef<CA, PK, SK> {
/// See the documentation of [PkiKeyDef::new] for more information on the parameters, especially
/// See the documentation of [`PkiKeyDef::new`] for more information on the parameters, especially
/// See the documentation of [`PkiKeyDef::new`] for more information on the parameters, especially
/// See the documentation of [`PkiKeyDef::new`] for more information on the parameters, especially
/// See the documentation of [`PkiKeyDef::new`] for more information on the parameters, especially
impl<CA: KeyComponent<Pki>, PK: KeyComponent<Pki>, SK: KeyComponent<Pki>> KeyDefSealed for PkiKeyDef<CA, PK, SK> {
impl<CA: KeyComponent<Pki>, PK: KeyComponent<Pki>, SK: KeyComponent<Pki>> KeyDef for PkiKeyDef<CA, PK, SK> {