Botan 3.0.0
Crypto and TLS for C&
Classes | Typedefs | Enumerations | Functions | Variables
Botan::PKCS11 Namespace Reference

Classes

class  AttributeContainer
 Helper class to build the Attribute / CK_ATTRIBUTE structures. More...
 
class  CertificateProperties
 Common attributes of all certificate objects. More...
 
class  DataObjectProperties
 Common attributes of all data objects. More...
 
class  DomainParameterProperties
 Common attributes of domain parameter. More...
 
class  KeyProperties
 Common attributes of all key objects. More...
 
class  LowLevel
 Provides access to all PKCS#11 functions. More...
 
class  MechanismWrapper
 
class  Module
 
class  Object
 
class  ObjectFinder
 Manages calls to C_FindObjects* functions (C_FindObjectsInit -> C_FindObjects -> C_FindObjectsFinal) More...
 
class  ObjectProperties
 Common attributes of all objects. More...
 
class  PKCS11_Error
 
class  PKCS11_ReturnError
 
class  PKCS11_RNG
 A random generator that only fetches random from the PKCS#11 RNG. More...
 
class  PrivateKeyProperties
 Common attributes of all private keys. More...
 
class  PublicKeyProperties
 Common attributes of all public key objects. More...
 
class  SecretKeyProperties
 Common attributes of all secret (symmetric) keys. More...
 
class  Session
 Represents a PKCS#11 session. More...
 
class  Slot
 Represents a PKCS#11 Slot, i.e., a card reader. More...
 
class  StorageObjectProperties
 Common attributes of all storage objects. More...
 

Typedefs

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

Enumerations

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

Functions

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

Variables

const Bbool False = 0
 
ReturnValueThrowException = reinterpret_cast< ReturnValue* >(-1)
 
const Bbool True = 1
 

Typedef Documentation

◆ Attribute

Definition at line 847 of file p11.h.

◆ Bbool

using Botan::PKCS11::Bbool = typedef CK_BBOOL

Definition at line 836 of file p11.h.

◆ Byte

using Botan::PKCS11::Byte = typedef CK_BYTE

Definition at line 849 of file p11.h.

◆ C_InitializeArgs

Definition at line 829 of file p11.h.

◆ CreateMutex

using Botan::PKCS11::CreateMutex = typedef CK_CREATEMUTEX

Definition at line 830 of file p11.h.

◆ Date

using Botan::PKCS11::Date = typedef CK_DATE

Definition at line 853 of file p11.h.

◆ DestroyMutex

using Botan::PKCS11::DestroyMutex = typedef CK_DESTROYMUTEX

Definition at line 831 of file p11.h.

◆ Ecdh1DeriveParams

Definition at line 852 of file p11.h.

◆ Flags

using Botan::PKCS11::Flags = typedef CK_FLAGS

Definition at line 834 of file p11.h.

◆ FunctionListPtr

Definition at line 827 of file p11.h.

◆ Info

using Botan::PKCS11::Info = typedef CK_INFO

Definition at line 835 of file p11.h.

◆ LockMutex

using Botan::PKCS11::LockMutex = typedef CK_LOCKMUTEX

Definition at line 832 of file p11.h.

◆ Mechanism

Definition at line 841 of file p11.h.

◆ MechanismInfo

Definition at line 842 of file p11.h.

◆ Notify

using Botan::PKCS11::Notify = typedef CK_NOTIFY

Definition at line 844 of file p11.h.

◆ ObjectHandle

Definition at line 848 of file p11.h.

◆ RsaPkcsOaepParams

Definition at line 850 of file p11.h.

◆ RsaPkcsPssParams

Definition at line 851 of file p11.h.

◆ secure_string

using Botan::PKCS11::secure_string = typedef secure_vector<uint8_t>

Definition at line 63 of file p11.h.

◆ SessionHandle

Definition at line 845 of file p11.h.

◆ SessionInfo

Definition at line 846 of file p11.h.

◆ SlotId

Definition at line 837 of file p11.h.

◆ SlotInfo

Definition at line 839 of file p11.h.

◆ TokenInfo

Definition at line 840 of file p11.h.

◆ Ulong

using Botan::PKCS11::Ulong = typedef CK_ULONG

Definition at line 838 of file p11.h.

◆ UnlockMutex

using Botan::PKCS11::UnlockMutex = typedef CK_UNLOCKMUTEX

Definition at line 833 of file p11.h.

◆ Utf8Char

Definition at line 843 of file p11.h.

◆ VoidPtr

Definition at line 828 of file p11.h.

Enumeration Type Documentation

◆ AttributeType

Enumerator
Class 
Token 
Private 
Label 
Application 
Value 
ObjectId 
CertificateType 
Issuer 
SerialNumber 
AcIssuer 
Owner 
AttrTypes 
Trusted 
CertificateCategory 
JavaMidpSecurityDomain 
Url 
HashOfSubjectPublicKey 
HashOfIssuerPublicKey 
NameHashAlgorithm 
CheckValue 
KeyType 
Subject 
Id 
Sensitive 
Encrypt 
Decrypt 
Wrap 
Unwrap 
Sign 
SignRecover 
Verify 
VerifyRecover 
Derive 
StartDate 
EndDate 
Modulus 
ModulusBits 
PublicExponent 
PrivateExponent 
Prime1 
Prime2 
Exponent1 
Exponent2 
Coefficient 
PublicKeyInfo 
Prime 
Subprime 
Base 
PrimeBits 
SubprimeBits 
SubPrimeBits 
ValueBits 
ValueLen 
Extractable 
Local 
NeverExtractable 
AlwaysSensitive 
KeyGenMechanism 
Modifiable 
Copyable 
Destroyable 
EcdsaParams 
EcParams 
EcPoint 
SecondaryAuth 
AuthPinFlags 
AlwaysAuthenticate 
WrapWithTrusted 
WrapTemplate 
UnwrapTemplate 
DeriveTemplate 
OtpFormat 
OtpLength 
OtpTimeInterval 
OtpUserFriendlyMode 
OtpChallengeRequirement 
OtpTimeRequirement 
OtpCounterRequirement 
OtpPinRequirement 
OtpCounter 
OtpTime 
OtpUserIdentifier 
OtpServiceIdentifier 
OtpServiceLogo 
OtpServiceLogoType 
Gostr3410Params 
Gostr3411Params 
Gost28147Params 
HwFeatureType 
ResetOnInit 
HasReset 
PixelX 
PixelY 
Resolution 
CharRows 
CharColumns 
Color 
BitsPerPixel 
CharSets 
EncodingMethods 
MimeTypes 
MechanismType 
RequiredCmsAttributes 
DefaultCmsAttributes 
SupportedCmsAttributes 
AllowedMechanisms 
VendorDefined 

Definition at line 65 of file p11.h.

