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

@213 enum
@214 enum
@215 enum
@216 enum

Functions

EncodeCASECertInfo(uint8_t *buf, uint16_t bufSize, uint16_t & certInfoLen, const uint8_t *entityCert, uint16_t entityCertLen, const uint8_t *intermediateCert, uint16_t intermediateCertLen)
Encodes a WeaveCASECertificateInformation TLV structure.
EncodeCASECertInfo(TLVWriter & writer, const uint8_t *entityCert, uint16_t entityCertLen, const uint8_t *intermediateCert, uint16_t intermediateCertLen)
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

@213

 @213

@214

 @214

@215

 @215

@216

 @216

Functions

EncodeCASECertInfo

WEAVE_ERROR EncodeCASECertInfo(
  uint8_t *buf,
  uint16_t bufSize,
  uint16_t & certInfoLen,
  const uint8_t *entityCert,
  uint16_t entityCertLen,
  const uint8_t *intermediateCert,
  uint16_t intermediateCertLen
)

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] intermediateCert
Optionally, an buffer containing an intermediate certificate 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] intermediateCertLen
The length in bytes of the encoded intermediate certificate.
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 *intermediateCert,
  uint16_t intermediateCertLen
)

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] intermediateCert
Optionally, an buffer containing an intermediate certificate 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] intermediateCertLen
The length in bytes of the encoded intermediate certificate.
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.