AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Namespaces | Classes | Macros | Enumerations
Cryptographic Functions Implementation

Implementations for Cryptography API. More...

Namespaces

 alexaClientSDK::acsdkCrypto
 OpenSSL-based implementation.
 
 alexaClientSDK::acsdkCrypto::test
 Test cases for Cryptographic Functions Implementation.
 

Classes

class  alexaClientSDK::acsdkCrypto::OpenSslCryptoCodec
 Binary codec implementation. More...
 
class  alexaClientSDK::acsdkCrypto::OpenSslCryptoFactory
 Cryptography factory implementation based on OpenSSL. More...
 
class  alexaClientSDK::acsdkCrypto::OpenSslDigest
 Digest implementation based on OpenSSL. More...
 
class  alexaClientSDK::acsdkCrypto::OpenSslErrorCleanup
 Helper class for handling OpenSSL errors. More...
 
class  alexaClientSDK::acsdkCrypto::OpenSslKeyFactory
 Key factory implementation based on OpenSSL. More...
 
class  alexaClientSDK::acsdkCrypto::OpenSslTypeMapper
 Helper class to map SDK types into types from OpenSSL EVP API. More...
 

Macros

#define LX(event)   alexaClientSDK::avsCommon::utils::logger::LogEntry(TAG, event)
 
#define OPENSSL_VERSION_NUMBER_1_1_0   0x10100000L
 Macro for cutting off OpenSSL features introduced before 1.1.0 release. More...
 

Enumerations

enum  alexaClientSDK::acsdkCrypto::CodecType : int { alexaClientSDK::acsdkCrypto::CodecType::Decoder = 0, alexaClientSDK::acsdkCrypto::CodecType::Encoder = 1 }
 Typed enumeration for codec types to use with EVP API. More...
 
enum  alexaClientSDK::acsdkCrypto::PaddingMode : int { alexaClientSDK::acsdkCrypto::PaddingMode::NoPadding = 0, alexaClientSDK::acsdkCrypto::PaddingMode::Padding = 1 }
 Typed enumeration for padding mode to use with EVP API. More...
 

Detailed Description

Implementations for Cryptography API.

CryptoIMPL provides implementation of cryptographic functions to encrypt and decrypt data, to generate keys and initialization vectors, and to compute digests.

The reference implementation uses OpenSSL library, but can be extended to use platform-specific APIs.

See also
Cryptography API
alexaClientSDK::acsdkCrypto
alexaClientSDK::acsdkCrypto::test

Macro Definition Documentation

◆ LX

#define LX (   event)    alexaClientSDK::avsCommon::utils::logger::LogEntry(TAG, event)

Create a LogEntry using this file's TAG and the specified event string.

Parameters
eventThe event string for this LogEntry.

◆ OPENSSL_VERSION_NUMBER_1_1_0

#define OPENSSL_VERSION_NUMBER_1_1_0   0x10100000L

Macro for cutting off OpenSSL features introduced before 1.1.0 release.

Enumeration Type Documentation

◆ CodecType

Typed enumeration for codec types to use with EVP API.

This enumeration defines values for use with EVP_CipherInit_ex method.

Enumerator
Decoder 

Decoder.

Encoder 

Encoder.

◆ PaddingMode

Typed enumeration for padding mode to use with EVP API.

This enumeration defines values for use with EVP_CIPHER_CTX_set_padding method.

Enumerator
NoPadding 

No padding.

Padding 

PKCS#7 padding.

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