Botan 2.19.1
Crypto and TLS for C&
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
p11.h File Reference
#include <botan/secmem.h>
#include <botan/exceptn.h>
#include <vector>
#include <string>
#include <map>
#include "pkcs11.h"

Go to the source code of this file.

Classes

class  Botan::PKCS11::LowLevel
 Provides access to all PKCS#11 functions. More...
 
class  Botan::PKCS11::PKCS11_Error
 
class  Botan::PKCS11::PKCS11_ReturnError
 

Namespaces

namespace  Botan
 
namespace  Botan::PKCS11
 

Macros

#define CK_CALLBACK_FUNCTION(returnType, name)    returnType (* name)
 
#define CK_DECLARE_FUNCTION(returnType, name)    returnType name
 
#define CK_DECLARE_FUNCTION_POINTER(returnType, name)    returnType (* name)
 
#define CK_PTR   *
 
#define NULL_PTR   nullptr
 

Typedefs

using Botan::PKCS11::Attribute = CK_ATTRIBUTE
 
using Botan::PKCS11::Bbool = CK_BBOOL
 
using Botan::PKCS11::Byte = CK_BYTE
 
using Botan::PKCS11::C_InitializeArgs = CK_C_INITIALIZE_ARGS
 
using Botan::PKCS11::CreateMutex = CK_CREATEMUTEX
 
using Botan::PKCS11::Date = CK_DATE
 
using Botan::PKCS11::DestroyMutex = CK_DESTROYMUTEX
 
using Botan::PKCS11::Ecdh1DeriveParams = CK_ECDH1_DERIVE_PARAMS
 
using Botan::PKCS11::Flags = CK_FLAGS
 
using Botan::PKCS11::FunctionListPtr = CK_FUNCTION_LIST_PTR
 
using Botan::PKCS11::Info = CK_INFO
 
using Botan::PKCS11::LockMutex = CK_LOCKMUTEX
 
using Botan::PKCS11::Mechanism = CK_MECHANISM
 
using Botan::PKCS11::MechanismInfo = CK_MECHANISM_INFO
 
using Botan::PKCS11::Notify = CK_NOTIFY
 
using Botan::PKCS11::ObjectHandle = CK_OBJECT_HANDLE
 
using Botan::PKCS11::RsaPkcsOaepParams = CK_RSA_PKCS_OAEP_PARAMS
 
using Botan::PKCS11::RsaPkcsPssParams = CK_RSA_PKCS_PSS_PARAMS
 
using Botan::PKCS11::secure_string = secure_vector< uint8_t >
 
using Botan::PKCS11::SessionHandle = CK_SESSION_HANDLE
 
using Botan::PKCS11::SessionInfo = CK_SESSION_INFO
 
using Botan::PKCS11::SlotId = CK_SLOT_ID
 
using Botan::PKCS11::SlotInfo = CK_SLOT_INFO
 
using Botan::PKCS11::TokenInfo = CK_TOKEN_INFO
 
using Botan::PKCS11::Ulong = CK_ULONG
 
using Botan::PKCS11::UnlockMutex = CK_UNLOCKMUTEX
 
using Botan::PKCS11::Utf8Char = CK_UTF8CHAR
 
using Botan::PKCS11::VoidPtr = CK_VOID_PTR
 

Enumerations

enum class  Botan::PKCS11::AttributeType : CK_ATTRIBUTE_TYPE {
  Botan::PKCS11::Class = 0x00000000UL , Botan::PKCS11::Token = 0x00000001UL , Botan::PKCS11::Private = 0x00000002UL , Botan::PKCS11::Label = 0x00000003UL ,
  Botan::PKCS11::Application = 0x00000010UL , Botan::PKCS11::Value = 0x00000011UL , Botan::PKCS11::ObjectId = 0x00000012UL , Botan::PKCS11::CertificateType = 0x00000080UL ,
  Botan::PKCS11::Issuer = 0x00000081UL , Botan::PKCS11::SerialNumber = 0x00000082UL , Botan::PKCS11::AcIssuer = 0x00000083UL , Botan::PKCS11::Owner = 0x00000084UL ,
  Botan::PKCS11::AttrTypes = 0x00000085UL , Botan::PKCS11::Trusted = 0x00000086UL , Botan::PKCS11::CertificateCategory = 0x00000087UL , Botan::PKCS11::JavaMidpSecurityDomain = 0x00000088UL ,
  Botan::PKCS11::Url = 0x00000089UL , Botan::PKCS11::HashOfSubjectPublicKey = 0x0000008AUL , Botan::PKCS11::HashOfIssuerPublicKey = 0x0000008BUL , Botan::PKCS11::NameHashAlgorithm = 0x0000008CUL ,
  Botan::PKCS11::CheckValue = 0x00000090UL , Botan::PKCS11::KeyType = 0x00000100UL , Botan::PKCS11::Subject = 0x00000101UL , Botan::PKCS11::Id = 0x00000102UL ,
  Botan::PKCS11::Sensitive = 0x00000103UL , Botan::PKCS11::Encrypt = 0x00000104UL , Botan::PKCS11::Decrypt = 0x00000105UL , Botan::PKCS11::Wrap = 0x00000106UL ,
  Botan::PKCS11::Unwrap = 0x00000107UL , Botan::PKCS11::Sign = 0x00000108UL , Botan::PKCS11::SignRecover = 0x00000109UL , Botan::PKCS11::Verify = 0x0000010AUL ,
  Botan::PKCS11::VerifyRecover = 0x0000010BUL , Botan::PKCS11::Derive = 0x0000010CUL , Botan::PKCS11::StartDate = 0x00000110UL , Botan::PKCS11::EndDate = 0x00000111UL ,
  Botan::PKCS11::Modulus = 0x00000120UL , Botan::PKCS11::ModulusBits = 0x00000121UL , Botan::PKCS11::PublicExponent = 0x00000122UL , Botan::PKCS11::PrivateExponent = 0x00000123UL ,
  Botan::PKCS11::Prime1 = 0x00000124UL , Botan::PKCS11::Prime2 = 0x00000125UL , Botan::PKCS11::Exponent1 = 0x00000126UL , Botan::PKCS11::Exponent2 = 0x00000127UL ,
  Botan::PKCS11::Coefficient = 0x00000128UL , Botan::PKCS11::PublicKeyInfo = 0x00000129UL , Botan::PKCS11::Prime = 0x00000130UL , Botan::PKCS11::Subprime = 0x00000131UL ,
  Botan::PKCS11::Base = 0x00000132UL , Botan::PKCS11::PrimeBits = 0x00000133UL , Botan::PKCS11::SubprimeBits = 0x00000134UL , Botan::PKCS11::SubPrimeBits = 0x00000134UL ,
  Botan::PKCS11::ValueBits = 0x00000160UL , Botan::PKCS11::ValueLen = 0x00000161UL , Botan::PKCS11::Extractable = 0x00000162UL , Botan::PKCS11::Local = 0x00000163UL ,
  Botan::PKCS11::NeverExtractable = 0x00000164UL , Botan::PKCS11::AlwaysSensitive = 0x00000165UL , Botan::PKCS11::KeyGenMechanism = 0x00000166UL , Botan::PKCS11::Modifiable = 0x00000170UL ,
  Botan::PKCS11::Copyable = 0x00000171UL , Botan::PKCS11::Destroyable = 0x00000172UL , Botan::PKCS11::EcdsaParams = 0x00000180UL , Botan::PKCS11::EcParams = 0x00000180UL ,
  Botan::PKCS11::EcPoint = 0x00000181UL , Botan::PKCS11::SecondaryAuth = 0x00000200UL , Botan::PKCS11::AuthPinFlags = 0x00000201UL , Botan::PKCS11::AlwaysAuthenticate = 0x00000202UL ,
  Botan::PKCS11::WrapWithTrusted = 0x00000210UL , Botan::PKCS11::WrapTemplate = ( 0x40000000UL |0x00000211UL) , Botan::PKCS11::UnwrapTemplate = ( 0x40000000UL |0x00000212UL) , Botan::PKCS11::DeriveTemplate = ( 0x40000000UL |0x00000213UL) ,
  Botan::PKCS11::OtpFormat = 0x00000220UL , Botan::PKCS11::OtpLength = 0x00000221UL , Botan::PKCS11::OtpTimeInterval = 0x00000222UL , Botan::PKCS11::OtpUserFriendlyMode = 0x00000223UL ,
  Botan::PKCS11::OtpChallengeRequirement = 0x00000224UL , Botan::PKCS11::OtpTimeRequirement = 0x00000225UL , Botan::PKCS11::OtpCounterRequirement = 0x00000226UL , Botan::PKCS11::OtpPinRequirement = 0x00000227UL ,
  Botan::PKCS11::OtpCounter = 0x0000022EUL , Botan::PKCS11::OtpTime = 0x0000022FUL , Botan::PKCS11::OtpUserIdentifier = 0x0000022AUL , Botan::PKCS11::OtpServiceIdentifier = 0x0000022BUL ,
  Botan::PKCS11::OtpServiceLogo = 0x0000022CUL , Botan::PKCS11::OtpServiceLogoType = 0x0000022DUL , Botan::PKCS11::Gostr3410Params = 0x00000250UL , Botan::PKCS11::Gostr3411Params = 0x00000251UL ,
  Botan::PKCS11::Gost28147Params = 0x00000252UL , Botan::PKCS11::HwFeatureType = 0x00000300UL , Botan::PKCS11::ResetOnInit = 0x00000301UL , Botan::PKCS11::HasReset = 0x00000302UL ,
  Botan::PKCS11::PixelX = 0x00000400UL , Botan::PKCS11::PixelY = 0x00000401UL , Botan::PKCS11::Resolution = 0x00000402UL , Botan::PKCS11::CharRows = 0x00000403UL ,
  Botan::PKCS11::CharColumns = 0x00000404UL , Botan::PKCS11::Color = 0x00000405UL , Botan::PKCS11::BitsPerPixel = 0x00000406UL , Botan::PKCS11::CharSets = 0x00000480UL ,
  Botan::PKCS11::EncodingMethods = 0x00000481UL , Botan::PKCS11::MimeTypes = 0x00000482UL , Botan::PKCS11::MechanismType = 0x00000500UL , Botan::PKCS11::RequiredCmsAttributes = 0x00000501UL ,
  Botan::PKCS11::DefaultCmsAttributes = 0x00000502UL , Botan::PKCS11::SupportedCmsAttributes = 0x00000503UL , Botan::PKCS11::AllowedMechanisms = ( 0x40000000UL |0x00000600UL) , Botan::PKCS11::VendorDefined = 0x80000000UL
}
 
