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

ASN.1 Encoder/Decoder for encrypted property value. More...

#include <DataPropertyCodec.h>

Public Types

typedef acsdkCryptoInterfaces::CryptoCodecInterface::IV IV
 Initialization vector data type. More...
 
typedef acsdkCryptoInterfaces::CryptoCodecInterface::DataBlock DataBlock
 Byte vector data type. More...
 
typedef acsdkCryptoInterfaces::CryptoCodecInterface::Tag Tag
 Tag data type. More...
 

Static Public Member Functions

static bool encode (const std::shared_ptr< acsdkCryptoInterfaces::CryptoFactoryInterface > &cryptoFactory, const IV &dataIV, const DataBlock &dataCiphertext, const Tag &dataTag, DataBlock &derEncoded) noexcept
 Encodes encrypted property value into DER form. More...
 
static bool decode (const std::shared_ptr< acsdkCryptoInterfaces::CryptoFactoryInterface > &cryptoFactory, const std::vector< uint8_t > &derEncoded, IV &dataIV, DataBlock &dataCiphertext, Tag &dataTag, DataBlock &digestDecoded, DataBlock &digestActual) noexcept
 Decodes encrypted property value from DER form. More...
 

Detailed Description

ASN.1 Encoder/Decoder for encrypted property value.

This class provides top-level functions to encode encryption property value into DER format or decode it from DER format.

See also
DataPropertyCodecState

Member Typedef Documentation

◆ DataBlock

Byte vector data type.

◆ IV

Initialization vector data type.

◆ Tag

Tag data type.

Member Function Documentation

◆ decode()

bool alexaClientSDK::acsdkProperties::DataPropertyCodec::decode ( const std::shared_ptr< acsdkCryptoInterfaces::CryptoFactoryInterface > &  cryptoFactory,
const std::vector< uint8_t > &  derEncoded,
IV dataIV,
DataBlock dataCiphertext,
Tag dataTag,
DataBlock digestDecoded,
DataBlock digestActual 
)
staticnoexcept

Decodes encrypted property value from DER form.

Parameters
[in]cryptoFactoryCrypto factory for digest operations. Must not be nullptr.
[in]derEncodedDER-encoded property value.
[out]dataIVReference to container for initialization vector of encrypted data.
[out]dataCiphertextReference to container for encrypted data.
[out]dataTagReference to container for data tag.
[out]digestDecodedReference to container for decoded digest (from the DER message).
[out]digestActualReference to container for actual (recomputed) digest.
Returns
True if operation is successful.

◆ encode()

bool alexaClientSDK::acsdkProperties::DataPropertyCodec::encode ( const std::shared_ptr< acsdkCryptoInterfaces::CryptoFactoryInterface > &  cryptoFactory,
const IV dataIV,
const DataBlock dataCiphertext,
const Tag dataTag,
DataBlock derEncoded 
)
staticnoexcept

Encodes encrypted property value into DER form.

Parameters
[in]cryptoFactoryCrypto factory for digest operations. Must not be nullptr.
[in]dataIVInitialization vector for encrypted data.
[in]dataCiphertextEncrypted data.
[in]dataTagData tag.
[out]derEncodedReference to output data buffer.
Returns
True if operation is successful.

The documentation for this struct 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