Botan  2.7.0
Crypto and TLS for C++11
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
p11.h File Reference
#include <botan/secmem.h>
#include <botan/exceptn.h>
#include <botan/dyn_load.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

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

◆ CK_DECLARE_FUNCTION

#define CK_DECLARE_FUNCTION (   returnType,
  name 
)    returnType name

Definition at line 26 of file p11.h.

◆ CK_DECLARE_FUNCTION_POINTER

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

Definition at line 34 of file p11.h.

◆ CK_PTR

#define CK_PTR   *

Definition at line 20 of file p11.h.

◆ NULL_PTR

#define NULL_PTR   nullptr

Definition at line 42 of file p11.h.