66 {
83 Url = CKA_URL,
90 Id = CKA_ID,
94 Wrap = CKA_WRAP,
96 Sign = CKA_SIGN,
115 Base = CKA_BASE,
175 };
CertificateType
Definition: p11.h:178
MechanismType
Definition: p11.h:338
CertificateCategory
Definition: p11.h:188
#define CKA_NEVER_EXTRACTABLE
Definition: pkcs11t.h:496
#define CKA_JAVA_MIDP_SECURITY_DOMAIN
Definition: pkcs11t.h:452
#define CKA_OTP_TIME_INTERVAL
Definition: pkcs11t.h:522
#define CKA_TOKEN
Definition: pkcs11t.h:438
#define CKA_SECONDARY_AUTH
Definition: pkcs11t.h:510
#define CKA_START_DATE
Definition: pkcs11t.h:472
#define CKA_OTP_SERVICE_IDENTIFIER
Definition: pkcs11t.h:531
#define CKA_AUTH_PIN_FLAGS
Definition: pkcs11t.h:511
#define CKA_SERIAL_NUMBER
Definition: pkcs11t.h:446
#define CKA_SUB_PRIME_BITS
Definition: pkcs11t.h:490
#define CKA_ISSUER
Definition: pkcs11t.h:445
#define CKA_HASH_OF_SUBJECT_PUBLIC_KEY
Definition: pkcs11t.h:454
#define CKA_SUPPORTED_CMS_ATTRIBUTES
Definition: pkcs11t.h:556
#define CKA_PRIVATE_EXPONENT
Definition: pkcs11t.h:477
#define CKA_RESOLUTION
Definition: pkcs11t.h:545
#define CKA_ID
Definition: pkcs11t.h:461
#define CKA_OBJECT_ID
Definition: pkcs11t.h:443
#define CKA_APPLICATION
Definition: pkcs11t.h:441
#define CKA_HW_FEATURE_TYPE
Definition: pkcs11t.h:539
#define CKA_VERIFY_RECOVER
Definition: pkcs11t.h:470
#define CKA_PUBLIC_EXPONENT
Definition: pkcs11t.h:476
#define CKA_MODIFIABLE
Definition: pkcs11t.h:500
#define CKA_OTP_TIME_REQUIREMENT
Definition: pkcs11t.h:525
#define CKA_BITS_PER_PIXEL
Definition: pkcs11t.h:549
#define CKA_AC_ISSUER
Definition: pkcs11t.h:447
#define CKA_OTP_USER_IDENTIFIER
Definition: pkcs11t.h:530
#define CKA_CHECK_VALUE
Definition: pkcs11t.h:457
#define CKA_PUBLIC_KEY_INFO
Definition: pkcs11t.h:483
#define CKA_OTP_USER_FRIENDLY_MODE
Definition: pkcs11t.h:523
#define CKA_PRIME
Definition: pkcs11t.h:484
#define CKA_MODULUS
Definition: pkcs11t.h:474
#define CKA_PRIVATE
Definition: pkcs11t.h:439
#define CKA_PRIME_1
Definition: pkcs11t.h:478
#define CKA_NAME_HASH_ALGORITHM
Definition: pkcs11t.h:456
#define CKA_OTP_SERVICE_LOGO_TYPE
Definition: pkcs11t.h:533
#define CKA_OTP_CHALLENGE_REQUIREMENT
Definition: pkcs11t.h:524
#define CKA_OTP_FORMAT
Definition: pkcs11t.h:520
#define CKA_EC_POINT
Definition: pkcs11t.h:508
#define CKA_SENSITIVE
Definition: pkcs11t.h:462
#define CKA_SIGN_RECOVER
Definition: pkcs11t.h:468
#define CKA_EXPONENT_1
Definition: pkcs11t.h:480
#define CKA_SIGN
Definition: pkcs11t.h:467
#define CKA_EXPONENT_2
Definition: pkcs11t.h:481
#define CKA_VALUE
Definition: pkcs11t.h:442
#define CKA_URL
Definition: pkcs11t.h:453
#define CKA_LOCAL
Definition: pkcs11t.h:495
#define CKA_ECDSA_PARAMS
Definition: pkcs11t.h:505
#define CKA_RESET_ON_INIT
Definition: pkcs11t.h:540
#define CKA_VERIFY
Definition: pkcs11t.h:469
#define CKA_OTP_PIN_REQUIREMENT
Definition: pkcs11t.h:527
#define CKA_ALLOWED_MECHANISMS
Definition: pkcs11t.h:557
#define CKA_OTP_COUNTER_REQUIREMENT
Definition: pkcs11t.h:526
#define CKA_COPYABLE
Definition: pkcs11t.h:501
#define CKA_PRIME_2
Definition: pkcs11t.h:479
#define CKA_COLOR
Definition: pkcs11t.h:548
#define CKA_UNWRAP
Definition: pkcs11t.h:466
#define CKA_TRUSTED
Definition: pkcs11t.h:450
#define CKA_WRAP_WITH_TRUSTED
Definition: pkcs11t.h:515
#define CKA_DECRYPT
Definition: pkcs11t.h:464
#define CKA_OTP_LENGTH
Definition: pkcs11t.h:521
#define CKA_KEY_TYPE
Definition: pkcs11t.h:459
#define CKA_ALWAYS_AUTHENTICATE
Definition: pkcs11t.h:513
#define CKA_VALUE_LEN
Definition: pkcs11t.h:493
#define CKA_CHAR_ROWS
Definition: pkcs11t.h:546
#define CKA_GOST28147_PARAMS
Definition: pkcs11t.h:537
#define CKA_VALUE_BITS
Definition: pkcs11t.h:492
#define CKA_COEFFICIENT
Definition: pkcs11t.h:482
#define CKA_OWNER
Definition: pkcs11t.h:448
#define CKA_DESTROYABLE
Definition: pkcs11t.h:503
#define CKA_SUBPRIME
Definition: pkcs11t.h:485
#define CKA_DERIVE
Definition: pkcs11t.h:471
#define CKA_REQUIRED_CMS_ATTRIBUTES
Definition: pkcs11t.h:554
#define CKA_MIME_TYPES
Definition: pkcs11t.h:552
#define CKA_CERTIFICATE_CATEGORY
Definition: pkcs11t.h:451
#define CKA_GOSTR3410_PARAMS
Definition: pkcs11t.h:535
#define CKA_ALWAYS_SENSITIVE
Definition: pkcs11t.h:497
#define CKA_VENDOR_DEFINED
Definition: pkcs11t.h:559
#define CKA_OTP_TIME
Definition: pkcs11t.h:529
#define CKA_END_DATE
Definition: pkcs11t.h:473
#define CKA_ATTR_TYPES
Definition: pkcs11t.h:449
#define CKA_CERTIFICATE_TYPE
Definition: pkcs11t.h:444
#define CKA_HASH_OF_ISSUER_PUBLIC_KEY
Definition: pkcs11t.h:455
#define CKA_MODULUS_BITS
Definition: pkcs11t.h:475
#define CKA_LABEL
Definition: pkcs11t.h:440
#define CKA_EXTRACTABLE
Definition: pkcs11t.h:494
#define CKA_ENCODING_METHODS
Definition: pkcs11t.h:551
#define CKA_ENCRYPT
Definition: pkcs11t.h:463
#define CKA_SUBPRIME_BITS
Definition: pkcs11t.h:489
#define CKA_PIXEL_X
Definition: pkcs11t.h:543
#define CKA_DEFAULT_CMS_ATTRIBUTES
Definition: pkcs11t.h:555
#define CKA_GOSTR3411_PARAMS
Definition: pkcs11t.h:536
#define CKA_CHAR_COLUMNS
Definition: pkcs11t.h:547
#define CKA_UNWRAP_TEMPLATE
Definition: pkcs11t.h:517
#define CKA_KEY_GEN_MECHANISM
Definition: pkcs11t.h:498
#define CKA_PIXEL_Y
Definition: pkcs11t.h:544
#define CKA_WRAP_TEMPLATE
Definition: pkcs11t.h:516
#define CKA_PRIME_BITS
Definition: pkcs11t.h:488
#define CKA_OTP_COUNTER
Definition: pkcs11t.h:528
#define CKA_CHAR_SETS
Definition: pkcs11t.h:550
#define CKA_MECHANISM_TYPE
Definition: pkcs11t.h:553
#define CKA_BASE
Definition: pkcs11t.h:486
#define CKA_EC_PARAMS
Definition: pkcs11t.h:506
#define CKA_WRAP
Definition: pkcs11t.h:465
#define CKA_CLASS
Definition: pkcs11t.h:437
#define CKA_DERIVE_TEMPLATE
Definition: pkcs11t.h:518
#define CKA_HAS_RESET
Definition: pkcs11t.h:541
#define CKA_OTP_SERVICE_LOGO
Definition: pkcs11t.h:532
#define CKA_SUBJECT
Definition: pkcs11t.h:460

◆ CertificateCategory

Indicates if a stored certificate is a user certificate for which the corresponding private key is available on the token ("token user"), a CA certificate ("authority"), or another end-entity certificate ("other entity").

Enumerator
Unspecified 
TokenUser 
Authority 
OtherEntity 

Definition at line 187 of file p11.h.

◆ CertificateType

Enumerator
X509 
X509AttrCert 
Wtls 
VendorDefined 

Definition at line 177 of file p11.h.

178 {
179 X509 = CKC_X_509,
181 Wtls = CKC_WTLS,
183 };
#define CKC_VENDOR_DEFINED
Definition: pkcs11t.h:410
#define CKC_WTLS
Definition: pkcs11t.h:409
#define CKC_X_509
Definition: pkcs11t.h:407
#define CKC_X_509_ATTR_CERT
Definition: pkcs11t.h:408

◆ Flag

enum class Botan::PKCS11::Flag : CK_FLAGS
strong
Enumerator
None 
TokenPresent 
RemovableDevice 
HwSlot 
Rng 
WriteProtected 
LoginRequired 
UserPinInitialized 
RestoreKeyNotNeeded 
ClockOnToken 
ProtectedAuthenticationPath 
DualCryptoOperations 
TokenInitialized 
SecondaryAuthentication 
UserPinCountLow 
UserPinFinalTry 
UserPinLocked 
UserPinToBeChanged 
SoPinCountLow 
SoPinFinalTry 
SoPinLocked 
SoPinToBeChanged 
ErrorState 
RwSession 
SerialSession 
ArrayAttribute 
Hw 
Encrypt 
Decrypt 
Digest 
Sign 
SignRecover 
Verify 
VerifyRecover 
Generate 
GenerateKeyPair 
Wrap 
Unwrap 
Derive 
EcFP 
EcF2m 
EcEcparameters 
EcNamedcurve 
EcUncompress 
EcCompress 
Extension 
LibraryCantCreateOsThreads 
OsLockingOk 
DontBlock 
NextOtp 
ExcludeTime 
ExcludeCounter 
ExcludeChallenge 
ExcludePin 
UserFriendlyOtp 

Definition at line 208 of file p11.h.

209 {
210 None = 0,
214 Rng = CKF_RNG,
236 Hw = CKF_HW,
240 Sign = CKF_SIGN,
246 Wrap = CKF_WRAP,
265 };
#define CKF_LOGIN_REQUIRED
Definition: pkcs11t.h:157
#define CKF_HW_SLOT
Definition: pkcs11t.h:124
#define CKF_EC_UNCOMPRESS
Definition: pkcs11t.h:1026
#define CKF_LIBRARY_CANT_CREATE_OS_THREADS
Definition: pkcs11t.h:1225
#define CKF_PROTECTED_AUTHENTICATION_PATH
Definition: pkcs11t.h:177
#define CKF_TOKEN_INITIALIZED
Definition: pkcs11t.h:193
#define CKF_DIGEST
Definition: pkcs11t.h:1008
#define CKF_USER_PIN_FINAL_TRY
Definition: pkcs11t.h:210
#define CKF_DERIVE
Definition: pkcs11t.h:1017
#define CKF_VERIFY
Definition: pkcs11t.h:1011
#define CKF_EC_F_2M
Definition: pkcs11t.h:1023
#define CKF_USER_PIN_INITIALIZED
Definition: pkcs11t.h:158
#define CKF_RW_SESSION
Definition: pkcs11t.h:289
#define CKF_WRAP
Definition: pkcs11t.h:1015
#define CKF_EXTENSION
Definition: pkcs11t.h:1029
#define CKF_EC_F_P
Definition: pkcs11t.h:1022
#define CKF_GENERATE_KEY_PAIR
Definition: pkcs11t.h:1014
#define CKF_SIGN_RECOVER
Definition: pkcs11t.h:1010
#define CKF_REMOVABLE_DEVICE
Definition: pkcs11t.h:123
#define CKF_SECONDARY_AUTHENTICATION
Definition: pkcs11t.h:199
#define CKF_USER_FRIENDLY_OTP
Definition: pkcs11t.h:1814
#define CKF_USER_PIN_COUNT_LOW
Definition: pkcs11t.h:205
#define CKF_EXCLUDE_COUNTER
Definition: pkcs11t.h:1811
#define CKF_ENCRYPT
Definition: pkcs11t.h:1006
#define CKF_OS_LOCKING_OK
Definition: pkcs11t.h:1226
#define CKF_EC_ECPARAMETERS
Definition: pkcs11t.h:1024
#define CKF_SERIAL_SESSION
Definition: pkcs11t.h:290
#define CKF_DUAL_CRYPTO_OPERATIONS
Definition: pkcs11t.h:185
#define CKF_SO_PIN_TO_BE_CHANGED
Definition: pkcs11t.h:246
#define CKF_ARRAY_ATTRIBUTE
Definition: pkcs11t.h:421
#define CKF_EXCLUDE_CHALLENGE
Definition: pkcs11t.h:1812
#define CKF_RNG
Definition: pkcs11t.h:155
#define CKF_SIGN
Definition: pkcs11t.h:1009
#define CKF_GENERATE
Definition: pkcs11t.h:1013
#define CKF_SO_PIN_FINAL_TRY
Definition: pkcs11t.h:234
#define CKF_EXCLUDE_PIN
Definition: pkcs11t.h:1813
#define CKF_RESTORE_KEY_NOT_NEEDED
Definition: pkcs11t.h:165
#define CKF_UNWRAP
Definition: pkcs11t.h:1016
#define CKF_USER_PIN_TO_BE_CHANGED
Definition: pkcs11t.h:223
#define CKF_SO_PIN_LOCKED
Definition: pkcs11t.h:239
#define CKF_DECRYPT
Definition: pkcs11t.h:1007
#define CKF_EC_COMPRESS
Definition: pkcs11t.h:1027
#define CKF_SO_PIN_COUNT_LOW
Definition: pkcs11t.h:229
#define CKF_USER_PIN_LOCKED
Definition: pkcs11t.h:216
#define CKF_TOKEN_PRESENT
Definition: pkcs11t.h:122
#define CKF_HW
Definition: pkcs11t.h:1003
#define CKF_EXCLUDE_TIME
Definition: pkcs11t.h:1810
#define CKF_VERIFY_RECOVER
Definition: pkcs11t.h:1012
#define CKF_CLOCK_ON_TOKEN
Definition: pkcs11t.h:171
#define CKF_ERROR_STATE
Definition: pkcs11t.h:248
#define CKF_WRITE_PROTECTED
Definition: pkcs11t.h:156
#define CKF_EC_NAMEDCURVE
Definition: pkcs11t.h:1025
#define CKF_NEXT_OTP
Definition: pkcs11t.h:1809
#define CKF_DONT_BLOCK
Definition: pkcs11t.h:1234

