Google is committed to advancing racial equity for Black communities. See how.

nl::Weave::Profiles::Security::CASE

This namespace includes all interfaces within Weave for the Certificate Authenticated Session Establishment (CASE) protocol within the Weave security profile.

Summary

Enumerations

@224 enum
@225 enum
@226 enum
@227 enum

Functions

EncodeCASECertInfo(uint8_t *buf, uint16_t bufSize, uint16_t & certInfoLen, const uint8_t *entityCert, uint16_t entityCertLen, const uint8_t *intermediateCerts, uint16_t intermediateCertsLen)
Encodes a WeaveCASECertificateInformation TLV structure.
EncodeCASECertInfo(TLVWriter & writer, const uint8_t *entityCert, uint16_t entityCertLen, const uint8_t *intermediateCerts, uint16_t intermediateCertsLen)
Encodes a WeaveCASECertificateInformation TLV structure.

Classes

nl::Weave::Profiles::Security::CASE::BeginSessionContext

Holds context information related to the generation or processing of a CASE begin session messages.

nl::Weave::Profiles::Security::CASE::BeginSessionRequestContext

Holds context information related to the generation or processing of a CASE BeginSessionRequest message.

nl::Weave::Profiles::Security::CASE::BeginSessionResponseContext

Holds context information related to the generation or processing of a CASE BeginSessionRequest message.

nl::Weave::Profiles::Security::CASE::ReconfigureContext

Holds information related to the generation or processing of a CASE Reconfigure message.

nl::Weave::Profiles::Security::CASE::WeaveCASEAuthDelegate

Abstract interface to which authentication actions are delegated during CASE session establishment.

nl::Weave::Profiles::Security::CASE::WeaveCASEEngine

Implements the core logic of the Weave CASE protocol.

Enumerations

@224

 @224

@225

 @225

@226

 @226

@227

 @227

Functions

EncodeCASECertInfo

WEAVE_ERROR EncodeCASECertInfo(
  uint8_t *buf,
  uint16_t bufSize,
  uint16_t & certInfoLen,
  const uint8_t *entityCert,
  uint16_t entityCertLen,
  const uint8_t *intermediateCerts,
  uint16_t intermediateCertsLen
)

Encodes a WeaveCASECertificateInformation TLV structure.

This method encodes a WeaveCASECertificateInformation structure in Weave TLV form containing a specified entity certificate and an optional intermediate certificate. The resultant CASE certificate info structure is written to a supplied buffer.

Details
Parameters
[in] buf
The buffer into which the encoded CASE certificate info structure should be written.
[in] bufSize
The size in bytes of the buffer pointed at by buf.
[out] certInfoLen
An integer value that will receive the final encoded size of the CASE certificate info structure. This value is only meaningful in the event that the function succeeds.
[in] entityCert
A buffer containing the entity certificate to be included in the CASE certificate info structure. The entity certificate is expected to be encoded in Weave TLV form.
[in] entityCertLen
The length in bytes of the encoded entity certificate.
[in] intermediateCerts
Optionally, an buffer containing an intermediate certificate or a TLV encoded array of intermediate certificates to be included as a related certificate within the CASE certificate info structure. When supplied, the intermediate certificate is expected to be encoded in Weave TLV form. If NULL is given, the generated certificate info structure will not contain any related certificates.
[in] intermediateCertsLen
The length in bytes of the encoded intermediate certificate structure or TLV encoded array of intermediate certificates.
Return Values
WEAVE_NO_ERROR
If the operation succeeded.
other
Other Weave error codes related to the decoding of the input certificates or the encoding of the CASE certificate info structure.

EncodeCASECertInfo

WEAVE_ERROR EncodeCASECertInfo(
  TLVWriter & writer,
  const uint8_t *entityCert,
  uint16_t entityCertLen,
  const uint8_t *intermediateCerts,
  uint16_t intermediateCertsLen
)

Encodes a WeaveCASECertificateInformation TLV structure.

This method encodes a WeaveCASECertificateInformation structure in Weave TLV form containing a specified entity certificate and an optional intermediate certificate. The resultant CASE certificate info structure is written to a supplied TLVWriter.

Details
Parameters
[in] writer
The TLVWriter object to which the encoded CASE certificate info structure should be written.
[in] entityCert
A buffer containing the entity certificate to be included in the CASE certificate info structure. The entity certificate is expected to be encoded in Weave TLV form.
[in] entityCertLen
The length in bytes of the encoded entity certificate.
[in] intermediateCerts
Optionally, an buffer containing an intermediate certificate or a TLV encoded array of intermediate certificates to be included as a related certificate within the CASE certificate info structure. When supplied, the intermediate certificates are expected to be encoded in Weave TLV form. If NULL is given, the generated certificate info structure will not contain any related certificates.
[in] intermediateCertsLen
The length in bytes of the encoded intermediate certificate structure or TLV encoded array of intermediate certificates.
Return Values
WEAVE_NO_ERROR
If the operation succeeded.
other
Other Weave error codes related to the decoding of the input certificates or the encoding of the CASE certificate info structure.