AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Public Types | Public Member Functions | List of all members
alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState Class Reference

ASN.1 Codec state for encryption key property. More...

#include <EncryptionKeyPropertyCodecState.h>

Public Types

typedef acsdkCryptoInterfaces::KeyStoreInterface::IV IV
 Initialization vector data type. More...
 
typedef acsdkCryptoInterfaces::KeyStoreInterface::KeyChecksum KeyChecksum
 Key checksum data type. More...
 
typedef acsdkCryptoInterfaces::KeyStoreInterface::DataBlock DataBlock
 Byte vector data type. More...
 
typedef acsdkCryptoInterfaces::CryptoCodecInterface::Tag Tag
 Data tag type. More...
 

Public Member Functions

 EncryptionKeyPropertyCodecState () noexcept
 
 ~EncryptionKeyPropertyCodecState () noexcept
 
bool prepareForEncoding () noexcept
 Prepares object for encoding. More...
 
bool setVersion (int64_t version) noexcept
 Sets version property for encoding. More...
 
bool getVersion (int64_t &version) noexcept
 Get version property after decoding. More...
 
bool setMainKeyAlias (const std::string &mainKeyAlias) noexcept
 Sets main key alias for encoding. More...
 
bool getMainKeyAlias (std::string &mainKeyAlias) noexcept
 Get main key alias after decoding. More...
 
bool setMainKeyChecksum (const KeyChecksum &mainKeyChecksum) noexcept
 Set main key checksum for encoding. More...
 
bool getMainKeyChecksum (KeyChecksum &mainKeyChecksum) noexcept
 Get main key checksum after decoding. More...
 
bool setDataKeyAlgorithm (AlgorithmType type) noexcept
 Set data key wrapping algorithm for encoding. More...
 
bool getDataKeyAlgorithm (AlgorithmType &type) noexcept
 Get data key wrapping algorithm after decoding. More...
 
bool setDataKeyIV (const IV &dataKeyIV) noexcept
 Set data key IV for encoding. More...
 
bool getDataKeyIV (IV &dataKeyIV) noexcept
 Set data key IV for encoding. More...
 
bool setDataKeyCiphertext (const DataBlock &dataKeyCiphertext) noexcept
 Set data key ciphertext for encoding. More...
 
bool getDataKeyCiphertext (DataBlock &dataKeyCiphertext) noexcept
 Get data ciphertext after decoding. More...
 
bool setDataKeyTag (const Tag &dataKeyTag) noexcept
 Set data key tag for encoding. More...
 
bool getDataKeyTag (Tag &dataKeyTag) noexcept
 Get data key tag after decoding. More...
 
bool setDataAlgorithm (AlgorithmType type) noexcept
 Set data algorithm for encoding. More...
 
bool getDataAlgorithm (AlgorithmType &type) noexcept
 Get data algorithm after decoding. More...
 
bool setDigestType (DigestType type) noexcept
 Set digest type for encoding. More...
 
bool getDigestType (DigestType &type) noexcept
 Get digest type after decoding. More...
 
bool setDigest (const DataBlock &digest) noexcept
 Set digest for encoding. More...
 
bool getDigest (DataBlock &digest) noexcept
 Get digest after decoding. More...
 
bool encodeEncInfo (DataBlock &der) noexcept
 Encodes data block for digest computation. More...
 
bool encode (DataBlock &der) noexcept
 Encodes stored properties in DER form. More...
 
bool decode (const DataBlock &der) noexcept
 Decodes DER input and internally stores decoded properties. More...
 

Detailed Description

ASN.1 Codec state for encryption key property.

This class contains data for DER encoding and decoding of encryption key property.

See also
EncryptionKeyPropertyCodec

Member Typedef Documentation

◆ DataBlock

Byte vector data type.

◆ IV

Initialization vector data type.

◆ KeyChecksum

Key checksum data type.

◆ Tag

Data tag type.

Constructor & Destructor Documentation

◆ EncryptionKeyPropertyCodecState()

alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::EncryptionKeyPropertyCodecState ( )
noexcept

◆ ~EncryptionKeyPropertyCodecState()

alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::~EncryptionKeyPropertyCodecState ( )
noexcept

Member Function Documentation

◆ decode()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::decode ( const DataBlock der)
noexcept

Decodes DER input and internally stores decoded properties.

Parameters
[in]derDER-encoded properties.
Returns
True on success.

◆ encode()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::encode ( DataBlock der)
noexcept

Encodes stored properties in DER form.

Parameters
[out]derDER-encoded properties.
Returns
True on success.

◆ encodeEncInfo()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::encodeEncInfo ( DataBlock der)
noexcept

Encodes data block for digest computation.

This method encodes data block (payload without digest fields) for digest computation. Digest is computed using DER-encoded input.

