BSL v0.0.0 - 0.g33cf081
AMMOS Bundle Protocol Security Library (BSL)
Loading...
Searching...
No Matches
SecResult.h File Reference

Defines the RFC 9172 Security Result. More...

#include <stdint.h>
#include <m-array.h>
#include <m-bstring.h>
#include <BPSecLib_Private.h>
+ Include dependency graph for SecResult.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  BSL_SecResult_t
 Represents a security result, being a 2-tuple of (result-id, bytes). More...
 

Macros

#define M_OPL_BSL_SecResult_t()
 OPLIST for ::BSL_SecParam_t.
 

Detailed Description

Defines the RFC 9172 Security Result.

Implementation of a RFC9172 Result.

This represents the Security Result field of the Abstract Security Block. As defined in RFC 9172.

An individual result is represented as a CBOR array comprising a 2-tuple of a result Id and a result value, defined as follows.

Result Id:

  • This field identifies which security result is being specified.
  • Some security results capture the primary output of a cipher suite.
  • Other security results contain additional annotative information from cipher suite processing.
  • This field SHALL be represented as a CBOR unsigned integer.
  • Security result Ids will be as specified in Section 3.10.

Result Value:

  • This field captures the value associated with the result.
  • This field SHALL be represented by the applicable CBOR representation of the result value, in accordance with Section 3.10.

RFC 9172 Section 3.10

  • Each security context MUST define its own context parameters and results.
  • Each defined parameter and result is represented as the tuple of an identifier and a value.
  • Identifiers are always represented as a CBOR unsigned integer.
  • The CBOR encoding of values is as defined by the security context specification.
  • Identifiers MUST be unique for a given security context but do not need to be unique amongst all security contexts.

https://www.rfc-editor.org/rfc/rfc9172.html#section-3.6-3.12.1

Author
Bill..nosp@m.Van..nosp@m.Besie.nosp@m.n@jh.nosp@m.uapl..nosp@m.edu

Macro Definition Documentation

◆ M_OPL_BSL_SecResult_t

#define M_OPL_BSL_SecResult_t ( )
Value:
(INIT(API_2(BSL_SecResult_Init)), INIT_SET(API_6(BSL_SecResult_InitSet)), CLEAR(API_2(BSL_SecResult_Deinit)), \
SET(API_6(BSL_SecResult_Set)))
void BSL_SecResult_InitSet(BSL_SecResult_t *self, const BSL_SecResult_t *src)
Initialize to a copy of another value.
Definition SecResult.c:36
void BSL_SecResult_Deinit(BSL_SecResult_t *self)
De-initialize a result.
Definition SecResult.c:42
void BSL_SecResult_Set(BSL_SecResult_t *self, const BSL_SecResult_t *src)
Overwrite with a copy of another value.
Definition SecResult.c:68
void BSL_SecResult_Init(BSL_SecResult_t *self)
Initialize to a default empty state.
Definition SecResult.c:28

OPLIST for ::BSL_SecParam_t.