Keypop Calypso Crypto Symmetric C++ API - 0.1.1
Component of the Keypop C++ API
SymmetricCryptoCardTransactionManagerFactorySpi.hpp
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (c) 2025 Calypso Networks Association https://calypsonet.org/ *
3 * *
4 * This program and the accompanying materials are made available under the *
5 * terms of the MIT License which is available at *
6 * https://opensource.org/licenses/MIT. *
7 * *
8 * SPDX-License-Identifier: MIT *
9 ******************************************************************************/
10
11#pragma once
12
13#include <memory>
14#include <vector>
15
17
18namespace keypop {
19namespace calypso {
20namespace crypto {
21namespace symmetric {
22namespace spi {
23
30public:
37 virtual bool isExtendedModeSupported() const = 0;
38
45 virtual int getMaxCardApduLengthSupported() const = 0;
46
57
72 virtual std::shared_ptr<SymmetricCryptoCardTransactionManagerSpi>
74 const std::vector<uint8_t>& cardKeyDiversifier,
75 const bool useExtendedMode,
76 const std::vector<std::vector<uint8_t>>& transactionAuditData)
77 = 0;
78};
79
80} /* namespace spi */
81} /* namespace symmetric */
82} /* namespace crypto */
83} /* namespace calypso */
84} /* namespace keypop */
virtual std::shared_ptr< SymmetricCryptoCardTransactionManagerSpi > createCardTransactionManager(const std::vector< uint8_t > &cardKeyDiversifier, const bool useExtendedMode, const std::vector< std::vector< uint8_t > > &transactionAuditData)=0
Returns a new instance of SymmetricCryptoCardTransactionManagerSpi.
virtual int getMaxCardApduLengthSupported() const =0
Returns the max length supported of the card APDU.
virtual bool isExtendedModeSupported() const =0
Indicates if the "extended" mode is supported.
virtual void preInitTerminalSessionContext()=0
Retrieves and stores the terminal challenge in the SAM image for later use.