◆ HardwareType

Enumerator
MonotonicCounter 
Clock 
UserInterface 
VendorDefined 

Definition at line 281 of file p11.h.

282 {
287 };
#define CKH_MONOTONIC_COUNTER
Definition: pkcs11t.h:330
#define CKH_CLOCK
Definition: pkcs11t.h:331
#define CKH_VENDOR_DEFINED
Definition: pkcs11t.h:333
#define CKH_USER_INTERFACE
Definition: pkcs11t.h:332

◆ KeyDerivation

Enumerator
Null 
Sha1Kdf 
Sha1KdfAsn1 
Sha1KdfConcatenate 
Sha224Kdf 
Sha256Kdf 
Sha384Kdf 
Sha512Kdf 
CpdiversifyKdf 

Definition at line 195 of file p11.h.

◆ KeyType

enum class Botan::PKCS11::KeyType : CK_KEY_TYPE
strong
Enumerator
Rsa 
Dsa 
Dh 
Ecdsa 
Ec 
X942Dh 
Kea 
GenericSecret 
Rc2 
Rc4 
Des 
Des2 
Des3 
Cast 
Cast3 
Cast5 
Cast128 
Rc5 
Idea 
Skipjack 
Baton 
Juniper 
Cdmf 
Aes 
Blowfish 
Twofish 
Securid 
Hotp 
Acti 
Camellia 
Aria 
Md5Hmac 
Sha1Hmac 
Ripemd128Hmac 
Ripemd160Hmac 
Sha256Hmac 
Sha384Hmac 
Sha512Hmac 
Sha224Hmac 
Seed 
Gostr3410 
Gostr3411 
Gost28147 
VendorDefined 

Definition at line 289 of file p11.h.

290 {
291 Rsa = CKK_RSA,
292 Dsa = CKK_DSA,
293 Dh = CKK_DH,
295 Ec = CKK_EC,
297 Kea = CKK_KEA,
299 Rc2 = CKK_RC2,
300 Rc4 = CKK_RC4,
301 Des = CKK_DES,
302 Des2 = CKK_DES2,
303 Des3 = CKK_DES3,
304 Cast = CKK_CAST,
308 Rc5 = CKK_RC5,
309 Idea = CKK_IDEA,
313 Cdmf = CKK_CDMF,
314 Aes = CKK_AES,
318 Hotp = CKK_HOTP,
319 Acti = CKK_ACTI,
321 Aria = CKK_ARIA,
330 Seed = CKK_SEED,
335 };
#define CKK_DES3
Definition: pkcs11t.h:351
#define CKK_RC4
Definition: pkcs11t.h:348
#define CKK_SHA224_HMAC
Definition: pkcs11t.h:378
#define CKK_DH
Definition: pkcs11t.h:341
#define CKK_RC5
Definition: pkcs11t.h:356
#define CKK_DES2
Definition: pkcs11t.h:350
#define CKK_SHA256_HMAC
Definition: pkcs11t.h:375
#define CKK_CAST128
Definition: pkcs11t.h:355
#define CKK_CAST5
Definition: pkcs11t.h:354
#define CKK_RSA
Definition: pkcs11t.h:339
#define CKK_CAMELLIA
Definition: pkcs11t.h:368
#define CKK_SEED
Definition: pkcs11t.h:380
#define CKK_KEA
Definition: pkcs11t.h:345
#define CKK_BLOWFISH
Definition: pkcs11t.h:363
#define CKK_DES
Definition: pkcs11t.h:349
#define CKK_ACTI
Definition: pkcs11t.h:367
#define CKK_RIPEMD160_HMAC
Definition: pkcs11t.h:374
#define CKK_JUNIPER
Definition: pkcs11t.h:360
#define CKK_IDEA
Definition: pkcs11t.h:357
#define CKK_DSA
Definition: pkcs11t.h:340
#define CKK_BATON
Definition: pkcs11t.h:359
#define CKK_GOSTR3410
Definition: pkcs11t.h:381
#define CKK_GOSTR3411
Definition: pkcs11t.h:382
#define CKK_CAST
Definition: pkcs11t.h:352
#define CKK_RC2
Definition: pkcs11t.h:347
#define CKK_SHA384_HMAC
Definition: pkcs11t.h:376
#define CKK_RIPEMD128_HMAC
Definition: pkcs11t.h:373
#define CKK_GENERIC_SECRET
Definition: pkcs11t.h:346
#define CKK_CAST3
Definition: pkcs11t.h:353
#define CKK_SKIPJACK
Definition: pkcs11t.h:358
#define CKK_VENDOR_DEFINED
Definition: pkcs11t.h:387
#define CKK_HOTP
Definition: pkcs11t.h:366
#define CKK_SECURID
Definition: pkcs11t.h:365
#define CKK_CDMF
Definition: pkcs11t.h:361
#define CKK_ECDSA
Definition: pkcs11t.h:342
#define CKK_GOST28147
Definition: pkcs11t.h:383
#define CKK_TWOFISH
Definition: pkcs11t.h:364
#define CKK_EC
Definition: pkcs11t.h:343
#define CKK_ARIA
Definition: pkcs11t.h:369
#define CKK_MD5_HMAC
Definition: pkcs11t.h:371
#define CKK_SHA_1_HMAC
Definition: pkcs11t.h:372
#define CKK_AES
Definition: pkcs11t.h:362
#define CKK_X9_42_DH
Definition: pkcs11t.h:344
#define CKK_SHA512_HMAC
Definition: pkcs11t.h:377

◆ MechanismType