enum class  Botan::PKCS11::CertificateCategory : CK_ULONG { Botan::PKCS11::Unspecified = 0UL , Botan::PKCS11::TokenUser = 1UL , Botan::PKCS11::Authority = 2UL , Botan::PKCS11::OtherEntity = 3UL }
 
enum class  Botan::PKCS11::CertificateType : CK_CERTIFICATE_TYPE { Botan::PKCS11::X509 = 0x00000000UL , Botan::PKCS11::X509AttrCert = 0x00000001UL , Botan::PKCS11::Wtls = 0x00000002UL , Botan::PKCS11::VendorDefined = 0x80000000UL }
 
enum class  Botan::PKCS11::Flag : CK_FLAGS {
  Botan::PKCS11::None = 0 , Botan::PKCS11::TokenPresent = 0x00000001UL , Botan::PKCS11::RemovableDevice = 0x00000002UL , Botan::PKCS11::HwSlot = 0x00000004UL ,
  Botan::PKCS11::Rng = 0x00000001UL , Botan::PKCS11::WriteProtected = 0x00000002UL , Botan::PKCS11::LoginRequired = 0x00000004UL , Botan::PKCS11::UserPinInitialized = 0x00000008UL ,
  Botan::PKCS11::RestoreKeyNotNeeded = 0x00000020UL , Botan::PKCS11::ClockOnToken = 0x00000040UL , Botan::PKCS11::ProtectedAuthenticationPath = 0x00000100UL , Botan::PKCS11::DualCryptoOperations = 0x00000200UL ,
  Botan::PKCS11::TokenInitialized = 0x00000400UL , Botan::PKCS11::SecondaryAuthentication = 0x00000800UL , Botan::PKCS11::UserPinCountLow = 0x00010000UL , Botan::PKCS11::UserPinFinalTry = 0x00020000UL ,
  Botan::PKCS11::UserPinLocked = 0x00040000UL , Botan::PKCS11::UserPinToBeChanged = 0x00080000UL , Botan::PKCS11::SoPinCountLow = 0x00100000UL , Botan::PKCS11::SoPinFinalTry = 0x00200000UL ,
  Botan::PKCS11::SoPinLocked = 0x00400000UL , Botan::PKCS11::SoPinToBeChanged = 0x00800000UL , Botan::PKCS11::ErrorState = 0x01000000UL , Botan::PKCS11::RwSession = 0x00000002UL ,
  Botan::PKCS11::SerialSession = 0x00000004UL , Botan::PKCS11::ArrayAttribute = 0x40000000UL , Botan::PKCS11::Hw = 0x00000001UL , Botan::PKCS11::Encrypt = 0x00000100UL ,
  Botan::PKCS11::Decrypt = 0x00000200UL , Botan::PKCS11::Digest = 0x00000400UL , Botan::PKCS11::Sign = 0x00000800UL , Botan::PKCS11::SignRecover = 0x00001000UL ,
  Botan::PKCS11::Verify = 0x00002000UL , Botan::PKCS11::VerifyRecover = 0x00004000UL , Botan::PKCS11::Generate = 0x00008000UL , Botan::PKCS11::GenerateKeyPair = 0x00010000UL ,
  Botan::PKCS11::Wrap = 0x00020000UL , Botan::PKCS11::Unwrap = 0x00040000UL , Botan::PKCS11::Derive = 0x00080000UL , Botan::PKCS11::EcFP = 0x00100000UL ,
  Botan::PKCS11::EcF2m = 0x00200000UL , Botan::PKCS11::EcEcparameters = 0x00400000UL , Botan::PKCS11::EcNamedcurve = 0x00800000UL , Botan::PKCS11::EcUncompress = 0x01000000UL ,
  Botan::PKCS11::EcCompress = 0x02000000UL , Botan::PKCS11::Extension = 0x80000000UL , Botan::PKCS11::LibraryCantCreateOsThreads = 0x00000001UL , Botan::PKCS11::OsLockingOk = 0x00000002UL ,
  Botan::PKCS11::DontBlock = 1 , Botan::PKCS11::NextOtp = 0x00000001UL , Botan::PKCS11::ExcludeTime = 0x00000002UL , Botan::PKCS11::ExcludeCounter = 0x00000004UL ,
  Botan::PKCS11::ExcludeChallenge = 0x00000008UL , Botan::PKCS11::ExcludePin = 0x00000010UL , Botan::PKCS11::UserFriendlyOtp = 0x00000020UL
}
 
