AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Public Member Functions | List of all members
alexaClientSDK::acsdkCryptoInterfaces::CryptoFactoryInterface Class Referenceabstract

Crypto API factory interface. More...

#include <CryptoFactoryInterface.h>

Inheritance diagram for alexaClientSDK::acsdkCryptoInterfaces::CryptoFactoryInterface:
Inheritance graph
[legend]

Public Member Functions

virtual ~CryptoFactoryInterface () noexcept=default
 Default destructor. More...
 
virtual std::unique_ptr< CryptoCodecInterfacecreateEncoder (AlgorithmType type) noexcept=0
 Create new encoder cipher. More...
 
virtual std::unique_ptr< CryptoCodecInterfacecreateDecoder (AlgorithmType type) noexcept=0
 Create new decodec cipher. More...
 
virtual std::unique_ptr< DigestInterfacecreateDigest (DigestType type) noexcept=0
 Create new hash function. More...
 
virtual std::shared_ptr< KeyFactoryInterfacegetKeyFactory () noexcept=0
 Provides key factory. More...
 

Detailed Description

Crypto API factory interface.

This interface allows construction of platform-specific crypto facilities.

Thread Safety

This interface is thread safe and can be used concurrently by different threads.

See also
Cryptographic Functions Implementation

Constructor & Destructor Documentation

◆ ~CryptoFactoryInterface()

virtual alexaClientSDK::acsdkCryptoInterfaces::CryptoFactoryInterface::~CryptoFactoryInterface ( )
virtualdefaultnoexcept

Default destructor.

Member Function Documentation

◆ createDecoder()

virtual std::unique_ptr<CryptoCodecInterface> alexaClientSDK::acsdkCryptoInterfaces::CryptoFactoryInterface::createDecoder ( AlgorithmType  type)
pure virtualnoexcept

Create new decodec cipher.

Creates a new decoder instance for a given algorithm type to decrypt data.

Parameters
[in]typeDecryption algorithm type.
Returns
Decoder reference or nullptr on error.

Implemented in alexaClientSDK::acsdkCryptoInterfaces::test::MockCryptoFactory, and alexaClientSDK::acsdkCrypto::OpenSslCryptoFactory.

◆ createDigest()

virtual std::unique_ptr<DigestInterface> alexaClientSDK::acsdkCryptoInterfaces::CryptoFactoryInterface::createDigest ( DigestType  type)
pure virtualnoexcept

Create new hash function.

Creates a new digest instance for a given digest type.

Parameters
[in]typeDigest type.
Returns
Digest reference or nullptr on error.

Implemented in alexaClientSDK::acsdkCryptoInterfaces::test::MockCryptoFactory, and alexaClientSDK::acsdkCrypto::OpenSslCryptoFactory.

◆ createEncoder()

virtual std::unique_ptr<CryptoCodecInterface> alexaClientSDK::acsdkCryptoInterfaces::CryptoFactoryInterface::createEncoder ( AlgorithmType  type)
pure virtualnoexcept

Create new encoder cipher.

Creates a new encoder instance for a given algorithm type to encrypt data.

Parameters
[in]typeEncryption algorithm type.
Returns
Encoder reference or nullptr on error.

Implemented in alexaClientSDK::acsdkCryptoInterfaces::test::MockCryptoFactory, and alexaClientSDK::acsdkCrypto::OpenSslCryptoFactory.

◆ getKeyFactory()

virtual std::shared_ptr<KeyFactoryInterface> alexaClientSDK::acsdkCryptoInterfaces::CryptoFactoryInterface::getKeyFactory ( )
pure virtualnoexcept

Provides key factory.

Provides a key factory interface. Key factory allows creation of random keys and initialization vectors.

Returns
Key factory reference or nullptr on error.

Implemented in alexaClientSDK::acsdkCryptoInterfaces::test::MockCryptoFactory, and alexaClientSDK::acsdkCrypto::OpenSslCryptoFactory.


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

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