Enumerator
RsaPkcsKeyPairGen 
RsaPkcs 
Rsa9796 
RsaX509 
Md2RsaPkcs 
Md5RsaPkcs 
Sha1RsaPkcs 
Ripemd128RsaPkcs 
Ripemd160RsaPkcs 
RsaPkcsOaep 
RsaX931KeyPairGen 
RsaX931 
Sha1RsaX931 
RsaPkcsPss 
Sha1RsaPkcsPss 
DsaKeyPairGen 
Dsa 
DsaSha1 
DsaSha224 
DsaSha256 
DsaSha384 
DsaSha512 
DhPkcsKeyPairGen 
DhPkcsDerive 
X942DhKeyPairGen 
X942DhDerive 
X942DhHybridDerive 
X942MqvDerive 
Sha256RsaPkcs 
Sha384RsaPkcs 
Sha512RsaPkcs 
Sha256RsaPkcsPss 
Sha384RsaPkcsPss 
Sha512RsaPkcsPss 
Sha224RsaPkcs 
Sha224RsaPkcsPss 
Sha512224 
Sha512224Hmac 
Sha512224HmacGeneral 
Sha512224KeyDerivation 
Sha512256 
Sha512256Hmac 
Sha512256HmacGeneral 
Sha512256KeyDerivation 
Sha512T 
Sha512THmac 
Sha512THmacGeneral 
Sha512TKeyDerivation 
Rc2KeyGen 
Rc2Ecb 
Rc2Cbc 
Rc2Mac 
Rc2MacGeneral 
Rc2CbcPad 
Rc4KeyGen 
Rc4 
DesKeyGen 
DesEcb 
DesCbc 
DesMac 
DesMacGeneral 
DesCbcPad 
Des2KeyGen 
Des3KeyGen 
Des3Ecb 
Des3Cbc 
Des3Mac 
Des3MacGeneral 
Des3CbcPad 
Des3CmacGeneral 
Des3Cmac 
CdmfKeyGen 
CdmfEcb 
CdmfCbc 
CdmfMac 
CdmfMacGeneral 
CdmfCbcPad 
DesOfb64 
DesOfb8 
DesCfb64 
DesCfb8 
Md2 
Md2Hmac 
Md2HmacGeneral 
Md5 
Md5Hmac 
Md5HmacGeneral 
Sha1 
Sha1Hmac 
Sha1HmacGeneral 
Ripemd128 
Ripemd128Hmac 
Ripemd128HmacGeneral 
Ripemd160 
Ripemd160Hmac 
Ripemd160HmacGeneral 
Sha256 
Sha256Hmac 
Sha256HmacGeneral 
Sha224 
Sha224Hmac 
Sha224HmacGeneral 
Sha384 
Sha384Hmac 
Sha384HmacGeneral 
Sha512 
Sha512Hmac 
Sha512HmacGeneral 
SecuridKeyGen 
Securid 
HotpKeyGen 
Hotp 
Acti 
ActiKeyGen 
CastKeyGen 
CastEcb 
CastCbc 
CastMac 
CastMacGeneral 
CastCbcPad 
Cast3KeyGen 
Cast3Ecb 
Cast3Cbc 
Cast3Mac 
Cast3MacGeneral 
Cast3CbcPad 
Cast5KeyGen 
Cast128KeyGen 
Cast5Ecb 
Cast128Ecb 
Cast5Cbc 
Cast128Cbc 
Cast5Mac 
Cast128Mac 
Cast5MacGeneral 
Cast128MacGeneral 
Cast5CbcPad 
Cast128CbcPad 
Rc5KeyGen 
Rc5Ecb 
Rc5Cbc 
Rc5Mac 
Rc5MacGeneral 
Rc5CbcPad 
IdeaKeyGen 
IdeaEcb 
IdeaCbc 
IdeaMac 
IdeaMacGeneral 
IdeaCbcPad 
GenericSecretKeyGen 
ConcatenateBaseAndKey 
ConcatenateBaseAndData 
ConcatenateDataAndBase 
XorBaseAndData 
ExtractKeyFromKey 
Ssl3PreMasterKeyGen 
Ssl3MasterKeyDerive 
Ssl3KeyAndMacDerive 
Ssl3MasterKeyDeriveDh 
TlsPreMasterKeyGen 
TlsMasterKeyDerive 
TlsKeyAndMacDerive 
TlsMasterKeyDeriveDh 
TlsPrf 
Ssl3Md5Mac 
Ssl3Sha1Mac 
Md5KeyDerivation 
Md2KeyDerivation 
Sha1KeyDerivation 
Sha256KeyDerivation 
Sha384KeyDerivation 
Sha512KeyDerivation 
Sha224KeyDerivation 
PbeMd2DesCbc 
PbeMd5DesCbc 
PbeMd5CastCbc 
PbeMd5Cast3Cbc 
PbeMd5Cast5Cbc 
PbeMd5Cast128Cbc 
PbeSha1Cast5Cbc 
PbeSha1Cast128Cbc 
PbeSha1Rc4128 
PbeSha1Rc440 
PbeSha1Des3EdeCbc 
PbeSha1Des2EdeCbc 
PbeSha1Rc2128Cbc 
PbeSha1Rc240Cbc 
Pkcs5Pbkd2 
PbaSha1WithSha1Hmac 
WtlsPreMasterKeyGen 
WtlsMasterKeyDerive 
WtlsMasterKeyDeriveDhEcc 
WtlsPrf 
WtlsServerKeyAndMacDerive 
WtlsClientKeyAndMacDerive 
Tls10MacServer 
Tls10MacClient 
Tls12Mac 
Tls12Kdf 
Tls12MasterKeyDerive 
Tls12KeyAndMacDerive 
Tls12MasterKeyDeriveDh 
Tls12KeySafeDerive 
TlsMac 
TlsKdf 
KeyWrapLynks 
KeyWrapSetOaep 
CmsSig 
KipDerive 
KipWrap 
KipMac 
CamelliaKeyGen 
CamelliaEcb 
CamelliaCbc 
CamelliaMac 
CamelliaMacGeneral 
CamelliaCbcPad 
CamelliaEcbEncryptData 
CamelliaCbcEncryptData 
CamelliaCtr 
AriaKeyGen 
AriaEcb 
AriaCbc 
AriaMac 
AriaMacGeneral 
AriaCbcPad 
AriaEcbEncryptData 
AriaCbcEncryptData 
SeedKeyGen 
SeedEcb 
SeedCbc 
SeedMac 
SeedMacGeneral 
SeedCbcPad 
SeedEcbEncryptData 
SeedCbcEncryptData 
SkipjackKeyGen 
SkipjackEcb64 
SkipjackCbc64 
SkipjackOfb64 
SkipjackCfb64 
SkipjackCfb32 
SkipjackCfb16 
SkipjackCfb8 
SkipjackWrap 
SkipjackPrivateWrap 
SkipjackRelayx 
KeaKeyPairGen 
KeaKeyDerive 
KeaDerive 
FortezzaTimestamp 
BatonKeyGen 
BatonEcb128 
BatonEcb96 
BatonCbc128 
BatonCounter 
BatonShuffle 
BatonWrap 
EcdsaKeyPairGen 
EcKeyPairGen 
Ecdsa 
EcdsaSha1 
EcdsaSha224 
EcdsaSha256 
EcdsaSha384 
EcdsaSha512 
Ecdh1Derive 
Ecdh1CofactorDerive 
EcmqvDerive 
EcdhAesKeyWrap 
RsaAesKeyWrap 
JuniperKeyGen 
JuniperEcb128 
JuniperCbc128 
JuniperCounter 
JuniperShuffle 
JuniperWrap 
Fasthash 
AesKeyGen 
AesEcb 
AesCbc 
AesMac 
AesMacGeneral 
AesCbcPad 
AesCtr 
AesGcm 
AesCcm 
AesCts 
AesCmac 
AesCmacGeneral 
AesXcbcMac 
AesXcbcMac96 
AesGmac 
BlowfishKeyGen 
BlowfishCbc 
TwofishKeyGen 
TwofishCbc 
BlowfishCbcPad 
TwofishCbcPad 
DesEcbEncryptData 
DesCbcEncryptData 
Des3EcbEncryptData 
Des3CbcEncryptData 
AesEcbEncryptData 
AesCbcEncryptData 
Gostr3410KeyPairGen 
Gostr3410 
Gostr3410WithGostr3411 
Gostr3410KeyWrap 
Gostr3410Derive 
Gostr3411 
Gostr3411Hmac 
Gost28147KeyGen 
Gost28147Ecb 
Gost28147 
Gost28147Mac 
Gost28147KeyWrap 
DsaParameterGen 
DhPkcsParameterGen 
X942DhParameterGen 
DsaProbablisticParameterGen 
DsaShaweTaylorParameterGen 
AesOfb 
AesCfb64 
AesCfb8 
AesCfb128 
AesCfb1 
AesKeyWrap 
AesKeyWrapPad 
RsaPkcsTpm11 
RsaPkcsOaepTpm11 
VendorDefined 

Definition at line 337 of file p11.h.