enum class  Botan::PKCS11::HardwareType : CK_HW_FEATURE_TYPE { Botan::PKCS11::MonotonicCounter = 0x00000001UL , Botan::PKCS11::Clock = 0x00000002UL , Botan::PKCS11::UserInterface = 0x00000003UL , Botan::PKCS11::VendorDefined = 0x80000000UL }
 
enum class  Botan::PKCS11::KeyDerivation : CK_ULONG {
  Botan::PKCS11::Null = 0x00000001UL , Botan::PKCS11::Sha1Kdf = 0x00000002UL , Botan::PKCS11::Sha1KdfAsn1 = 0x00000003UL , Botan::PKCS11::Sha1KdfConcatenate = 0x00000004UL ,
  Botan::PKCS11::Sha224Kdf = 0x00000005UL , Botan::PKCS11::Sha256Kdf = 0x00000006UL , Botan::PKCS11::Sha384Kdf = 0x00000007UL , Botan::PKCS11::Sha512Kdf = 0x00000008UL ,
  Botan::PKCS11::CpdiversifyKdf = 0x00000009UL
}
 
enum class  Botan::PKCS11::KeyType : CK_KEY_TYPE {
  Botan::PKCS11::Rsa = 0x00000000UL , Botan::PKCS11::Dsa = 0x00000001UL , Botan::PKCS11::Dh = 0x00000002UL , Botan::PKCS11::Ecdsa = 0x00000003UL ,
  Botan::PKCS11::Ec = 0x00000003UL , Botan::PKCS11::X942Dh = 0x00000004UL , Botan::PKCS11::Kea = 0x00000005UL , Botan::PKCS11::GenericSecret = 0x00000010UL ,
  Botan::PKCS11::Rc2 = 0x00000011UL , Botan::PKCS11::Rc4 = 0x00000012UL , Botan::PKCS11::Des = 0x00000013UL , Botan::PKCS11::Des2 = 0x00000014UL ,
  Botan::PKCS11::Des3 = 0x00000015UL , Botan::PKCS11::Cast = 0x00000016UL , Botan::PKCS11::Cast3 = 0x00000017UL , Botan::PKCS11::Cast5 = 0x00000018UL ,
  Botan::PKCS11::Cast128 = 0x00000018UL , Botan::PKCS11::Rc5 = 0x00000019UL , Botan::PKCS11::Idea = 0x0000001AUL , Botan::PKCS11::Skipjack = 0x0000001BUL ,
  Botan::PKCS11::Baton = 0x0000001CUL , Botan::PKCS11::Juniper = 0x0000001DUL , Botan::PKCS11::Cdmf = 0x0000001EUL , Botan::PKCS11::Aes = 0x0000001FUL ,
  Botan::PKCS11::Blowfish = 0x00000020UL , Botan::PKCS11::Twofish = 0x00000021UL , Botan::PKCS11::Securid = 0x00000022UL , Botan::PKCS11::Hotp = 0x00000023UL ,
  Botan::PKCS11::Acti = 0x00000024UL , Botan::PKCS11::Camellia = 0x00000025UL , Botan::PKCS11::Aria = 0x00000026UL , Botan::PKCS11::Md5Hmac = 0x00000027UL ,
  Botan::PKCS11::Sha1Hmac = 0x00000028UL , Botan::PKCS11::Ripemd128Hmac = 0x00000029UL , Botan::PKCS11::Ripemd160Hmac = 0x0000002AUL , Botan::PKCS11::Sha256Hmac = 0x0000002BUL ,
  Botan::PKCS11::Sha384Hmac = 0x0000002CUL , Botan::PKCS11::Sha512Hmac = 0x0000002DUL , Botan::PKCS11::Sha224Hmac = 0x0000002EUL , Botan::PKCS11::Seed = 0x0000002FUL ,
  Botan::PKCS11::Gostr3410 = 0x00000030UL , Botan::PKCS11::Gostr3411 = 0x00000031UL , Botan::PKCS11::Gost28147 = 0x00000032UL , Botan::PKCS11::VendorDefined = 0x80000000UL
}
 
