BSL v1.1.1 - 39.g9f43410
AMMOS Bundle Protocol Security Library (BSL)
Loading...
Searching...
No Matches
DefaultSecContext.h File Reference

Header for the implementation of an example default security context (RFC 9173). More...

+ Include dependency graph for DefaultSecContext.h:
+ This graph shows which files directly or indirectly include this file:

Enumerations

enum  BSLX_BIB_Options_e {
  BSLX_BIB_OPT_KEY_ID = 1000 , BSLX_BIB_OPT_USE_KEY_WRAP , BSLX_BIB_OPT_WRAPPED_KEY , BSLX_BIB_OPT_SHA_VARIANT ,
  BSLX_BIB_OPT_SCOPE
}
 Internal BIB option enumerations. More...
 
enum  BSLX_BCB_Options_e {
  BSLX_BCB_OPT_KEY_ID = 2000 , BSLX_BCB_OPT_USE_KEY_WRAP , BSLX_BCB_OPT_WRAPPED_KEY , BSLX_BCB_OPT_AES_VARIANT ,
  BSLX_BCB_OPT_SCOPE
}
 Internal BCB option enumerations. More...
 

Functions

bool BSLX_BIB_Validate (BSL_LibCtx_t *lib, BSL_BundleRef_t *bundle, BSL_SecOper_t *sec_oper)
 Match signature BSL_SecCtx_Validate_f.
 
int BSLX_BIB_Execute (BSL_LibCtx_t *lib, BSL_BundleRef_t *bundle, BSL_SecOper_t *sec_oper)
 Match signature BSL_SecCtx_Execute_f.
 
bool BSLX_BCB_Validate (BSL_LibCtx_t *lib, BSL_BundleRef_t *bundle, BSL_SecOper_t *sec_oper)
 Match signature BSL_SecCtx_Validate_f.
 
int BSLX_BCB_Execute (BSL_LibCtx_t *lib, BSL_BundleRef_t *bundle, BSL_SecOper_t *sec_oper)
 Match signature BSL_SecCtx_Execute_f.
 

Detailed Description

Header for the implementation of an example default security context (RFC 9173).

Enumeration Type Documentation

◆ BSLX_BCB_Options_e

Internal BCB option enumerations.

Enumerator
BSLX_BCB_OPT_KEY_ID 

Used to pass in a key id found in the key registry.

BSLX_BCB_OPT_USE_KEY_WRAP 

A uint value 0 to skip key wrap, else use key wrap.

BSLX_BCB_OPT_WRAPPED_KEY 

Manually control the wrapped key.

Warning
This should only be used for testing.
BSLX_BCB_OPT_AES_VARIANT 

A uint value from the choices rfc9173_bcb_aes_variant_e.

BSLX_BCB_OPT_SCOPE 

A uint value from the choices rfc9173_bcb_aad_scope_flag_ids_e.

◆ BSLX_BIB_Options_e

Internal BIB option enumerations.

Enumerator
BSLX_BIB_OPT_KEY_ID 

Used to pass in a key id found in the key registry.

BSLX_BIB_OPT_USE_KEY_WRAP 

A uint value 0 to skip key wrap, else use key wrap.

BSLX_BIB_OPT_WRAPPED_KEY 

Manually control the wrapped key.

Warning
This should only be used for testing.
BSLX_BIB_OPT_SHA_VARIANT 

A uint value from the choices rfc9173_bib_sha_variantid_e.

BSLX_BIB_OPT_SCOPE 

A uint value from the choices rfc9173_bib_integ_scope_flag_ids_e.

Function Documentation

◆ BSLX_BCB_Execute()

int BSLX_BCB_Execute ( BSL_LibCtx_t *  lib,
BSL_BundleRef_t bundle,
BSL_SecOper_t *  sec_oper 
)

Match signature BSL_SecCtx_Execute_f.

References BSLX_BCB_t::aad_scope, BSLX_BCB_t::aes_variant, BSLX_BCB_t::authtag, BSLX_BCB_t::bsl_aes, BSL_BundleCtx_GetBlockMetadata(), BSL_CRYPTO_AES_128, BSL_CRYPTO_AES_256, BSL_Data_Deinit(), BSL_ERR_HOST_CALLBACK_FAILED, BSL_ERR_SECURITY_CONTEXT_FAILED, BSL_ERR_SECURITY_CONTEXT_VALIDATION_FAILED, BSL_IdValPair_GetAsBytestr(), BSL_IdValPair_GetAsInt64(), BSL_IdValPair_SetBytestr(), BSL_IdValPair_SetInt64(), BSL_LOG_DEBUG, BSL_LOG_ERR, BSL_LOG_INFO, BSL_LOG_WARNING, BSL_SecOper_AddParam(), BSL_SecOper_AddResult(), BSL_SecOper_FindParam(), BSL_SecOper_FindResult(), BSL_SecOper_GetSecurityBlockNum(), BSL_SecOper_GetTargetBlockNum(), BSL_SecOper_IsRoleAcceptor(), BSL_SUCCESS, BSLX_BCB_ComputeAAD(), BSLX_BCB_Decrypt(), BSLX_BCB_Deinit(), BSLX_BCB_Encrypt(), BSLX_BCB_GetOptions(), BSLX_BCB_Init(), CHK_ARG_NONNULL, CHK_PRECONDITION, BSLX_BCB_t::err_count, BSLX_BCB_t::is_source, BSLX_BCB_t::iv, BSLX_BCB_t::keysize, BSL_Data_t::len, BSLX_BCB_t::opt_aad_scope, BSLX_BCB_t::overwrite_btsd, RFC9173_BCB_AADSCOPEFLAGID_INC_SECURITY_HEADER, RFC9173_BCB_AES_VARIANT_A128GCM, RFC9173_BCB_AES_VARIANT_A256GCM, RFC9173_BCB_RESULTID_AUTHTAG, RFC9173_BCB_SECPARAM_AADSCOPE, RFC9173_BCB_SECPARAM_AESVARIANT, RFC9173_BCB_SECPARAM_IV, RFC9173_BCB_SECPARAM_WRAPPEDKEY, BSLX_BCB_t::sec_block, and BSLX_BCB_t::wrapped_key.

Referenced by BSL_TestUtils_SetupDefaultSecurityContext(), MockBPA_Agent_Init(), test_RFC9173_AppendixA_Example2_BCB_Acceptor(), test_RFC9173_AppendixA_Example2_BCB_Source(), test_sec_accept_keyunwrap(), and test_sec_source_keywrap().

◆ BSLX_BCB_Validate()

bool BSLX_BCB_Validate ( BSL_LibCtx_t *  lib,
BSL_BundleRef_t bundle,
BSL_SecOper_t *  sec_oper 
)

◆ BSLX_BIB_Execute()

◆ BSLX_BIB_Validate()

bool BSLX_BIB_Validate ( BSL_LibCtx_t *  lib,
BSL_BundleRef_t bundle,
BSL_SecOper_t *  sec_oper 
)