338 {
355 Dsa = CKM_DSA,
394 Rc4 = CKM_RC4,
420 Md2 = CKM_MD2,
423 Md5 = CKM_MD5,
426 Sha1 = CKM_SHA_1,
450 Hotp = CKM_HOTP,
451 Acti = CKM_ACTI,
672 };
#define CKM_SEED_KEY_GEN
Definition: pkcs11t.h:856
#define CKM_TLS_MASTER_KEY_DERIVE
Definition: pkcs11t.h:775
#define CKM_DSA_PARAMETER_GEN
Definition: pkcs11t.h:957
#define CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE
Definition: pkcs11t.h:816
#define CKM_CONCATENATE_BASE_AND_DATA
Definition: pkcs11t.h:765
#define CKM_PKCS5_PBKD2
Definition: pkcs11t.h:807
#define CKM_AES_GMAC
Definition: pkcs11t.h:928
#define CKM_KIP_DERIVE
Definition: pkcs11t.h:833
#define CKM_SSL3_SHA1_MAC
Definition: pkcs11t.h:782
#define CKM_SSL3_MASTER_KEY_DERIVE
Definition: pkcs11t.h:770
#define CKM_RSA_PKCS
Definition: pkcs11t.h:587
#define CKM_ECDSA_SHA1
Definition: pkcs11t.h:892
#define CKM_IDEA_ECB
Definition: pkcs11t.h:758
#define CKM_GOSTR3411_HMAC
Definition: pkcs11t.h:950
#define CKM_WTLS_PRE_MASTER_KEY_GEN
Definition: pkcs11t.h:811
#define CKM_DES3_CMAC
Definition: pkcs11t.h:672
#define CKM_RC2_MAC
Definition: pkcs11t.h:648
#define CKM_SHA256_KEY_DERIVATION
Definition: pkcs11t.h:787
#define CKM_CAST5_MAC_GENERAL
Definition: pkcs11t.h:747
#define CKM_RSA_X_509
Definition: pkcs11t.h:589
#define CKM_SEED_MAC_GENERAL
Definition: pkcs11t.h:860
#define CKM_ARIA_KEY_GEN
Definition: pkcs11t.h:847
#define CKM_DSA_PROBABLISTIC_PARAMETER_GEN
Definition: pkcs11t.h:960
#define CKM_AES_CTR
Definition: pkcs11t.h:919
#define CKM_TLS12_MAC
Definition: pkcs11t.h:820
#define CKM_DES3_CBC
Definition: pkcs11t.h:666
#define CKM_TWOFISH_CBC_PAD
Definition: pkcs11t.h:935
#define CKM_AES_CMAC
Definition: pkcs11t.h:923
#define CKM_SKIPJACK_CFB8
Definition: pkcs11t.h:872
#define CKM_RSA_X9_31_KEY_PAIR_GEN
Definition: pkcs11t.h:599
#define CKM_CONCATENATE_BASE_AND_KEY
Definition: pkcs11t.h:764
#define CKM_SHA512_256
Definition: pkcs11t.h:635
#define CKM_SEED_ECB_ENCRYPT_DATA
Definition: pkcs11t.h:862
#define CKM_FORTEZZA_TIMESTAMP
Definition: pkcs11t.h:879
#define CKM_MD5
Definition: pkcs11t.h:690
#define CKM_SHA512_HMAC_GENERAL
Definition: pkcs11t.h:718
#define CKM_CAST3_ECB
Definition: pkcs11t.h:733
#define CKM_SKIPJACK_CFB64
Definition: pkcs11t.h:869
#define CKM_DES_CBC_ENCRYPT_DATA
Definition: pkcs11t.h:938
#define CKM_SHA_1_HMAC
Definition: pkcs11t.h:697
#define CKM_CAMELLIA_MAC
Definition: pkcs11t.h:840
#define CKM_IDEA_KEY_GEN
Definition: pkcs11t.h:757
#define CKM_ECDH1_COFACTOR_DERIVE
Definition: pkcs11t.h:899
#define CKM_ARIA_CBC_ENCRYPT_DATA
Definition: pkcs11t.h:854
#define CKM_CAMELLIA_KEY_GEN
Definition: pkcs11t.h:837
#define CKM_ECDSA_SHA224
Definition: pkcs11t.h:893
#define CKM_BATON_KEY_GEN
Definition: pkcs11t.h:880
#define CKM_MD2
Definition: pkcs11t.h:685
#define CKM_BATON_CBC128
Definition: pkcs11t.h:883
#define CKM_DSA
Definition: pkcs11t.h:606
#define CKM_AES_CFB8
Definition: pkcs11t.h:965
#define CKM_CMS_SIG
Definition: pkcs11t.h:832
#define CKM_RIPEMD128
Definition: pkcs11t.h:700
#define CKM_AES_CBC_PAD
Definition: pkcs11t.h:918
#define CKM_CAST3_CBC
Definition: pkcs11t.h:734
#define CKM_ECDH1_DERIVE
Definition: pkcs11t.h:898
#define CKM_VENDOR_DEFINED
Definition: pkcs11t.h:975
#define CKM_TWOFISH_KEY_GEN
Definition: pkcs11t.h:932
#define CKM_SHA512_224_HMAC_GENERAL
Definition: pkcs11t.h:633
#define CKM_SKIPJACK_RELAYX
Definition: pkcs11t.h:875
#define CKM_SHA512_224_HMAC
Definition: pkcs11t.h:632
#define CKM_MD5_HMAC_GENERAL
Definition: pkcs11t.h:693
#define CKM_MD2_RSA_PKCS
Definition: pkcs11t.h:591
#define CKM_SHA_1_HMAC_GENERAL
Definition: pkcs11t.h:698
#define CKM_TLS10_MAC_CLIENT
Definition: pkcs11t.h:819
#define CKM_JUNIPER_ECB128
Definition: pkcs11t.h:906
#define CKM_SKIPJACK_CBC64
Definition: pkcs11t.h:867
#define CKM_DES_ECB
Definition: pkcs11t.h:656
#define CKM_CAST_CBC
Definition: pkcs11t.h:728
#define CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE
Definition: pkcs11t.h:815
#define CKM_PBE_SHA1_DES2_EDE_CBC
Definition: pkcs11t.h:803
#define CKM_X9_42_DH_KEY_PAIR_GEN
Definition: pkcs11t.h:616
#define CKM_RC5_MAC
Definition: pkcs11t.h:754
#define CKM_RSA_PKCS_KEY_PAIR_GEN
Definition: pkcs11t.h:586
#define CKM_RC2_CBC
Definition: pkcs11t.h:647
#define CKM_PBE_MD5_CAST5_CBC
Definition: pkcs11t.h:796
#define CKM_KEA_KEY_DERIVE
Definition: pkcs11t.h:877
#define CKM_JUNIPER_KEY_GEN
Definition: pkcs11t.h:905
#define CKM_RC5_CBC
Definition: pkcs11t.h:753
#define CKM_ARIA_CBC_PAD
Definition: pkcs11t.h:852
#define CKM_SHA512_KEY_DERIVATION
Definition: pkcs11t.h:789
#define CKM_TLS_KDF
Definition: pkcs11t.h:827
#define CKM_AES_MAC_GENERAL
Definition: pkcs11t.h:917
#define CKM_CAST128_CBC_PAD
Definition: pkcs11t.h:750
#define CKM_BATON_ECB128
Definition: pkcs11t.h:881
#define CKM_BLOWFISH_CBC
Definition: pkcs11t.h:931
#define CKM_FASTHASH
Definition: pkcs11t.h:911
#define CKM_ARIA_ECB
Definition: pkcs11t.h:848
#define CKM_DES_CBC
Definition: pkcs11t.h:657
#define CKM_CAST5_MAC
Definition: pkcs11t.h:745
#define CKM_SHA384_HMAC_GENERAL
Definition: pkcs11t.h:715
#define CKM_SECURID_KEY_GEN
Definition: pkcs11t.h:719
#define CKM_IDEA_MAC_GENERAL
Definition: pkcs11t.h:761
#define CKM_TLS_KEY_AND_MAC_DERIVE
Definition: pkcs11t.h:776
#define CKM_GOST28147_ECB
Definition: pkcs11t.h:952
#define CKM_SECURID
Definition: pkcs11t.h:720
#define CKM_AES_CCM
Definition: pkcs11t.h:921
#define CKM_SHA512_224_KEY_DERIVATION
Definition: pkcs11t.h:634
#define CKM_SHA256
Definition: pkcs11t.h:707
#define CKM_IDEA_CBC_PAD
Definition: pkcs11t.h:762
#define CKM_SHA512_T_HMAC_GENERAL
Definition: pkcs11t.h:642
#define CKM_CDMF_CBC_PAD
Definition: pkcs11t.h:678
#define CKM_AES_CFB64
Definition: pkcs11t.h:964
#define CKM_TLS_MASTER_KEY_DERIVE_DH
Definition: pkcs11t.h:777
#define CKM_DES_KEY_GEN
Definition: pkcs11t.h:655
#define CKM_CAST3_MAC_GENERAL
Definition: pkcs11t.h:736
#define CKM_CAST5_CBC_PAD
Definition: pkcs11t.h:749
#define CKM_PBE_SHA1_RC2_128_CBC
Definition: pkcs11t.h:804
#define CKM_DSA_SHA512
Definition: pkcs11t.h:611
#define CKM_SSL3_PRE_MASTER_KEY_GEN
Definition: pkcs11t.h:769
#define CKM_SSL3_MASTER_KEY_DERIVE_DH
Definition: pkcs11t.h:773
#define CKM_IDEA_MAC
Definition: pkcs11t.h:760
#define CKM_MD5_RSA_PKCS
Definition: pkcs11t.h:592
#define CKM_DSA_SHA384
Definition: pkcs11t.h:610
#define CKM_RIPEMD128_HMAC_GENERAL
Definition: pkcs11t.h:702
#define CKM_PBA_SHA1_WITH_SHA1_HMAC
Definition: pkcs11t.h:809
#define CKM_DES_CBC_PAD
Definition: pkcs11t.h:661
#define CKM_SHA512_T
Definition: pkcs11t.h:640
#define CKM_DES3_CBC_PAD
Definition: pkcs11t.h:670
#define CKM_SHA512_T_KEY_DERIVATION
Definition: pkcs11t.h:643
#define CKM_KEA_DERIVE
Definition: pkcs11t.h:878
#define CKM_DH_PKCS_DERIVE
Definition: pkcs11t.h:614
#define CKM_CAMELLIA_MAC_GENERAL
Definition: pkcs11t.h:841
#define CKM_MD2_HMAC_GENERAL
Definition: pkcs11t.h:688
#define CKM_SEED_CBC_ENCRYPT_DATA
Definition: pkcs11t.h:863
#define CKM_DES3_CMAC_GENERAL
Definition: pkcs11t.h:671
#define CKM_CAST128_MAC_GENERAL
Definition: pkcs11t.h:748
#define CKM_ARIA_CBC
Definition: pkcs11t.h:849
#define CKM_CAMELLIA_CTR
Definition: pkcs11t.h:845
#define CKM_PBE_SHA1_RC4_40
Definition: pkcs11t.h:801
#define CKM_PBE_SHA1_CAST5_CBC
Definition: pkcs11t.h:798
#define CKM_TLS10_MAC_SERVER
Definition: pkcs11t.h:818
#define CKM_X9_42_DH_DERIVE
Definition: pkcs11t.h:617
#define CKM_AES_KEY_WRAP
Definition: pkcs11t.h:969
#define CKM_SKIPJACK_PRIVATE_WRAP
Definition: pkcs11t.h:874
#define CKM_KEY_WRAP_LYNKS
Definition: pkcs11t.h:829
#define CKM_SHA512_RSA_PKCS_PSS
Definition: pkcs11t.h:626
#define CKM_CAST5_KEY_GEN
Definition: pkcs11t.h:739
#define CKM_CAMELLIA_CBC
Definition: pkcs11t.h:839
#define CKM_ECDSA_SHA512
Definition: pkcs11t.h:896
#define CKM_RSA_PKCS_OAEP
Definition: pkcs11t.h:597
#define CKM_DES_OFB64
Definition: pkcs11t.h:680
#define CKM_PBE_SHA1_RC4_128
Definition: pkcs11t.h:800
#define CKM_CDMF_MAC
Definition: pkcs11t.h:676
#define CKM_RSA_PKCS_OAEP_TPM_1_1
Definition: pkcs11t.h:973
#define CKM_SHA512_RSA_PKCS
Definition: pkcs11t.h:623
#define CKM_DES3_MAC_GENERAL
Definition: pkcs11t.h:669
#define CKM_CAST_CBC_PAD
Definition: pkcs11t.h:731
#define CKM_SHA224_HMAC
Definition: pkcs11t.h:711
#define CKM_CAST5_CBC
Definition: pkcs11t.h:743
#define CKM_SSL3_MD5_MAC
Definition: pkcs11t.h:781
#define CKM_EXTRACT_KEY_FROM_KEY
Definition: pkcs11t.h:768
#define CKM_SKIPJACK_CFB32
Definition: pkcs11t.h:870
#define CKM_ECMQV_DERIVE
Definition: pkcs11t.h:900
#define CKM_AES_KEY_GEN
Definition: pkcs11t.h:913
#define CKM_CAST_MAC_GENERAL
Definition: pkcs11t.h:730
#define CKM_IDEA_CBC
Definition: pkcs11t.h:759
#define CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC
Definition: pkcs11t.h:813
#define CKM_DSA_KEY_PAIR_GEN
Definition: pkcs11t.h:605
#define CKM_RC4_KEY_GEN
Definition: pkcs11t.h:653
#define CKM_ACTI_KEY_GEN
Definition: pkcs11t.h:724
#define CKM_SHA224
Definition: pkcs11t.h:710
#define CKM_SHA1_RSA_X9_31
Definition: pkcs11t.h:601
#define CKM_AES_CBC_ENCRYPT_DATA
Definition: pkcs11t.h:942
#define CKM_GOSTR3410
Definition: pkcs11t.h:945
#define CKM_CAMELLIA_CBC_PAD
Definition: pkcs11t.h:842
#define CKM_CAMELLIA_ECB_ENCRYPT_DATA
Definition: pkcs11t.h:843
#define CKM_SKIPJACK_CFB16
Definition: pkcs11t.h:871
#define CKM_WTLS_MASTER_KEY_DERIVE
Definition: pkcs11t.h:812
#define CKM_SKIPJACK_KEY_GEN
Definition: pkcs11t.h:865
#define CKM_GOST28147_KEY_WRAP
Definition: pkcs11t.h:955
#define CKM_SHA224_RSA_PKCS_PSS
Definition: pkcs11t.h:629
#define CKM_MD5_KEY_DERIVATION
Definition: pkcs11t.h:783
#define CKM_BATON_ECB96
Definition: pkcs11t.h:882
#define CKM_CAST3_MAC
Definition: pkcs11t.h:735
#define CKM_CDMF_KEY_GEN
Definition: pkcs11t.h:673
#define CKM_SHA512_224
Definition: pkcs11t.h:631
#define CKM_KEA_KEY_PAIR_GEN
Definition: pkcs11t.h:876
#define CKM_SHA256_HMAC
Definition: pkcs11t.h:708
#define CKM_X9_42_MQV_DERIVE
Definition: pkcs11t.h:619
#define CKM_GOST28147
Definition: pkcs11t.h:953
#define CKM_CDMF_ECB
Definition: pkcs11t.h:674
#define CKM_TLS12_MASTER_KEY_DERIVE
Definition: pkcs11t.h:822
#define CKM_BATON_SHUFFLE
Definition: pkcs11t.h:885
#define CKM_SHA512_256_HMAC_GENERAL
Definition: pkcs11t.h:637
#define CKM_RC5_MAC_GENERAL
Definition: pkcs11t.h:755
#define CKM_RC2_CBC_PAD
Definition: pkcs11t.h:651
#define CKM_SEED_CBC_PAD
Definition: pkcs11t.h:861
#define CKM_GENERIC_SECRET_KEY_GEN
Definition: pkcs11t.h:763
#define CKM_DH_PKCS_KEY_PAIR_GEN
Definition: pkcs11t.h:613
#define CKM_DES3_ECB_ENCRYPT_DATA
Definition: pkcs11t.h:939
#define CKM_CDMF_MAC_GENERAL
Definition: pkcs11t.h:677
#define CKM_SHA384
Definition: pkcs11t.h:713
#define CKM_TLS_PRE_MASTER_KEY_GEN
Definition: pkcs11t.h:774
#define CKM_EC_KEY_PAIR_GEN
Definition: pkcs11t.h:889
#define CKM_RC5_KEY_GEN
Definition: pkcs11t.h:751
#define CKM_AES_GCM
Definition: pkcs11t.h:920
#define CKM_DH_PKCS_PARAMETER_GEN
Definition: pkcs11t.h:958
#define CKM_PBE_MD5_CAST128_CBC
Definition: pkcs11t.h:797
#define CKM_SHA384_HMAC
Definition: pkcs11t.h:714
#define CKM_CDMF_CBC
Definition: pkcs11t.h:675
#define CKM_RC5_CBC_PAD
Definition: pkcs11t.h:756
#define CKM_SHA1_RSA_PKCS
Definition: pkcs11t.h:593
#define CKM_SHA512
Definition: pkcs11t.h:716
#define CKM_MD2_KEY_DERIVATION
Definition: pkcs11t.h:784
#define CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN
Definition: pkcs11t.h:961
#define CKM_ARIA_MAC_GENERAL
Definition: pkcs11t.h:851
#define CKM_CAMELLIA_CBC_ENCRYPT_DATA
Definition: pkcs11t.h:844
#define CKM_AES_CFB128
Definition: pkcs11t.h:966
#define CKM_AES_CMAC_GENERAL
Definition: pkcs11t.h:924
#define CKM_PBE_MD5_CAST_CBC
Definition: pkcs11t.h:794
#define CKM_SHA1_KEY_DERIVATION
Definition: pkcs11t.h:785
#define CKM_RIPEMD160
Definition: pkcs11t.h:703
#define CKM_RSA_9796
Definition: pkcs11t.h:588
#define CKM_JUNIPER_WRAP
Definition: pkcs11t.h:910
#define CKM_CAST_ECB
Definition: pkcs11t.h:727
#define CKM_BATON_COUNTER
Definition: pkcs11t.h:884
#define CKM_CAST3_KEY_GEN
Definition: pkcs11t.h:732
#define CKM_TLS_PRF
Definition: pkcs11t.h:779
#define CKM_JUNIPER_CBC128
Definition: pkcs11t.h:907
#define CKM_SHA224_RSA_PKCS
Definition: pkcs11t.h:628
#define CKM_PBE_SHA1_DES3_EDE_CBC
Definition: pkcs11t.h:802
#define CKM_RIPEMD160_RSA_PKCS
Definition: pkcs11t.h:596
#define CKM_AES_CTS
Definition: pkcs11t.h:922
#define CKM_X9_42_DH_PARAMETER_GEN
Definition: pkcs11t.h:959
#define CKM_JUNIPER_COUNTER
Definition: pkcs11t.h:908
#define CKM_SHA512_256_HMAC
Definition: pkcs11t.h:636
#define CKM_KIP_WRAP
Definition: pkcs11t.h:834
#define CKM_TLS12_KEY_SAFE_DERIVE
Definition: pkcs11t.h:825
#define CKM_PBE_SHA1_CAST128_CBC
Definition: pkcs11t.h:799
#define CKM_TLS12_KDF
Definition: pkcs11t.h:821
#define CKM_AES_KEY_WRAP_PAD
Definition: pkcs11t.h:970
#define CKM_CONCATENATE_DATA_AND_BASE
Definition: pkcs11t.h:766
#define CKM_GOSTR3410_KEY_WRAP
Definition: pkcs11t.h:947
#define CKM_XOR_BASE_AND_DATA
Definition: pkcs11t.h:767
#define CKM_ECDSA
Definition: pkcs11t.h:891
#define CKM_ECDSA_SHA384
Definition: pkcs11t.h:895
#define CKM_RSA_X9_31
Definition: pkcs11t.h:600
#define CKM_GOST28147_KEY_GEN
Definition: pkcs11t.h:951
#define CKM_GOSTR3411
Definition: pkcs11t.h:949
#define CKM_PBE_MD2_DES_CBC
Definition: pkcs11t.h:792
#define CKM_DES_OFB8
Definition: pkcs11t.h:681
#define CKM_RIPEMD160_HMAC
Definition: pkcs11t.h:704
#define CKM_HOTP
Definition: pkcs11t.h:722
#define CKM_KEY_WRAP_SET_OAEP
Definition: pkcs11t.h:830
#define CKM_KIP_MAC
Definition: pkcs11t.h:835
#define CKM_CAST3_CBC_PAD
Definition: pkcs11t.h:737
#define CKM_DSA_SHA224
Definition: pkcs11t.h:608
#define CKM_TLS_MAC
Definition: pkcs11t.h:826
#define CKM_CAST5_ECB
Definition: pkcs11t.h:741
#define CKM_DES_CFB64
Definition: pkcs11t.h:682
#define CKM_AES_CFB1
Definition: pkcs11t.h:968
#define CKM_DES_ECB_ENCRYPT_DATA
Definition: pkcs11t.h:937
#define CKM_PBE_SHA1_RC2_40_CBC
Definition: pkcs11t.h:805
#define CKM_GOSTR3410_DERIVE
Definition: pkcs11t.h:948
#define CKM_SHA256_HMAC_GENERAL
Definition: pkcs11t.h:709
#define CKM_AES_ECB_ENCRYPT_DATA
Definition: pkcs11t.h:941
#define CKM_RIPEMD128_RSA_PKCS
Definition: pkcs11t.h:595
#define CKM_ECDSA_SHA256
Definition: pkcs11t.h:894
#define CKM_BATON_WRAP
Definition: pkcs11t.h:886
#define CKM_AES_OFB
Definition: pkcs11t.h:963
#define CKM_HOTP_KEY_GEN
Definition: pkcs11t.h:721
#define CKM_TWOFISH_CBC
Definition: pkcs11t.h:933
#define CKM_RIPEMD128_HMAC
Definition: pkcs11t.h:701
#define CKM_ACTI
Definition: pkcs11t.h:723
#define CKM_CAST_KEY_GEN
Definition: pkcs11t.h:726
#define CKM_DES3_KEY_GEN
Definition: pkcs11t.h:664
#define CKM_DES3_CBC_ENCRYPT_DATA
Definition: pkcs11t.h:940
#define CKM_CAST128_MAC
Definition: pkcs11t.h:746
#define CKM_MD5_HMAC
Definition: pkcs11t.h:692
#define CKM_DES3_ECB
Definition: pkcs11t.h:665
#define CKM_AES_CBC
Definition: pkcs11t.h:915
#define CKM_SEED_MAC
Definition: pkcs11t.h:859
#define CKM_AES_MAC
Definition: pkcs11t.h:916
#define CKM_SHA256_RSA_PKCS_PSS
Definition: pkcs11t.h:624
#define CKM_SKIPJACK_WRAP
Definition: pkcs11t.h:873
#define CKM_SKIPJACK_ECB64
Definition: pkcs11t.h:866
#define CKM_SHA384_KEY_DERIVATION
Definition: pkcs11t.h:788
#define CKM_RSA_PKCS_PSS
Definition: pkcs11t.h:602
#define CKM_SKIPJACK_OFB64
Definition: pkcs11t.h:868
#define CKM_GOSTR3410_WITH_GOSTR3411
Definition: pkcs11t.h:946
#define CKM_SHA1_RSA_PKCS_PSS
Definition: pkcs11t.h:603
#define CKM_DES2_KEY_GEN
Definition: pkcs11t.h:663
#define CKM_GOSTR3410_KEY_PAIR_GEN
Definition: pkcs11t.h:944
#define CKM_SHA512_256_KEY_DERIVATION
Definition: pkcs11t.h:638
#define CKM_SHA384_RSA_PKCS
Definition: pkcs11t.h:622
#define CKM_ARIA_MAC
Definition: pkcs11t.h:850
#define CKM_SHA224_KEY_DERIVATION
Definition: pkcs11t.h:790
#define CKM_JUNIPER_SHUFFLE
Definition: pkcs11t.h:909
#define CKM_SEED_ECB
Definition: pkcs11t.h:857
#define CKM_CAMELLIA_ECB
Definition: pkcs11t.h:838
#define CKM_ECDH_AES_KEY_WRAP
Definition: pkcs11t.h:902
#define CKM_PBE_MD5_CAST3_CBC
Definition: pkcs11t.h:795
#define CKM_RC4
Definition: pkcs11t.h:654
#define CKM_RSA_AES_KEY_WRAP
Definition: pkcs11t.h:903
#define CKM_PBE_MD5_DES_CBC
Definition: pkcs11t.h:793
#define CKM_SHA512_T_HMAC
Definition: pkcs11t.h:641
#define CKM_SHA512_HMAC
Definition: pkcs11t.h:717
#define CKM_RIPEMD160_HMAC_GENERAL
Definition: pkcs11t.h:705
#define CKM_SHA256_RSA_PKCS
Definition: pkcs11t.h:621
#define CKM_CAST_MAC
Definition: pkcs11t.h:729
#define CKM_RC2_MAC_GENERAL
Definition: pkcs11t.h:650
#define CKM_RC2_KEY_GEN
Definition: pkcs11t.h:645
#define CKM_CAST128_KEY_GEN
Definition: pkcs11t.h:740
#define CKM_AES_XCBC_MAC
Definition: pkcs11t.h:926
#define CKM_SHA384_RSA_PKCS_PSS
Definition: pkcs11t.h:625
#define CKM_RSA_PKCS_TPM_1_1
Definition: pkcs11t.h:972
#define CKM_SSL3_KEY_AND_MAC_DERIVE
Definition: pkcs11t.h:771
#define CKM_DES_MAC_GENERAL
Definition: pkcs11t.h:660
#define CKM_CAST128_CBC
Definition: pkcs11t.h:744
#define CKM_AES_ECB
Definition: pkcs11t.h:914
#define CKM_ARIA_ECB_ENCRYPT_DATA
Definition: pkcs11t.h:853
#define CKM_X9_42_DH_HYBRID_DERIVE
Definition: pkcs11t.h:618
#define CKM_BLOWFISH_KEY_GEN
Definition: pkcs11t.h:930
#define CKM_GOST28147_MAC
Definition: pkcs11t.h:954
#define CKM_CAST128_ECB
Definition: pkcs11t.h:742
#define CKM_SEED_CBC
Definition: pkcs11t.h:858
#define CKM_DSA_SHA256
Definition: pkcs11t.h:609
#define CKM_DES_CFB8
Definition: pkcs11t.h:683
#define CKM_BLOWFISH_CBC_PAD
Definition: pkcs11t.h:934
#define CKM_SHA_1
Definition: pkcs11t.h:695
#define CKM_DSA_SHA1
Definition: pkcs11t.h:607
#define CKM_AES_XCBC_MAC_96
Definition: pkcs11t.h:927
#define CKM_ECDSA_KEY_PAIR_GEN
Definition: pkcs11t.h:888
#define CKM_WTLS_PRF
Definition: pkcs11t.h:814
#define CKM_DES_MAC
Definition: pkcs11t.h:658
#define CKM_RC2_ECB
Definition: pkcs11t.h:646
#define CKM_TLS12_KEY_AND_MAC_DERIVE
Definition: pkcs11t.h:823
#define CKM_MD2_HMAC
Definition: pkcs11t.h:687
#define CKM_TLS12_MASTER_KEY_DERIVE_DH
Definition: pkcs11t.h:824
#define CKM_RC5_ECB
Definition: pkcs11t.h:752
#define CKM_SHA224_HMAC_GENERAL
Definition: pkcs11t.h:712
#define CKM_DES3_MAC
Definition: pkcs11t.h:667