enum class  Botan::PKCS11::MechanismType : CK_MECHANISM_TYPE {
  Botan::PKCS11::RsaPkcsKeyPairGen = 0x00000000UL , Botan::PKCS11::RsaPkcs = 0x00000001UL , Botan::PKCS11::Rsa9796 = 0x00000002UL , Botan::PKCS11::RsaX509 = 0x00000003UL ,
  Botan::PKCS11::Md2RsaPkcs = 0x00000004UL , Botan::PKCS11::Md5RsaPkcs = 0x00000005UL , Botan::PKCS11::Sha1RsaPkcs = 0x00000006UL , Botan::PKCS11::Ripemd128RsaPkcs = 0x00000007UL ,
  Botan::PKCS11::Ripemd160RsaPkcs = 0x00000008UL , Botan::PKCS11::RsaPkcsOaep = 0x00000009UL , Botan::PKCS11::RsaX931KeyPairGen = 0x0000000AUL , Botan::PKCS11::RsaX931 = 0x0000000BUL ,
  Botan::PKCS11::Sha1RsaX931 = 0x0000000CUL , Botan::PKCS11::RsaPkcsPss = 0x0000000DUL , Botan::PKCS11::Sha1RsaPkcsPss = 0x0000000EUL , Botan::PKCS11::DsaKeyPairGen = 0x00000010UL ,
  Botan::PKCS11::Dsa = 0x00000011UL , Botan::PKCS11::DsaSha1 = 0x00000012UL , Botan::PKCS11::DsaSha224 = 0x00000013UL , Botan::PKCS11::DsaSha256 = 0x00000014UL ,
  Botan::PKCS11::DsaSha384 = 0x00000015UL , Botan::PKCS11::DsaSha512 = 0x00000016UL , Botan::PKCS11::DhPkcsKeyPairGen = 0x00000020UL , Botan::PKCS11::DhPkcsDerive = 0x00000021UL ,
  Botan::PKCS11::X942DhKeyPairGen = 0x00000030UL , Botan::PKCS11::X942DhDerive = 0x00000031UL , Botan::PKCS11::X942DhHybridDerive = 0x00000032UL , Botan::PKCS11::X942MqvDerive = 0x00000033UL ,
  Botan::PKCS11::Sha256RsaPkcs = 0x00000040UL , Botan::PKCS11::Sha384RsaPkcs = 0x00000041UL , Botan::PKCS11::Sha512RsaPkcs = 0x00000042UL , Botan::PKCS11::Sha256RsaPkcsPss = 0x00000043UL ,
  Botan::PKCS11::Sha384RsaPkcsPss = 0x00000044UL , Botan::PKCS11::Sha512RsaPkcsPss = 0x00000045UL , Botan::PKCS11::Sha224RsaPkcs = 0x00000046UL , Botan::PKCS11::Sha224RsaPkcsPss = 0x00000047UL ,
  Botan::PKCS11::Sha512224 = 0x00000048UL , Botan::PKCS11::Sha512224Hmac = 0x00000049UL , Botan::PKCS11::Sha512224HmacGeneral = 0x0000004AUL , Botan::PKCS11::Sha512224KeyDerivation = 0x0000004BUL ,
  Botan::PKCS11::Sha512256 = 0x0000004CUL , Botan::PKCS11::Sha512256Hmac = 0x0000004DUL , Botan::PKCS11::Sha512256HmacGeneral = 0x0000004EUL , Botan::PKCS11::Sha512256KeyDerivation = 0x0000004FUL ,
  Botan::PKCS11::Sha512T = 0x00000050UL , Botan::PKCS11::Sha512THmac = 0x00000051UL , Botan::PKCS11::Sha512THmacGeneral = 0x00000052UL , Botan::PKCS11::Sha512TKeyDerivation = 0x00000053UL ,
  Botan::PKCS11::Rc2KeyGen = 0x00000100UL , Botan::PKCS11::Rc2Ecb = 0x00000101UL , Botan::PKCS11::Rc2Cbc = 0x00000102UL , Botan::PKCS11::Rc2Mac = 0x00000103UL ,
  Botan::PKCS11::Rc2MacGeneral = 0x00000104UL , Botan::PKCS11::Rc2CbcPad = 0x00000105UL , Botan::PKCS11::Rc4KeyGen = 0x00000110UL , Botan::PKCS11::Rc4 = 0x00000111UL ,
  Botan::PKCS11::DesKeyGen = 0x00000120UL , Botan::PKCS11::DesEcb = 0x00000121UL , Botan::PKCS11::DesCbc = 0x00000122UL , Botan::PKCS11::DesMac = 0x00000123UL ,
  Botan::PKCS11::DesMacGeneral = 0x00000124UL , Botan::PKCS11::DesCbcPad = 0x00000125UL , Botan::PKCS11::Des2KeyGen = 0x00000130UL , Botan::PKCS11::Des3KeyGen = 0x00000131UL ,
  Botan::PKCS11::Des3Ecb = 0x00000132UL , Botan::PKCS11::Des3Cbc = 0x00000133UL , Botan::PKCS11::Des3Mac = 0x00000134UL , Botan::PKCS11::Des3MacGeneral = 0x00000135UL ,
  Botan::PKCS11::Des3CbcPad = 0x00000136UL , Botan::PKCS11::Des3CmacGeneral = 0x00000137UL , Botan::PKCS11::Des3Cmac = 0x00000138UL , Botan::PKCS11::CdmfKeyGen = 0x00000140UL ,
  Botan::PKCS11::CdmfEcb = 0x00000141UL , Botan::PKCS11::CdmfCbc = 0x00000142UL , Botan::PKCS11::CdmfMac = 0x00000143UL , Botan::PKCS11::CdmfMacGeneral = 0x00000144UL ,
  Botan::PKCS11::CdmfCbcPad = 0x00000145UL , Botan::PKCS11::DesOfb64 = 0x00000150UL , Botan::PKCS11::DesOfb8 = 0x00000151UL , Botan::PKCS11::DesCfb64 = 0x00000152UL ,
  Botan::PKCS11::DesCfb8 = 0x00000153UL , Botan::PKCS11::Md2 = 0x00000200UL , Botan::PKCS11::Md2Hmac = 0x00000201UL , Botan::PKCS11::Md2HmacGeneral = 0x00000202UL ,
  Botan::PKCS11::Md5 = 0x00000210UL , Botan::PKCS11::Md5Hmac = 0x00000211UL , Botan::PKCS11::Md5HmacGeneral = 0x00000212UL , Botan::PKCS11::Sha1 = 0x00000220UL ,
  Botan::PKCS11::Sha1Hmac = 0x00000221UL , Botan::PKCS11::Sha1HmacGeneral = 0x00000222UL , Botan::PKCS11::Ripemd128 = 0x00000230UL , Botan::PKCS11::Ripemd128Hmac = 0x00000231UL ,
  Botan::PKCS11::Ripemd128HmacGeneral = 0x00000232UL , Botan::PKCS11::Ripemd160 = 0x00000240UL , Botan::PKCS11::Ripemd160Hmac = 0x00000241UL , Botan::PKCS11::Ripemd160HmacGeneral = 0x00000242UL ,
  Botan::PKCS11::Sha256 = 0x00000250UL , Botan::PKCS11::Sha256Hmac = 0x00000251UL , Botan::PKCS11::Sha256HmacGeneral = 0x00000252UL , Botan::PKCS11::Sha224 = 0x00000255UL ,
  Botan::PKCS11::Sha224Hmac = 0x00000256UL , Botan::PKCS11::Sha224HmacGeneral = 0x00000257UL , Botan::PKCS11::Sha384 = 0x00000260UL , Botan::PKCS11::Sha384Hmac = 0x00000261UL ,
  Botan::PKCS11::Sha384HmacGeneral = 0x00000262UL , Botan::PKCS11::Sha512 = 0x00000270UL , Botan::PKCS11::Sha512Hmac = 0x00000271UL , Botan::PKCS11::Sha512HmacGeneral = 0x00000272UL ,
  Botan::PKCS11::SecuridKeyGen = 0x00000280UL , Botan::PKCS11::Securid = 0x00000282UL , Botan::PKCS11::HotpKeyGen = 0x00000290UL , Botan::PKCS11::Hotp = 0x00000291UL ,
  Botan::PKCS11::Acti = 0x000002A0UL , Botan::PKCS11::ActiKeyGen = 0x000002A1UL , Botan::PKCS11::CastKeyGen = 0x00000300UL , Botan::PKCS11::CastEcb = 0x00000301UL ,
  Botan::PKCS11::CastCbc = 0x00000302UL , Botan::PKCS11::CastMac = 0x00000303UL , Botan::PKCS11::CastMacGeneral = 0x00000304UL , Botan::PKCS11::CastCbcPad = 0x00000305UL ,
  Botan::PKCS11::Cast3KeyGen = 0x00000310UL , Botan::PKCS11::Cast3Ecb = 0x00000311UL , Botan::PKCS11::Cast3Cbc = 0x00000312UL , Botan::PKCS11::Cast3Mac = 0x00000313UL ,
  Botan::PKCS11::Cast3MacGeneral = 0x00000314UL , Botan::PKCS11::Cast3CbcPad = 0x00000315UL , Botan::PKCS11::Cast5KeyGen = 0x00000320UL , Botan::PKCS11::Cast128KeyGen = 0x00000320UL ,
  Botan::PKCS11::Cast5Ecb = 0x00000321UL , Botan::PKCS11::Cast128Ecb = 0x00000321UL , Botan::PKCS11::Cast5Cbc = 0x00000322UL , Botan::PKCS11::Cast128Cbc = 0x00000322UL ,
  Botan::PKCS11::Cast5Mac = 0x00000323UL , Botan::PKCS11::Cast128Mac = 0x00000323UL , Botan::PKCS11::Cast5MacGeneral = 0x00000324UL , Botan::PKCS11::Cast128MacGeneral = 0x00000324UL ,
  Botan::PKCS11::Cast5CbcPad = 0x00000325UL , Botan::PKCS11::Cast128CbcPad = 0x00000325UL , Botan::PKCS11::Rc5KeyGen = 0x00000330UL , Botan::PKCS11::Rc5Ecb = 0x00000331UL ,
  Botan::PKCS11::Rc5Cbc = 0x00000332UL , Botan::PKCS11::Rc5Mac = 0x00000333UL , Botan::PKCS11::Rc5MacGeneral = 0x00000334UL , Botan::PKCS11::Rc5CbcPad = 0x00000335UL ,
  Botan::PKCS11::IdeaKeyGen = 0x00000340UL , Botan::PKCS11::IdeaEcb = 0x00000341UL , Botan::PKCS11::IdeaCbc = 0x00000342UL , Botan::PKCS11::IdeaMac = 0x00000343UL ,
  Botan::PKCS11::IdeaMacGeneral = 0x00000344UL , Botan::PKCS11::IdeaCbcPad = 0x00000345UL , Botan::PKCS11::GenericSecretKeyGen = 0x00000350UL , Botan::PKCS11::ConcatenateBaseAndKey = 0x00000360UL ,
  Botan::PKCS11::ConcatenateBaseAndData = 0x00000362UL , Botan::PKCS11::ConcatenateDataAndBase = 0x00000363UL , Botan::PKCS11::XorBaseAndData = 0x00000364UL , Botan::PKCS11::ExtractKeyFromKey = 0x00000365UL ,
  Botan::PKCS11::Ssl3PreMasterKeyGen = 0x00000370UL , Botan::PKCS11::Ssl3MasterKeyDerive = 0x00000371UL , Botan::PKCS11::Ssl3KeyAndMacDerive = 0x00000372UL , Botan::PKCS11::Ssl3MasterKeyDeriveDh = 0x00000373UL ,
  Botan::PKCS11::TlsPreMasterKeyGen = 0x00000374UL , Botan::PKCS11::TlsMasterKeyDerive = 0x00000375UL , Botan::PKCS11::TlsKeyAndMacDerive = 0x00000376UL , Botan::PKCS11::TlsMasterKeyDeriveDh = 0x00000377UL ,
  Botan::PKCS11::TlsPrf = 0x00000378UL , Botan::PKCS11::Ssl3Md5Mac = 0x00000380UL , Botan::PKCS11::Ssl3Sha1Mac = 0x00000381UL , Botan::PKCS11::Md5KeyDerivation = 0x00000390UL ,
  Botan::PKCS11::Md2KeyDerivation = 0x00000391UL , Botan::PKCS11::Sha1KeyDerivation = 0x00000392UL , Botan::PKCS11::Sha256KeyDerivation = 0x00000393UL , Botan::PKCS11::Sha384KeyDerivation = 0x00000394UL ,
  Botan::PKCS11::Sha512KeyDerivation = 0x00000395UL , Botan::PKCS11::Sha224KeyDerivation = 0x00000396UL , Botan::PKCS11::PbeMd2DesCbc = 0x000003A0UL , Botan::PKCS11::PbeMd5DesCbc = 0x000003A1UL ,
  Botan::PKCS11::PbeMd5CastCbc = 0x000003A2UL , Botan::PKCS11::PbeMd5Cast3Cbc = 0x000003A3UL , Botan::PKCS11::PbeMd5Cast5Cbc = 0x000003A4UL , Botan::PKCS11::PbeMd5Cast128Cbc = 0x000003A4UL ,
  Botan::PKCS11::PbeSha1Cast5Cbc = 0x000003A5UL , Botan::PKCS11::PbeSha1Cast128Cbc = 0x000003A5UL , Botan::PKCS11::PbeSha1Rc4128 = 0x000003A6UL , Botan::PKCS11::PbeSha1Rc440 = 0x000003A7UL ,
  Botan::PKCS11::PbeSha1Des3EdeCbc = 0x000003A8UL , Botan::PKCS11::PbeSha1Des2EdeCbc = 0x000003A9UL , Botan::PKCS11::PbeSha1Rc2128Cbc = 0x000003AAUL , Botan::PKCS11::PbeSha1Rc240Cbc = 0x000003ABUL ,
  Botan::PKCS11::Pkcs5Pbkd2 = 0x000003B0UL , Botan::PKCS11::PbaSha1WithSha1Hmac = 0x000003C0UL , Botan::PKCS11::WtlsPreMasterKeyGen = 0x000003D0UL , Botan::PKCS11::WtlsMasterKeyDerive = 0x000003D1UL ,
  Botan::PKCS11::WtlsMasterKeyDeriveDhEcc = 0x000003D2UL , Botan::PKCS11::WtlsPrf = 0x000003D3UL , Botan::PKCS11::WtlsServerKeyAndMacDerive = 0x000003D4UL , Botan::PKCS11::WtlsClientKeyAndMacDerive = 0x000003D5UL ,
  Botan::PKCS11::Tls10MacServer = 0x000003D6UL , Botan::PKCS11::Tls10MacClient = 0x000003D7UL , Botan::PKCS11::Tls12Mac = 0x000003D8UL , Botan::PKCS11::Tls12Kdf = 0x000003D9UL ,
  Botan::PKCS11::Tls12MasterKeyDerive = 0x000003E0UL , Botan::PKCS11::Tls12KeyAndMacDerive = 0x000003E1UL , Botan::PKCS11::Tls12MasterKeyDeriveDh = 0x000003E2UL , Botan::PKCS11::Tls12KeySafeDerive = 0x000003E3UL ,
  Botan::PKCS11::TlsMac = 0x000003E4UL , Botan::PKCS11::TlsKdf = 0x000003E5UL , Botan::PKCS11::KeyWrapLynks = 0x00000400UL , Botan::PKCS11::KeyWrapSetOaep = 0x00000401UL ,
  Botan::PKCS11::CmsSig = 0x00000500UL , Botan::PKCS11::KipDerive = 0x00000510UL , Botan::PKCS11::KipWrap = 0x00000511UL , Botan::PKCS11::KipMac = 0x00000512UL ,
  Botan::PKCS11::CamelliaKeyGen = 0x00000550UL , Botan::PKCS11::CamelliaEcb = 0x00000551UL , Botan::PKCS11::CamelliaCbc = 0x00000552UL , Botan::PKCS11::CamelliaMac = 0x00000553UL ,
  Botan::PKCS11::CamelliaMacGeneral = 0x00000554UL , Botan::PKCS11::CamelliaCbcPad = 0x00000555UL , Botan::PKCS11::CamelliaEcbEncryptData = 0x00000556UL , Botan::PKCS11::CamelliaCbcEncryptData = 0x00000557UL ,
  Botan::PKCS11::CamelliaCtr = 0x00000558UL , Botan::PKCS11::AriaKeyGen = 0x00000560UL , Botan::PKCS11::AriaEcb = 0x00000561UL , Botan::PKCS11::AriaCbc = 0x00000562UL ,
  Botan::PKCS11::AriaMac = 0x00000563UL , Botan::PKCS11::AriaMacGeneral = 0x00000564UL , Botan::PKCS11::AriaCbcPad = 0x00000565UL , Botan::PKCS11::AriaEcbEncryptData = 0x00000566UL ,
  Botan::PKCS11::AriaCbcEncryptData = 0x00000567UL , Botan::PKCS11::SeedKeyGen = 0x00000650UL , Botan::PKCS11::SeedEcb = 0x00000651UL , Botan::PKCS11::SeedCbc = 0x00000652UL ,
  Botan::PKCS11::SeedMac = 0x00000653UL , Botan::PKCS11::SeedMacGeneral = 0x00000654UL , Botan::PKCS11::SeedCbcPad = 0x00000655UL , Botan::PKCS11::SeedEcbEncryptData = 0x00000656UL ,
  Botan::PKCS11::SeedCbcEncryptData = 0x00000657UL , Botan::PKCS11::SkipjackKeyGen = 0x00001000UL , Botan::PKCS11::SkipjackEcb64 = 0x00001001UL , Botan::PKCS11::SkipjackCbc64 = 0x00001002UL ,
  Botan::PKCS11::SkipjackOfb64 = 0x00001003UL , Botan::PKCS11::SkipjackCfb64 = 0x00001004UL , Botan::PKCS11::SkipjackCfb32 = 0x00001005UL , Botan::PKCS11::SkipjackCfb16 = 0x00001006UL ,
  Botan::PKCS11::SkipjackCfb8 = 0x00001007UL , Botan::PKCS11::SkipjackWrap = 0x00001008UL , Botan::PKCS11::SkipjackPrivateWrap = 0x00001009UL , Botan::PKCS11::SkipjackRelayx = 0x0000100aUL ,
  Botan::PKCS11::KeaKeyPairGen = 0x00001010UL , Botan::PKCS11::KeaKeyDerive = 0x00001011UL , Botan::PKCS11::KeaDerive = 0x00001012UL , Botan::PKCS11::FortezzaTimestamp = 0x00001020UL ,
  Botan::PKCS11::BatonKeyGen = 0x00001030UL , Botan::PKCS11::BatonEcb128 = 0x00001031UL , Botan::PKCS11::BatonEcb96 = 0x00001032UL , Botan::PKCS11::BatonCbc128 = 0x00001033UL ,
  Botan::PKCS11::BatonCounter = 0x00001034UL , Botan::PKCS11::BatonShuffle = 0x00001035UL , Botan::PKCS11::BatonWrap = 0x00001036UL , Botan::PKCS11::EcdsaKeyPairGen = 0x00001040UL ,
  Botan::PKCS11::EcKeyPairGen = 0x00001040UL , Botan::PKCS11::Ecdsa = 0x00001041UL , Botan::PKCS11::EcdsaSha1 = 0x00001042UL , Botan::PKCS11::EcdsaSha224 = 0x00001043UL ,
  Botan::PKCS11::EcdsaSha256 = 0x00001044UL , Botan::PKCS11::EcdsaSha384 = 0x00001045UL , Botan::PKCS11::EcdsaSha512 = 0x00001046UL , Botan::PKCS11::Ecdh1Derive = 0x00001050UL ,
  Botan::PKCS11::Ecdh1CofactorDerive = 0x00001051UL , Botan::PKCS11::EcmqvDerive = 0x00001052UL , Botan::PKCS11::EcdhAesKeyWrap = 0x00001053UL , Botan::PKCS11::RsaAesKeyWrap = 0x00001054UL ,
  Botan::PKCS11::JuniperKeyGen = 0x00001060UL , Botan::PKCS11::JuniperEcb128 = 0x00001061UL , Botan::PKCS11::JuniperCbc128 = 0x00001062UL , Botan::PKCS11::JuniperCounter = 0x00001063UL ,
  Botan::PKCS11::JuniperShuffle = 0x00001064UL , Botan::PKCS11::JuniperWrap = 0x00001065UL , Botan::PKCS11::Fasthash = 0x00001070UL , Botan::PKCS11::AesKeyGen = 0x00001080UL ,
  Botan::PKCS11::AesEcb = 0x00001081UL , Botan::PKCS11::AesCbc = 0x00001082UL , Botan::PKCS11::AesMac = 0x00001083UL , Botan::PKCS11::AesMacGeneral = 0x00001084UL ,
  Botan::PKCS11::AesCbcPad = 0x00001085UL , Botan::PKCS11::AesCtr = 0x00001086UL , Botan::PKCS11::AesGcm = 0x00001087UL , Botan::PKCS11::AesCcm = 0x00001088UL ,
  Botan::PKCS11::AesCts = 0x00001089UL , Botan::PKCS11::AesCmac = 0x0000108AUL , Botan::PKCS11::AesCmacGeneral = 0x0000108BUL , Botan::PKCS11::AesXcbcMac = 0x0000108CUL ,
  Botan::PKCS11::AesXcbcMac96 = 0x0000108DUL , Botan::PKCS11::AesGmac = 0x0000108EUL , Botan::PKCS11::BlowfishKeyGen = 0x00001090UL , Botan::PKCS11::BlowfishCbc = 0x00001091UL ,
  Botan::PKCS11::TwofishKeyGen = 0x00001092UL , Botan::PKCS11::TwofishCbc = 0x00001093UL , Botan::PKCS11::BlowfishCbcPad = 0x00001094UL , Botan::PKCS11::TwofishCbcPad = 0x00001095UL ,
  Botan::PKCS11::DesEcbEncryptData = 0x00001100UL , Botan::PKCS11::DesCbcEncryptData = 0x00001101UL , Botan::PKCS11::Des3EcbEncryptData = 0x00001102UL , Botan::PKCS11::Des3CbcEncryptData = 0x00001103UL ,
  Botan::PKCS11::AesEcbEncryptData = 0x00001104UL , Botan::PKCS11::AesCbcEncryptData = 0x00001105UL , Botan::PKCS11::Gostr3410KeyPairGen = 0x00001200UL , Botan::PKCS11::Gostr3410 = 0x00001201UL ,
  Botan::PKCS11::Gostr3410WithGostr3411 = 0x00001202UL , Botan::PKCS11::Gostr3410KeyWrap = 0x00001203UL , Botan::PKCS11::Gostr3410Derive = 0x00001204UL , Botan::PKCS11::Gostr3411 = 0x00001210UL ,
  Botan::PKCS11::Gostr3411Hmac = 0x00001211UL , Botan::PKCS11::Gost28147KeyGen = 0x00001220UL , Botan::PKCS11::Gost28147Ecb = 0x00001221UL , Botan::PKCS11::Gost28147 = 0x00001222UL ,
  Botan::PKCS11::Gost28147Mac = 0x00001223UL , Botan::PKCS11::Gost28147KeyWrap = 0x00001224UL , Botan::PKCS11::DsaParameterGen = 0x00002000UL , Botan::PKCS11::DhPkcsParameterGen = 0x00002001UL ,
  Botan::PKCS11::X942DhParameterGen = 0x00002002UL , Botan::PKCS11::DsaProbablisticParameterGen = 0x00002003UL , Botan::PKCS11::DsaShaweTaylorParameterGen = 0x00002004UL , Botan::PKCS11::AesOfb = 0x00002104UL ,
  Botan::PKCS11::AesCfb64 = 0x00002105UL , Botan::PKCS11::AesCfb8 = 0x00002106UL , Botan::PKCS11::AesCfb128 = 0x00002107UL , Botan::PKCS11::AesCfb1 = 0x00002108UL ,
  Botan::PKCS11::AesKeyWrap = 0x00002109UL , Botan::PKCS11::AesKeyWrapPad = 0x0000210AUL , Botan::PKCS11::RsaPkcsTpm11 = 0x00004001UL , Botan::PKCS11::RsaPkcsOaepTpm11 = 0x00004002UL ,
  Botan::PKCS11::VendorDefined = 0x80000000UL
}
 