Parameters
[out]derEncoded data block.
Returns
True on success.

◆ getDataAlgorithm()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::getDataAlgorithm ( AlgorithmType &  type)
noexcept

Get data algorithm after decoding.

Parameters
[in]typeData encryption algorithm.
Returns
True on success.

◆ getDataKeyAlgorithm()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::getDataKeyAlgorithm ( AlgorithmType &  type)
noexcept

Get data key wrapping algorithm after decoding.

Parameters
[out]typeData key wrapping algorithm.
Returns
True on success.

◆ getDataKeyCiphertext()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::getDataKeyCiphertext ( DataBlock dataKeyCiphertext)
noexcept

Get data ciphertext after decoding.

Parameters
[out]dataKeyCiphertextWrapped data key.
Returns
True on success.

◆ getDataKeyIV()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::getDataKeyIV ( IV dataKeyIV)
noexcept

Set data key IV for encoding.

Parameters
[out]dataKeyIVInitialization vector to unwrap data key.
Returns
True on success.

◆ getDataKeyTag()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::getDataKeyTag ( Tag dataKeyTag)
noexcept

Get data key tag after decoding.

Parameters
[out]dataKeyTagData key tag.
Returns
True on success.

◆ getDigest()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::getDigest ( DataBlock digest)
noexcept

Get digest after decoding.

Parameters
[out]digestDigest value.
Returns
True on success.

◆ getDigestType()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::getDigestType ( DigestType &  type)
noexcept

Get digest type after decoding.

Parameters
[out]typeDigest type.
Returns
True on success.

◆ getMainKeyAlias()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::getMainKeyAlias ( std::string &  mainKeyAlias)
noexcept

Get main key alias after decoding.

Parameters
[out]mainKeyAliasMain key alias.
Returns
True on success.

◆ getMainKeyChecksum()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::getMainKeyChecksum ( KeyChecksum mainKeyChecksum)
noexcept

Get main key checksum after decoding.

Parameters
[out]mainKeyChecksumMain key checksum.
Returns
True on success.

◆ getVersion()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::getVersion ( int64_t &  version)
noexcept

Get version property after decoding.

Parameters
[out]versionVersion value.
Returns
True on success.

◆ prepareForEncoding()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::prepareForEncoding ( )
noexcept

Prepares object for encoding.

This method allocates internal structures to hold properties before they are set for encoding. This method must be called before any setter method.

Returns
True on success.

◆ setDataAlgorithm()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::setDataAlgorithm ( AlgorithmType  type)
noexcept

Set data algorithm for encoding.

Parameters
[in]typeData encryption algorithm.
Returns
True on success.

◆ setDataKeyAlgorithm()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::setDataKeyAlgorithm ( AlgorithmType  type)
noexcept

Set data key wrapping algorithm for encoding.

Parameters
[in]typeData key wrapping algorithm.
Returns
True on success.

◆ setDataKeyCiphertext()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::setDataKeyCiphertext ( const DataBlock dataKeyCiphertext)
noexcept

Set data key ciphertext for encoding.

Parameters
[in]dataKeyCiphertextWrapped data key.
Returns
True on success.

◆ setDataKeyIV()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::setDataKeyIV ( const IV dataKeyIV)
noexcept

Set data key IV for encoding.

Parameters
[in]dataKeyIVInitialization vector to unwrap data key.
Returns
True on success.

◆ setDataKeyTag()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::setDataKeyTag ( const Tag dataKeyTag)
noexcept

Set data key tag for encoding.

Parameters
[in]dataKeyTagData key tag.
Returns
True on success.

◆ setDigest()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::setDigest ( const DataBlock digest)
noexcept

Set digest for encoding.

Parameters
[in]digestDigest value.
Returns
True on success.

◆ setDigestType()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::setDigestType ( DigestType  type)
noexcept

Set digest type for encoding.

Parameters
[in]typeDigest type.
Returns
True on success.

◆ setMainKeyAlias()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::setMainKeyAlias ( const std::string &  mainKeyAlias)
noexcept

Sets main key alias for encoding.

Parameters
[in]mainKeyAliasMain key alias.
Returns
True on success.

◆ setMainKeyChecksum()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::setMainKeyChecksum ( const KeyChecksum mainKeyChecksum)
noexcept

Set main key checksum for encoding.

Parameters
[in]mainKeyChecksumMain key checksum.
Returns
True on success.

◆ setVersion()

bool alexaClientSDK::acsdkProperties::EncryptionKeyPropertyCodecState::setVersion ( int64_t  version)
noexcept

Sets version property for encoding.

Parameters
[in]versionVersion value.
Returns
True on success.

The documentation for this class was generated from the following files:

AlexaClientSDK 1.26.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0