◆ MGF

Enumerator
Mgf1Sha1 
Mgf1Sha256 
Mgf1Sha384 
Mgf1Sha512 
Mgf1Sha224 

Definition at line 272 of file p11.h.

273 {
279 };
#define CKG_MGF1_SHA256
Definition: pkcs11t.h:1247
#define CKG_MGF1_SHA512
Definition: pkcs11t.h:1249
#define CKG_MGF1_SHA224
Definition: pkcs11t.h:1250
#define CKG_MGF1_SHA384
Definition: pkcs11t.h:1248
#define CKG_MGF1_SHA1
Definition: pkcs11t.h:1246

◆ Notification

Enumerator
Surrender 
OtpChanged 

Definition at line 674 of file p11.h.

675 {
678 };
#define CKN_SURRENDER
Definition: pkcs11t.h:101
#define CKN_OTP_CHANGED
Definition: pkcs11t.h:102

◆ ObjectClass

Enumerator
Data 
Certificate 
PublicKey 
PrivateKey 
SecretKey 
HwFeature 
DomainParameters 
Mechanism 
OtpKey 
VendorDefined 

Definition at line 680 of file p11.h.

681 {
682 Data = CKO_DATA,
692 };
#define CKO_PUBLIC_KEY
Definition: pkcs11t.h:312
#define CKO_SECRET_KEY
Definition: pkcs11t.h:314
#define CKO_CERTIFICATE
Definition: pkcs11t.h:311
#define CKO_OTP_KEY
Definition: pkcs11t.h:318
#define CKO_DATA
Definition: pkcs11t.h:310
#define CKO_PRIVATE_KEY
Definition: pkcs11t.h:313
#define CKO_MECHANISM
Definition: pkcs11t.h:317
#define CKO_HW_FEATURE
Definition: pkcs11t.h:315
#define CKO_VENDOR_DEFINED
Definition: pkcs11t.h:320
#define CKO_DOMAIN_PARAMETERS
Definition: pkcs11t.h:316