enum class  Botan::PKCS11::MGF : CK_RSA_PKCS_MGF_TYPE {
  Botan::PKCS11::Mgf1Sha1 = 0x00000001UL , Botan::PKCS11::Mgf1Sha256 = 0x00000002UL , Botan::PKCS11::Mgf1Sha384 = 0x00000003UL , Botan::PKCS11::Mgf1Sha512 = 0x00000004UL ,
  Botan::PKCS11::Mgf1Sha224 = 0x00000005UL
}
 
enum class  Botan::PKCS11::Notification : CK_NOTIFICATION { Botan::PKCS11::Surrender = 0UL , Botan::PKCS11::OtpChanged = 1UL }
 
enum class  Botan::PKCS11::ObjectClass : CK_OBJECT_CLASS {
  Botan::PKCS11::Data = 0x00000000UL , Botan::PKCS11::Certificate = 0x00000001UL , Botan::PKCS11::PublicKey = 0x00000002UL , Botan::PKCS11::PrivateKey = 0x00000003UL ,
  Botan::PKCS11::SecretKey = 0x00000004UL , Botan::PKCS11::HwFeature = 0x00000005UL , Botan::PKCS11::DomainParameters = 0x00000006UL , Botan::PKCS11::Mechanism = 0x00000007UL ,
  Botan::PKCS11::OtpKey = 0x00000008UL , Botan::PKCS11::VendorDefined = 0x80000000UL
}
 
