Keypop Calypso Card C++ API - 2.2.0
Component of the Keypop C++ API
SymmetricCryptoSecuritySetting.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 <cstdint>
14
16
17namespace keypop {
18namespace calypso {
19namespace card {
20namespace transaction {
21
33public:
38
47
57
65
75
85
100
113 WriteAccessLevel writeAccessLevel, std::uint8_t kvc, std::uint8_t kif)
114 = 0;
115
127 assignDefaultKif(const WriteAccessLevel writeAccessLevel, const uint8_t kif)
128 = 0;
129
141 assignDefaultKvc(const WriteAccessLevel writeAccessLevel, const uint8_t kvc)
142 = 0;
143
157 addAuthorizedSessionKey(const uint8_t kif, const uint8_t kvc) = 0;
158
172 addAuthorizedSvKey(const uint8_t kif, const uint8_t kvc) = 0;
173
185 setPinVerificationCipheringKey(const uint8_t kif, const uint8_t kvc) = 0;
186
198 setPinModificationCipheringKey(const uint8_t kif, const uint8_t kvc) = 0;
199
222};
223
224} /* namespace transaction */
225} /* namespace card */
226} /* namespace calypso */
227} /* namespace keypop */
Security setting for a Calypso card transaction secured by "symmetric" key cryptographic algorithms (...
virtual SymmetricCryptoSecuritySetting & enableMultipleSession()=0
Enables multiple session mode to allow more changes to the card than the session buffer can handle.
virtual SymmetricCryptoSecuritySetting & enableSvLoadAndDebitLog()=0
Enables the retrieval of both loading and debit log records.
virtual void initCryptoContextForNextTransaction()=0
Prepares the cryptographic module for the next transaction by anticipating all security context confi...
virtual SymmetricCryptoSecuritySetting & enableRatificationMechanism()=0
Enables the ratification mechanism to handle the early removal of the card preventing the terminal fr...
virtual SymmetricCryptoSecuritySetting & setPinModificationCipheringKey(const uint8_t kif, const uint8_t kvc)=0
Sets the KIF/KVC pair of the PIN modification ciphering key.
virtual SymmetricCryptoSecuritySetting & addAuthorizedSessionKey(const uint8_t kif, const uint8_t kvc)=0
Adds an authorized session key defined by its KIF and KVC values.
virtual SymmetricCryptoSecuritySetting & enablePinPlainTransmission()=0
Enables the PIN transmission in plain text.
virtual ~SymmetricCryptoSecuritySetting()=default
Virtual destructor.
virtual SymmetricCryptoSecuritySetting & assignKif(WriteAccessLevel writeAccessLevel, std::uint8_t kvc, std::uint8_t kif)=0
Defines for a given write access level the KIF value to use for cards that only provide KVC.
virtual SymmetricCryptoSecuritySetting & authorizeSvNegativeBalance()=0
Allows the SV balance to become negative.
virtual SymmetricCryptoSecuritySetting & assignDefaultKvc(const WriteAccessLevel writeAccessLevel, const uint8_t kvc)=0
Defines for a given write access level the KVC value to use for cards that do not provide KVC.
virtual SymmetricCryptoSecuritySetting & disableReadOnSessionOpening()=0
Disables the automatic merging of the "Open Secure Session" command with a possible "Read Record" com...
virtual SymmetricCryptoSecuritySetting & addAuthorizedSvKey(const uint8_t kif, const uint8_t kvc)=0
Adds an authorized Stored Value key defined by its KIF and KVC values.
virtual SymmetricCryptoSecuritySetting & setPinVerificationCipheringKey(const uint8_t kif, const uint8_t kvc)=0
Sets the KIF/KVC pair of the PIN verification ciphering key.
virtual SymmetricCryptoSecuritySetting & assignDefaultKif(const WriteAccessLevel writeAccessLevel, const uint8_t kif)=0
Defines for a given write access level the default KIF value to use when it could not be determined b...
WriteAccessLevel
Enumeration of the write access levels for the Calypso card Secure Session.