◆ PseudoRandom

Enumerator
Pkcs5Pbkd2HmacSha1 
Pkcs5Pbkd2HmacGostr3411 
Pkcs5Pbkd2HmacSha224 
Pkcs5Pbkd2HmacSha256 
Pkcs5Pbkd2HmacSha384 
Pkcs5Pbkd2HmacSha512 
Pkcs5Pbkd2HmacSha512224 
Pkcs5Pbkd2HmacSha512256 

Definition at line 694 of file p11.h.

695 {
704 };
#define CKP_PKCS5_PBKD2_HMAC_SHA512_256
Definition: pkcs11t.h:1726
#define CKP_PKCS5_PBKD2_HMAC_SHA224
Definition: pkcs11t.h:1721
#define CKP_PKCS5_PBKD2_HMAC_SHA384
Definition: pkcs11t.h:1723
#define CKP_PKCS5_PBKD2_HMAC_GOSTR3411
Definition: pkcs11t.h:1720
#define CKP_PKCS5_PBKD2_HMAC_SHA512
Definition: pkcs11t.h:1724
#define CKP_PKCS5_PBKD2_HMAC_SHA1
Definition: pkcs11t.h:1719
#define CKP_PKCS5_PBKD2_HMAC_SHA512_224
Definition: pkcs11t.h:1725
#define CKP_PKCS5_PBKD2_HMAC_SHA256
Definition: pkcs11t.h:1722

◆ PublicPointEncoding

enum class Botan::PKCS11::PublicPointEncoding : uint32_t
strong
Enumerator
Raw 
Der 

Definition at line 821 of file p11.h.

◆ ReturnValue

enum class Botan::PKCS11::ReturnValue : CK_RV
strong
Enumerator
OK 
Cancel 
HostMemory 
SlotIdInvalid 
GeneralError 
FunctionFailed 
ArgumentsBad 
NoEvent 
NeedToCreateThreads 
CantLock 
AttributeReadOnly 
AttributeSensitive 
AttributeTypeInvalid 
AttributeValueInvalid 
ActionProhibited 
DataInvalid 
DataLenRange 
DeviceError 
DeviceMemory 
DeviceRemoved 
EncryptedDataInvalid 
EncryptedDataLenRange 
FunctionCanceled 
FunctionNotParallel 
FunctionNotSupported 
KeyHandleInvalid 
KeySizeRange 
KeyTypeInconsistent 
KeyNotNeeded 
KeyChanged 
KeyNeeded 
KeyIndigestible 
KeyFunctionNotPermitted 
KeyNotWrappable 
KeyUnextractable 
MechanismInvalid 
MechanismParamInvalid 
ObjectHandleInvalid 
OperationActive 
OperationNotInitialized 
PinIncorrect 
PinInvalid 
PinLenRange 
PinExpired 
PinLocked 
SessionClosed 
SessionCount 
SessionHandleInvalid 
SessionParallelNotSupported 
SessionReadOnly 
SessionExists 
SessionReadOnlyExists 
SessionReadWriteSoExists 
SignatureInvalid 
SignatureLenRange 
TemplateIncomplete 
TemplateInconsistent 
TokenNotPresent 
TokenNotRecognized 
TokenWriteProtected 
UnwrappingKeyHandleInvalid 
UnwrappingKeySizeRange 
UnwrappingKeyTypeInconsistent 
UserAlreadyLoggedIn 
UserNotLoggedIn 
UserPinNotInitialized 
UserTypeInvalid 
UserAnotherAlreadyLoggedIn 
UserTooManyTypes 
WrappedKeyInvalid 
WrappedKeyLenRange 
WrappingKeyHandleInvalid 
WrappingKeySizeRange 
WrappingKeyTypeInconsistent 
RandomSeedNotSupported 
RandomNoRng 
DomainParamsInvalid 
CurveNotSupported 
BufferTooSmall 
SavedStateInvalid 
InformationSensitive 
StateUnsaveable 
CryptokiNotInitialized 
CryptokiAlreadyInitialized 
MutexBad 
MutexNotLocked 
NewPinMode 
NextOtp 
ExceededMaxIterations 
FipsSelfTestFailed 
LibraryLoadFailed 
PinTooWeak 
PublicKeyInvalid 
FunctionRejected 
VendorDefined 

Definition at line 715 of file p11.h.