enum class  Botan::PKCS11::PseudoRandom : CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE {
  Botan::PKCS11::Pkcs5Pbkd2HmacSha1 = 0x00000001UL , Botan::PKCS11::Pkcs5Pbkd2HmacGostr3411 = 0x00000002UL , Botan::PKCS11::Pkcs5Pbkd2HmacSha224 = 0x00000003UL , Botan::PKCS11::Pkcs5Pbkd2HmacSha256 = 0x00000004UL ,
  Botan::PKCS11::Pkcs5Pbkd2HmacSha384 = 0x00000005UL , Botan::PKCS11::Pkcs5Pbkd2HmacSha512 = 0x00000006UL , Botan::PKCS11::Pkcs5Pbkd2HmacSha512224 = 0x00000007UL , Botan::PKCS11::Pkcs5Pbkd2HmacSha512256 = 0x00000008UL
}
 
enum class  Botan::PKCS11::PublicPointEncoding : uint32_t { Botan::PKCS11::Raw , Botan::PKCS11::Der }
 
enum class  Botan::PKCS11::ReturnValue : CK_RV {
  Botan::PKCS11::OK = 0x00000000UL , Botan::PKCS11::Cancel = 0x00000001UL , Botan::PKCS11::HostMemory = 0x00000002UL , Botan::PKCS11::SlotIdInvalid = 0x00000003UL ,
  Botan::PKCS11::GeneralError = 0x00000005UL , Botan::PKCS11::FunctionFailed = 0x00000006UL , Botan::PKCS11::ArgumentsBad = 0x00000007UL , Botan::PKCS11::NoEvent = 0x00000008UL ,
  Botan::PKCS11::NeedToCreateThreads = 0x00000009UL , Botan::PKCS11::CantLock = 0x0000000AUL , Botan::PKCS11::AttributeReadOnly = 0x00000010UL , Botan::PKCS11::AttributeSensitive = 0x00000011UL ,
  Botan::PKCS11::AttributeTypeInvalid = 0x00000012UL , Botan::PKCS11::AttributeValueInvalid = 0x00000013UL , Botan::PKCS11::ActionProhibited = 0x0000001BUL , Botan::PKCS11::DataInvalid = 0x00000020UL ,
  Botan::PKCS11::DataLenRange = 0x00000021UL , Botan::PKCS11::DeviceError = 0x00000030UL , Botan::PKCS11::DeviceMemory = 0x00000031UL , Botan::PKCS11::DeviceRemoved = 0x00000032UL ,
  Botan::PKCS11::EncryptedDataInvalid = 0x00000040UL , Botan::PKCS11::EncryptedDataLenRange = 0x00000041UL , Botan::PKCS11::FunctionCanceled = 0x00000050UL , Botan::PKCS11::FunctionNotParallel = 0x00000051UL ,
  Botan::PKCS11::FunctionNotSupported = 0x00000054UL , Botan::PKCS11::KeyHandleInvalid = 0x00000060UL , Botan::PKCS11::KeySizeRange = 0x00000062UL , Botan::PKCS11::KeyTypeInconsistent = 0x00000063UL ,
  Botan::PKCS11::KeyNotNeeded = 0x00000064UL , Botan::PKCS11::KeyChanged = 0x00000065UL , Botan::PKCS11::KeyNeeded = 0x00000066UL , Botan::PKCS11::KeyIndigestible = 0x00000067UL ,
  Botan::PKCS11::KeyFunctionNotPermitted = 0x00000068UL , Botan::PKCS11::KeyNotWrappable = 0x00000069UL , Botan::PKCS11::KeyUnextractable = 0x0000006AUL , Botan::PKCS11::MechanismInvalid = 0x00000070UL ,
  Botan::PKCS11::MechanismParamInvalid = 0x00000071UL , Botan::PKCS11::ObjectHandleInvalid = 0x00000082UL , Botan::PKCS11::OperationActive = 0x00000090UL , Botan::PKCS11::OperationNotInitialized = 0x00000091UL ,
  Botan::PKCS11::PinIncorrect = 0x000000A0UL , Botan::PKCS11::PinInvalid = 0x000000A1UL , Botan::PKCS11::PinLenRange = 0x000000A2UL , Botan::PKCS11::PinExpired = 0x000000A3UL ,
  Botan::PKCS11::PinLocked = 0x000000A4UL , Botan::PKCS11::SessionClosed = 0x000000B0UL , Botan::PKCS11::SessionCount = 0x000000B1UL , Botan::PKCS11::SessionHandleInvalid = 0x000000B3UL ,
  Botan::PKCS11::SessionParallelNotSupported = 0x000000B4UL , Botan::PKCS11::SessionReadOnly = 0x000000B5UL , Botan::PKCS11::SessionExists = 0x000000B6UL , Botan::PKCS11::SessionReadOnlyExists = 0x000000B7UL ,
  Botan::PKCS11::SessionReadWriteSoExists = 0x000000B8UL , Botan::PKCS11::SignatureInvalid = 0x000000C0UL , Botan::PKCS11::SignatureLenRange = 0x000000C1UL , Botan::PKCS11::TemplateIncomplete = 0x000000D0UL ,
  Botan::PKCS11::TemplateInconsistent = 0x000000D1UL , Botan::PKCS11::TokenNotPresent = 0x000000E0UL , Botan::PKCS11::TokenNotRecognized = 0x000000E1UL , Botan::PKCS11::TokenWriteProtected = 0x000000E2UL ,
  Botan::PKCS11::UnwrappingKeyHandleInvalid = 0x000000F0UL , Botan::PKCS11::UnwrappingKeySizeRange = 0x000000F1UL , Botan::PKCS11::UnwrappingKeyTypeInconsistent = 0x000000F2UL , Botan::PKCS11::UserAlreadyLoggedIn = 0x00000100UL ,
  Botan::PKCS11::UserNotLoggedIn = 0x00000101UL , Botan::PKCS11::UserPinNotInitialized = 0x00000102UL , Botan::PKCS11::UserTypeInvalid = 0x00000103UL , Botan::PKCS11::UserAnotherAlreadyLoggedIn = 0x00000104UL ,
  Botan::PKCS11::UserTooManyTypes = 0x00000105UL , Botan::PKCS11::WrappedKeyInvalid = 0x00000110UL , Botan::PKCS11::WrappedKeyLenRange = 0x00000112UL , Botan::PKCS11::WrappingKeyHandleInvalid = 0x00000113UL ,
  Botan::PKCS11::WrappingKeySizeRange = 0x00000114UL , Botan::PKCS11::WrappingKeyTypeInconsistent = 0x00000115UL , Botan::PKCS11::RandomSeedNotSupported = 0x00000120UL , Botan::PKCS11::RandomNoRng = 0x00000121UL ,
  Botan::PKCS11::DomainParamsInvalid = 0x00000130UL , Botan::PKCS11::CurveNotSupported = 0x00000140UL , Botan::PKCS11::BufferTooSmall = 0x00000150UL , Botan::PKCS11::SavedStateInvalid = 0x00000160UL ,
  Botan::PKCS11::InformationSensitive = 0x00000170UL , Botan::PKCS11::StateUnsaveable = 0x00000180UL , Botan::PKCS11::CryptokiNotInitialized = 0x00000190UL , Botan::PKCS11::CryptokiAlreadyInitialized = 0x00000191UL ,
  Botan::PKCS11::MutexBad = 0x000001A0UL , Botan::PKCS11::MutexNotLocked = 0x000001A1UL , Botan::PKCS11::NewPinMode = 0x000001B0UL , Botan::PKCS11::NextOtp = 0x000001B1UL ,
  Botan::PKCS11::ExceededMaxIterations = 0x000001B5UL , Botan::PKCS11::FipsSelfTestFailed = 0x000001B6UL , Botan::PKCS11::LibraryLoadFailed = 0x000001B7UL , Botan::PKCS11::PinTooWeak = 0x000001B8UL ,
  Botan::PKCS11::PublicKeyInvalid = 0x000001B9UL , Botan::PKCS11::FunctionRejected = 0x00000200UL , Botan::PKCS11::VendorDefined = 0x80000000UL
}
 