716 {
717 OK = CKR_OK,
812 };
#define CKR_NEXT_OTP
Definition: pkcs11t.h:1148
#define CKR_SESSION_COUNT
Definition: pkcs11t.h:1097
#define CKR_DEVICE_MEMORY
Definition: pkcs11t.h:1061
#define CKR_GENERAL_ERROR
Definition: pkcs11t.h:1043
#define CKR_MECHANISM_INVALID
Definition: pkcs11t.h:1083
#define CKR_SLOT_ID_INVALID
Definition: pkcs11t.h:1041
#define CKR_KEY_CHANGED
Definition: pkcs11t.h:1076
#define CKR_ATTRIBUTE_TYPE_INVALID
Definition: pkcs11t.h:1053
#define CKR_FUNCTION_CANCELED
Definition: pkcs11t.h:1065
#define CKR_KEY_UNEXTRACTABLE
Definition: pkcs11t.h:1081
#define CKR_DATA_INVALID
Definition: pkcs11t.h:1058
#define CKR_UNWRAPPING_KEY_HANDLE_INVALID
Definition: pkcs11t.h:1113
#define CKR_NEED_TO_CREATE_THREADS
Definition: pkcs11t.h:1048
#define CKR_WRAPPING_KEY_SIZE_RANGE
Definition: pkcs11t.h:1127
#define CKR_MECHANISM_PARAM_INVALID
Definition: pkcs11t.h:1084
#define CKR_TOKEN_NOT_RECOGNIZED
Definition: pkcs11t.h:1111
#define CKR_ATTRIBUTE_SENSITIVE
Definition: pkcs11t.h:1052
#define CKR_RANDOM_NO_RNG
Definition: pkcs11t.h:1131
#define CKR_PIN_LEN_RANGE
Definition: pkcs11t.h:1091
#define CKR_DEVICE_ERROR
Definition: pkcs11t.h:1060
#define CKR_RANDOM_SEED_NOT_SUPPORTED
Definition: pkcs11t.h:1129
#define CKR_SESSION_PARALLEL_NOT_SUPPORTED
Definition: pkcs11t.h:1099
#define CKR_ATTRIBUTE_READ_ONLY
Definition: pkcs11t.h:1051
#define CKR_KEY_FUNCTION_NOT_PERMITTED
Definition: pkcs11t.h:1079
#define CKR_WRAPPING_KEY_TYPE_INCONSISTENT
Definition: pkcs11t.h:1128
#define CKR_SESSION_EXISTS
Definition: pkcs11t.h:1101
#define CKR_FUNCTION_REJECTED
Definition: pkcs11t.h:1156
#define CKR_SESSION_READ_ONLY
Definition: pkcs11t.h:1100
#define CKR_ENCRYPTED_DATA_LEN_RANGE
Definition: pkcs11t.h:1064
#define CKR_SIGNATURE_INVALID
Definition: pkcs11t.h:1106
#define CKR_SESSION_HANDLE_INVALID
Definition: pkcs11t.h:1098
#define CKR_USER_ANOTHER_ALREADY_LOGGED_IN
Definition: pkcs11t.h:1121
#define CKR_ARGUMENTS_BAD
Definition: pkcs11t.h:1046
#define CKR_CANCEL
Definition: pkcs11t.h:1039
#define CKR_PIN_TOO_WEAK
Definition: pkcs11t.h:1153
#define CKR_PIN_EXPIRED
Definition: pkcs11t.h:1093
#define CKR_PIN_LOCKED
Definition: pkcs11t.h:1094
#define CKR_LIBRARY_LOAD_FAILED
Definition: pkcs11t.h:1152
#define CKR_CANT_LOCK
Definition: pkcs11t.h:1049
#define CKR_TOKEN_NOT_PRESENT
Definition: pkcs11t.h:1110
#define CKR_CRYPTOKI_NOT_INITIALIZED
Definition: pkcs11t.h:1142
#define CKR_PIN_INCORRECT
Definition: pkcs11t.h:1089
#define CKR_WRAPPED_KEY_INVALID
Definition: pkcs11t.h:1124
#define CKR_WRAPPING_KEY_HANDLE_INVALID
Definition: pkcs11t.h:1126
#define CKR_MUTEX_NOT_LOCKED
Definition: pkcs11t.h:1145
#define CKR_USER_TOO_MANY_TYPES
Definition: pkcs11t.h:1122
#define CKR_SESSION_CLOSED
Definition: pkcs11t.h:1096
#define CKR_OBJECT_HANDLE_INVALID
Definition: pkcs11t.h:1086
#define CKR_PIN_INVALID
Definition: pkcs11t.h:1090
#define CKR_UNWRAPPING_KEY_SIZE_RANGE
Definition: pkcs11t.h:1114
#define CKR_ENCRYPTED_DATA_INVALID
Definition: pkcs11t.h:1063
#define CKR_CRYPTOKI_ALREADY_INITIALIZED
Definition: pkcs11t.h:1143
#define CKR_FUNCTION_FAILED
Definition: pkcs11t.h:1044
#define CKR_OPERATION_NOT_INITIALIZED
Definition: pkcs11t.h:1088
#define CKR_ACTION_PROHIBITED
Definition: pkcs11t.h:1056
#define CKR_SESSION_READ_ONLY_EXISTS
Definition: pkcs11t.h:1103
#define CKR_SESSION_READ_WRITE_SO_EXISTS
Definition: pkcs11t.h:1104
#define CKR_KEY_SIZE_RANGE
Definition: pkcs11t.h:1072
#define CKR_TEMPLATE_INCONSISTENT
Definition: pkcs11t.h:1109
#define CKR_OPERATION_ACTIVE
Definition: pkcs11t.h:1087
#define CKR_DATA_LEN_RANGE
Definition: pkcs11t.h:1059
#define CKR_BUFFER_TOO_SMALL
Definition: pkcs11t.h:1137
#define CKR_USER_PIN_NOT_INITIALIZED
Definition: pkcs11t.h:1118
#define CKR_USER_ALREADY_LOGGED_IN
Definition: pkcs11t.h:1116
#define CKR_STATE_UNSAVEABLE
Definition: pkcs11t.h:1140
#define CKR_INFORMATION_SENSITIVE
Definition: pkcs11t.h:1139
#define CKR_NEW_PIN_MODE
Definition: pkcs11t.h:1147
#define CKR_OK
Definition: pkcs11t.h:1038
#define CKR_ATTRIBUTE_VALUE_INVALID
Definition: pkcs11t.h:1054
#define CKR_FUNCTION_NOT_SUPPORTED
Definition: pkcs11t.h:1068
#define CKR_USER_NOT_LOGGED_IN
Definition: pkcs11t.h:1117
#define CKR_DEVICE_REMOVED
Definition: pkcs11t.h:1062
#define CKR_DOMAIN_PARAMS_INVALID
Definition: pkcs11t.h:1133
#define CKR_TOKEN_WRITE_PROTECTED
Definition: pkcs11t.h:1112
#define CKR_TEMPLATE_INCOMPLETE
Definition: pkcs11t.h:1108
#define CKR_KEY_NOT_NEEDED
Definition: pkcs11t.h:1075
#define CKR_NO_EVENT
Definition: pkcs11t.h:1047
#define CKR_VENDOR_DEFINED
Definition: pkcs11t.h:1158
#define CKR_HOST_MEMORY
Definition: pkcs11t.h:1040
#define CKR_FUNCTION_NOT_PARALLEL
Definition: pkcs11t.h:1066
#define CKR_SIGNATURE_LEN_RANGE
Definition: pkcs11t.h:1107
#define CKR_CURVE_NOT_SUPPORTED
Definition: pkcs11t.h:1135
#define CKR_FIPS_SELF_TEST_FAILED
Definition: pkcs11t.h:1151
#define CKR_USER_TYPE_INVALID
Definition: pkcs11t.h:1119
#define CKR_KEY_HANDLE_INVALID
Definition: pkcs11t.h:1070
#define CKR_MUTEX_BAD
Definition: pkcs11t.h:1144
#define CKR_SAVED_STATE_INVALID
Definition: pkcs11t.h:1138
#define CKR_WRAPPED_KEY_LEN_RANGE
Definition: pkcs11t.h:1125
#define CKR_EXCEEDED_MAX_ITERATIONS
Definition: pkcs11t.h:1150
#define CKR_KEY_INDIGESTIBLE
Definition: pkcs11t.h:1078
#define CKR_KEY_NEEDED
Definition: pkcs11t.h:1077
#define CKR_PUBLIC_KEY_INVALID
Definition: pkcs11t.h:1154
#define CKR_KEY_TYPE_INCONSISTENT
Definition: pkcs11t.h:1073
#define CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT
Definition: pkcs11t.h:1115
#define CKR_KEY_NOT_WRAPPABLE
Definition: pkcs11t.h:1080

◆ SessionState

Enumerator
RoPublicSession 
RoUserFunctions 
RwPublicSession 
RwUserFunctions 
RwSoFunctions 

Definition at line 706 of file p11.h.

◆ UserType

Enumerator
SO 
User 
ContextSpecific 

Definition at line 814 of file p11.h.

815 {
816 SO = CKU_SO,
817 User = CKU_USER,
819 };
#define CKU_USER
Definition: pkcs11t.h:266
#define CKU_SO
Definition: pkcs11t.h:264
#define CKU_CONTEXT_SPECIFIC
Definition: pkcs11t.h:268

Function Documentation

◆ change_pin()

void Botan::PKCS11::change_pin ( Slot slot,
const secure_string old_pin,
const secure_string new_pin 
)

Change PIN with old PIN to new PIN

Parameters
slotThe slot with the attached token
old_pinThe old user PIN
new_pinThe new user PIN

Definition at line 51 of file p11.cpp.

52 {
53 Session session(slot, false);
54 session.login(UserType::User, old_pin);
55 session.set_pin(old_pin, new_pin);
56 }
Represents a PKCS#11 session.
Definition: p11_types.h:131

References Botan::PKCS11::Session::login(), Botan::PKCS11::Session::set_pin(), and User.

◆ change_so_pin()

void Botan::PKCS11::change_so_pin ( Slot slot,
const secure_string old_so_pin,
const secure_string new_so_pin 
)

Change SO_PIN with old SO_PIN to new SO_PIN

Parameters
slotThe slot with the attached token
old_so_pinThe old SO_PIN
new_so_pinThe new SO_PIN

Definition at line 58 of file p11.cpp.

59 {
60 Session session(slot, false);
61 session.login(UserType::SO, old_so_pin);
62 session.set_pin(old_so_pin, new_so_pin);
63 }

References Botan::PKCS11::Session::login(), Botan::PKCS11::Session::set_pin(), and SO.

◆ flags()

Flags Botan::PKCS11::flags ( Flag  flags)
inline

Definition at line 860 of file p11.h.

861 {
862 return static_cast<Flags>(flags);
863 }
CK_FLAGS Flags
Definition: p11.h:834
Flags flags(Flag flags)
Definition: p11.h:860

References flags().

Referenced by Botan::PKCS11::LowLevel::C_OpenSession(), Botan::PKCS11::LowLevel::C_WaitForSlotEvent(), flags(), and Botan::PKCS11::Session::Session().

◆ initialize_token()

void Botan::PKCS11::initialize_token ( Slot slot,
std::string_view  label,
const secure_string so_pin,
const secure_string pin 
)

Initializes a token

Parameters
slotThe slot with the attached token that should be initialized
labelThe token label
so_pinPIN of the security officer. Will be set if the token is uninitialized other this has to be the current SO_PIN
pinThe user PIN that will be set

Definition at line 45 of file p11.cpp.

46 {
47 slot.initialize(label, so_pin);
48 set_pin(slot, so_pin, pin);
49 }
void initialize(std::string_view label, const secure_string &so_pin) const
Definition: p11_slot.cpp:52
void set_pin(Slot &slot, const secure_string &so_pin, const secure_string &pin)
Definition: p11.cpp:65

References Botan::PKCS11::Slot::initialize(), and set_pin().

◆ operator|()

Flag Botan::PKCS11::operator| ( Flag  a,
Flag  b 
)
inline

Definition at line 267 of file p11.h.

268 {
269 return static_cast< Flag >(static_cast< CK_FLAGS >(a) | static_cast< CK_FLAGS >(b));
270 }
CK_ULONG CK_FLAGS
Definition: pkcs11t.h:54

◆ set_pin()

void Botan::PKCS11::set_pin ( Slot slot,
const secure_string so_pin,
const secure_string pin 
)

Sets user PIN with SO_PIN

Parameters
slotThe slot with the attached token
so_pinPIN of the security officer
pinThe user PIN that should be set

Definition at line 65 of file p11.cpp.

66 {
67 Session session(slot, false);
68 session.login(UserType::SO, so_pin);
69 session.init_pin(pin);
70 }

References Botan::PKCS11::Session::init_pin(), Botan::PKCS11::Session::login(), and SO.

Referenced by initialize_token().

Variable Documentation

◆ <