enum class  Botan::PKCS11::SessionState : CK_STATE {
  Botan::PKCS11::RoPublicSession = 0UL , Botan::PKCS11::RoUserFunctions = 1UL , Botan::PKCS11::RwPublicSession = 2UL , Botan::PKCS11::RwUserFunctions = 3UL ,
  Botan::PKCS11::RwSoFunctions = 4UL
}
 
enum class  Botan::PKCS11::UserType : CK_USER_TYPE { Botan::PKCS11::SO = 0UL , Botan::PKCS11::User = 1UL , Botan::PKCS11::ContextSpecific = 2UL }
 

Functions

void Botan::PKCS11::change_pin (Slot &slot, const secure_string &old_pin, const secure_string &new_pin)
 
void Botan::PKCS11::change_so_pin (Slot &slot, const secure_string &old_so_pin, const secure_string &new_so_pin)
 
Flags Botan::PKCS11::flags (Flag flags)
 
void Botan::PKCS11::initialize_token (Slot &slot, const std::string &label, const secure_string &so_pin, const secure_string &pin)
 
Flag Botan::PKCS11::operator| (Flag a, Flag b)
 
void Botan::PKCS11::set_pin (Slot &slot, const secure_string &so_pin, const secure_string &pin)
 

Variables

const Bbool Botan::PKCS11::False = 0
 
const Bbool Botan::PKCS11::True = 1
 

Macro Definition Documentation

◆ CK_CALLBACK_FUNCTION

#define CK_CALLBACK_FUNCTION (   returnType,
  name 
)     returnType (* name)

Definition at line 37 of file p11.h.

◆ CK_DECLARE_FUNCTION

#define CK_DECLARE_FUNCTION (   returnType,
  name 
)     returnType name

Definition at line 25 of file p11.h.

◆ CK_DECLARE_FUNCTION_POINTER

#define CK_DECLARE_FUNCTION_POINTER (   returnType,
  name 
)     returnType (* name)

Definition at line 33 of file p11.h.

◆ CK_PTR

#define CK_PTR   *

Definition at line 19 of file p11.h.

◆ NULL_PTR

#define NULL_PTR   nullptr

Definition at line 41 of file p11.h.