CryptoKeyStore Class

Properties   Methods   Events   Config Settings   Errors  

The iaKeystore class offers key storage functionality for a variety of key store types.

Syntax

CryptoKeyStore

Remarks

TBD

Property List


The following is the full list of the properties of the class with short descriptions. Click on the links for further details.

ChannelAuthIDAn authentication identifier (e.
ChannelAuthParsAuthentication parameters, if assumed by the authentication scheme used.
ChannelAuthTokenAn authentication secret (e.
ChannelAuthTypeThe authentication type used (e.
ChannelNetworkConfigUse this property to provide the network configuration settings.
ChannelProtectionConfigUse this property to provide the protection configuration settings.
ChannelProtocolThe connection protocol.
ChannelSigIDA signature identifier (e.
ChannelSigParsSignature parameters, if assumed by the authentication scheme used.
ChannelSigTokenA signature secret (e.
ChannelSigTypeThe signature type to use (e.
ChannelValidateServiceCredsSpecifies whether server-side credentials, such as TLS certificates, should be validated automatically using internal validation rules.
KeyCountThe number of records in the Key arrays.
KeyBitsThe length of the key in bits.
KeyCanDecryptReturns True if the key can be used for decryption.
KeyCanDeriveReturns True if the key can be used for key derivation.
KeyCanEncryptReturns True if the key can be used for encryption.
KeyCanHashReturns True if the key can be used for hashing/MACing.
KeyCanSignReturns True if the key can be used for signing.
KeyCanSignRecoverReturns True if the key can be used for enveloping signing.
KeyCanUnwrapReturns True if the key can be used for key unwrapping.
KeyCanVerifyReturns True if the key can be used for verifying signatures.
KeyCanVerifyRecoverReturns True if the key can be used for verifying enveloping signatures.
KeyCanWrapReturns True if the key can be used for key wrapping.
KeyCapabilitiesA collection of information about the key capabilities TBD: discuss type and options.
KeyDescriptionThe description, or label, of the object.
KeyEnabledEnables or disables this key for use in encryption or signing operation.
KeyExportableReturns True if the key is exportable (can be serialized into an array of bytes), and False otherwise.
KeyFingerprintContains the fingerprint (a hash imprint) of this key.
KeyFriendlyNameContains an associated alias (friendly name) of the key.
KeyGroupThe name of the group associated with this object.
KeyIDProvides access to a storage-specific key identifier.
KeyIVThe initialization vector (IV) of a symmetric key.
KeyKeyTypeThe type of the key contained in the object.
KeyMechanismThe algorithm of the cryptographic key.
KeyMechanismParamsThe parameters of the key algorithm, such as Curve for ECDSA keys or domain parameters for DH keys.
KeyNonceA nonce value associated with a key.
KeyNonPublicReturns True if the object is private, and False otherwise.
KeyOriginReturns the origin (the Storage ID) of this key.
KeyPersistentReturns True if the object is persistent in the store.
KeyPropertiesReturns a collection of object properties as a comma separated name=value list.
KeyReadOnlyReturns True if the object is readonly.
KeySensitiveReturns True if the object is sensitive, and False otherwise.
KeySizeThe size of the object in bytes.
KeySubjectReturns the key subject.
KeyUserIdTBD.
KeyUserKeySecretTBD.
KeyValidReturns True if this key is valid.
KeyValidFromThe time point at which the key becomes valid, in UTC.
KeyValidToThe time point at which the key expires, in UTC.
KeyValueThe byte array representation of the key.
MechCountThe number of records in the Mech arrays.
MechAliasesA comma-separated list of aliases of the mechanism.
MechCanDecryptReturns True if the key can be used for decryption.
MechCanDeriveReturns True if the key can be used for key derivation.
MechCanEncryptReturns True if the key can be used for encryption.
MechCanGenerateReturns True if the keystore can generate keys using the mechanism.
MechCanHashReturns True if the key can be used for hashing/MACing.
MechCanPRNGReturns True if the mechanism can be used for generating pseudorandom numbers.
MechCanSignReturns True if the key can be used for signing.
MechCanSignRecoverReturns True if the key can be used for enveloping signing.
MechCanUnwrapReturns True if the key can be used for key unwrapping.
MechCanVerifyReturns True if the key can be used for verifying signatures.
MechCanVerifyRecoverReturns True if the key can be used for verifying enveloping signatures.
MechCanWrapReturns True if the key can be used for key wrapping.
MechMaxBitsThe maximal supported length of the key in bits.
MechMechanismNameThe official name of the mechanism, such as sha256WithRSAEncryption.
MechMinBitsThe minimal supported length of the key in bits.
MechPropertiesA collection of custom mechanism properties as a collection of comma-separated name=value pairs.
ObjectCountThe number of records in the Object arrays.
ObjectDescriptionThe description, or label, of the object.
ObjectEnabledEnables or disables this key for use in encryption or signing operation.
ObjectExportableReturns True if the object is exportable (can be serialized into an array of bytes), and False otherwise.
ObjectFingerprintContains the fingerprint (a hash imprint) of this object.
ObjectFriendlyNameContains an associated alias (friendly name) of the object.
ObjectGroupThe name of the group associated with this object.
ObjectIDProvides access to a storage-specific object identifier.
ObjectIssuerReturns the object issuer.
ObjectKeyUsageIndicates the purposes of the object.
ObjectNonPublicReturns True if the object is private, and False otherwise.
ObjectObjTypeThe type of the key contained in the object.
ObjectOriginReturns the origin (the Storage ID) of this object.
ObjectPersistentReturns True if the object is persistent in the store.
ObjectPropertiesReturns a collection of object properties as a comma separated name=value list.
ObjectReadOnlyReturns True if the object is readonly.
ObjectSensitiveReturns True if the object is sensitive, and False otherwise.
ObjectSerialNumberReturns the certificate's serial number.
ObjectSizeThe size of the object in bytes.
ObjectSubjectReturns the object subject.
ObjectUserIdTBD.
ObjectUserKeySecretTBD.
ObjectValidFromThe time point at which the object becomes valid, in UTC.
ObjectValidToThe time point at which the object expires, in UTC.
ObjectValueThe byte array representation of the object.
OpenedIndicates whether the storage is in the open state.
ParCountThe number of records in the Par arrays.
ParNameThe name element in a (name, value) pair.
ParValueThe value element in a (name, value) pair.
SessionClientAuthenticatedSpecifies whether client authentication was performed during this connection.
SessionClientAuthRequestedSpecifies whether client authentication was requested during this connection.
SessionClientCredentialContains the client credential that was used for authentication (e.
SessionConnectionEstablishedIndicates whether the connection has been established fully.
SessionConnectionLogContains the connection log.
SessionOperationMessageContains the status string of the last operation.
SessionOperationStatusContains the status code of the last operation.
SessionProtectionThe protection parameters employed by this connection.
SessionSecureConnectionIndicates whether TLS or SSL is enabled for this connection.
SessionServiceAuthenticatedIndicates whether service authentication was performed during a TLS-enabled or otherwise protected connection.
SessionServiceCredentialContains the service credential that was used for authentication (e.
SessionSessionIDThe unique identifier assigned to this session.
SessionTotalBytesReceivedThe total number of bytes received over this connection.
SessionTotalBytesSentThe total number of bytes sent over this connection.
StorageIDA unique identifier of this storage.
UserIdTBD.
UserKeySecretTBD.

Method List


The following is the full list of the methods of the class with short descriptions. Click on the links for further details.

AddKeyAdds the pinned key to the storage.
AddObjectAdds the pinned object to the storage.
ClearRemoves all existing keys and objects from the storage.
CloseCloses the logical storage.
CommitCommits any changes made locally to the store.
CommitKeyCommits any changes made to the PinnedKey .
CommitObjectCommits any changes made to the PinnedObject .
ConfigSets or retrieves a configuration setting.
DeriveKeyGenerates a strong cryptographic key from a password.
ExportKeyExports the pinned key.
ExportObjectExports the pinned object.
GenerateKeyGenerates a new cryptographic key or key pair.
GetKeyParamReturns an algorithm-specific key parameter.
GetKeyParamStrReturns an algorithm-specific key parameter to a string.
GetObjectParamReturns an object parameter.
GetObjectParamStrReturns an object parameter to a string.
ImportKeyImports a key to the storage.
ImportObjectImports an object to the storage.
LockLocks the store, preventing concurrent operations by other users.
OpenOpens existing storage or creates one in memory.
PerformActionPerforms a custom action and returns its result.
RemoveKeyRemoves a key from the storage.
RemoveKeysRemoves a subset of keys from the storage by their IDs.
RemoveObjectRemoves an object from the storage.
RemoveObjectsRemoves a subset of objects from the storage by their IDs.
SelectAllows the selection of keys from the store.
SetKeyParamSets an algorithm-specific key parameter.
SetKeyParamStrSets an algorithm-specific key parameter.
SetObjectParamSets an algorithm-specific object parameter.
SetObjectParamStrSets an algorithm-specific object parameter.
UnlockUnlocks the store previously locked with the Lock method.
UpdatePerforms an Update operation on the store, obtaining the up-to-date view of it.
UpdateKeyPerforms an Update operation on the pinned key.
UpdateObjectPerforms an Update operation on the pinned object.

Event List


The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.

AttestationRecordPasses an attestation record to the user code.
ClientAuthNotifies the application that the service requested an authentication credential from the client.
ClientAuthFailedNotifies the application about the failure of attempted authentication type.
ErrorInformation about errors during data delivery.
NotificationThis event notifies the application about an underlying control flow event.
OperationFinishReports the completion of data processing operation.
OperationStartReports the start of data processing operation.
ProgressReports the data encryption/decryption progress.
ServiceAuthNotifies about the start of service authentication.
ServiceAuthFailedNotifies about the failure of service authentication attempt.

Config Settings


The following is a list of config settings for the class with short descriptions. Click on the links for further details.

TempPathPath for storing temporary files.

ChannelAuthID Property (CryptoKeyStore Class)

An authentication identifier (e.

Syntax

ANSI (Cross Platform)
char* GetChannelAuthID();
int SetChannelAuthID(const char* lpszChannelAuthID); Unicode (Windows) LPWSTR GetChannelAuthID();
INT SetChannelAuthID(LPCWSTR lpszChannelAuthID);
char* pkiproxy_cryptokeystore_getchannelauthid(void* lpObj);
int pkiproxy_cryptokeystore_setchannelauthid(void* lpObj, const char* lpszChannelAuthID);
QString GetChannelAuthID();
int SetChannelAuthID(QString qsChannelAuthID);

Default Value

""

Remarks

An authentication identifier (e.g. a username).

Data Type

String

ChannelAuthPars Property (CryptoKeyStore Class)

Authentication parameters, if assumed by the authentication scheme used.

Syntax

ANSI (Cross Platform)
char* GetChannelAuthPars();
int SetChannelAuthPars(const char* lpszChannelAuthPars); Unicode (Windows) LPWSTR GetChannelAuthPars();
INT SetChannelAuthPars(LPCWSTR lpszChannelAuthPars);
char* pkiproxy_cryptokeystore_getchannelauthpars(void* lpObj);
int pkiproxy_cryptokeystore_setchannelauthpars(void* lpObj, const char* lpszChannelAuthPars);
QString GetChannelAuthPars();
int SetChannelAuthPars(QString qsChannelAuthPars);

Default Value

""

Remarks

Authentication parameters, if assumed by the authentication scheme used.

Data Type

String

ChannelAuthToken Property (CryptoKeyStore Class)

An authentication secret (e.

Syntax

ANSI (Cross Platform)
char* GetChannelAuthToken();
int SetChannelAuthToken(const char* lpszChannelAuthToken); Unicode (Windows) LPWSTR GetChannelAuthToken();
INT SetChannelAuthToken(LPCWSTR lpszChannelAuthToken);
char* pkiproxy_cryptokeystore_getchannelauthtoken(void* lpObj);
int pkiproxy_cryptokeystore_setchannelauthtoken(void* lpObj, const char* lpszChannelAuthToken);
QString GetChannelAuthToken();
int SetChannelAuthToken(QString qsChannelAuthToken);

Default Value

""

Remarks

An authentication secret (e.g. a password or token).

Data Type

String

ChannelAuthType Property (CryptoKeyStore Class)

The authentication type used (e.

Syntax

ANSI (Cross Platform)
char* GetChannelAuthType();
int SetChannelAuthType(const char* lpszChannelAuthType); Unicode (Windows) LPWSTR GetChannelAuthType();
INT SetChannelAuthType(LPCWSTR lpszChannelAuthType);
char* pkiproxy_cryptokeystore_getchannelauthtype(void* lpObj);
int pkiproxy_cryptokeystore_setchannelauthtype(void* lpObj, const char* lpszChannelAuthType);
QString GetChannelAuthType();
int SetChannelAuthType(QString qsChannelAuthType);

Default Value

""

Remarks

The authentication type used (e.g. token or cert).

Data Type

String

ChannelNetworkConfig Property (CryptoKeyStore Class)

Use this property to provide the network configuration settings.

Syntax

ANSI (Cross Platform)
char* GetChannelNetworkConfig();
int SetChannelNetworkConfig(const char* lpszChannelNetworkConfig); Unicode (Windows) LPWSTR GetChannelNetworkConfig();
INT SetChannelNetworkConfig(LPCWSTR lpszChannelNetworkConfig);
char* pkiproxy_cryptokeystore_getchannelnetworkconfig(void* lpObj);
int pkiproxy_cryptokeystore_setchannelnetworkconfig(void* lpObj, const char* lpszChannelNetworkConfig);
QString GetChannelNetworkConfig();
int SetChannelNetworkConfig(QString qsChannelNetworkConfig);

Default Value

""

Remarks

Use this property to provide the network configuration settings. The exact format and settings supported to be defined later.

Data Type

String

ChannelProtectionConfig Property (CryptoKeyStore Class)

Use this property to provide the protection configuration settings.

Syntax

ANSI (Cross Platform)
char* GetChannelProtectionConfig();
int SetChannelProtectionConfig(const char* lpszChannelProtectionConfig); Unicode (Windows) LPWSTR GetChannelProtectionConfig();
INT SetChannelProtectionConfig(LPCWSTR lpszChannelProtectionConfig);
char* pkiproxy_cryptokeystore_getchannelprotectionconfig(void* lpObj);
int pkiproxy_cryptokeystore_setchannelprotectionconfig(void* lpObj, const char* lpszChannelProtectionConfig);
QString GetChannelProtectionConfig();
int SetChannelProtectionConfig(QString qsChannelProtectionConfig);

Default Value

""

Remarks

Use this property to provide the protection configuration settings. The exact format to use depends on the underlying security protocol used. In case of TLS this property expects a list of comma-separated ciphersuites, in order of priority.

Data Type

String

ChannelProtocol Property (CryptoKeyStore Class)

The connection protocol.

Syntax

ANSI (Cross Platform)
char* GetChannelProtocol();
int SetChannelProtocol(const char* lpszChannelProtocol); Unicode (Windows) LPWSTR GetChannelProtocol();
INT SetChannelProtocol(LPCWSTR lpszChannelProtocol);
char* pkiproxy_cryptokeystore_getchannelprotocol(void* lpObj);
int pkiproxy_cryptokeystore_setchannelprotocol(void* lpObj, const char* lpszChannelProtocol);
QString GetChannelProtocol();
int SetChannelProtocol(QString qsChannelProtocol);

Default Value

""

Remarks

The connection protocol. Leave empty to use the default protocol supported by the storage type.

Data Type

String

ChannelSigID Property (CryptoKeyStore Class)

A signature identifier (e.

Syntax

ANSI (Cross Platform)
char* GetChannelSigID();
int SetChannelSigID(const char* lpszChannelSigID); Unicode (Windows) LPWSTR GetChannelSigID();
INT SetChannelSigID(LPCWSTR lpszChannelSigID);
char* pkiproxy_cryptokeystore_getchannelsigid(void* lpObj);
int pkiproxy_cryptokeystore_setchannelsigid(void* lpObj, const char* lpszChannelSigID);
QString GetChannelSigID();
int SetChannelSigID(QString qsChannelSigID);

Default Value

""

Remarks

A signature identifier (e.g. a username).

Data Type

String

ChannelSigPars Property (CryptoKeyStore Class)

Signature parameters, if assumed by the authentication scheme used.

Syntax

ANSI (Cross Platform)
char* GetChannelSigPars();
int SetChannelSigPars(const char* lpszChannelSigPars); Unicode (Windows) LPWSTR GetChannelSigPars();
INT SetChannelSigPars(LPCWSTR lpszChannelSigPars);
char* pkiproxy_cryptokeystore_getchannelsigpars(void* lpObj);
int pkiproxy_cryptokeystore_setchannelsigpars(void* lpObj, const char* lpszChannelSigPars);
QString GetChannelSigPars();
int SetChannelSigPars(QString qsChannelSigPars);

Default Value

""

Remarks

Signature parameters, if assumed by the authentication scheme used.

Data Type

String

ChannelSigToken Property (CryptoKeyStore Class)

A signature secret (e.

Syntax

ANSI (Cross Platform)
char* GetChannelSigToken();
int SetChannelSigToken(const char* lpszChannelSigToken); Unicode (Windows) LPWSTR GetChannelSigToken();
INT SetChannelSigToken(LPCWSTR lpszChannelSigToken);
char* pkiproxy_cryptokeystore_getchannelsigtoken(void* lpObj);
int pkiproxy_cryptokeystore_setchannelsigtoken(void* lpObj, const char* lpszChannelSigToken);
QString GetChannelSigToken();
int SetChannelSigToken(QString qsChannelSigToken);

Default Value

""

Remarks

A signature secret (e.g. a password or token). Signature credentials are used to sign individual requests. They may be different to authentication credentials, which are used to authorize and/or authenticate to the keystore service.

Data Type

String

ChannelSigType Property (CryptoKeyStore Class)

The signature type to use (e.

Syntax

ANSI (Cross Platform)
char* GetChannelSigType();
int SetChannelSigType(const char* lpszChannelSigType); Unicode (Windows) LPWSTR GetChannelSigType();
INT SetChannelSigType(LPCWSTR lpszChannelSigType);
char* pkiproxy_cryptokeystore_getchannelsigtype(void* lpObj);
int pkiproxy_cryptokeystore_setchannelsigtype(void* lpObj, const char* lpszChannelSigType);
QString GetChannelSigType();
int SetChannelSigType(QString qsChannelSigType);

Default Value

""

Remarks

The signature type to use (e.g. token or cert).

Data Type

String

ChannelValidateServiceCreds Property (CryptoKeyStore Class)

Specifies whether server-side credentials, such as TLS certificates, should be validated automatically using internal validation rules.

Syntax

ANSI (Cross Platform)
int GetChannelValidateServiceCreds();
int SetChannelValidateServiceCreds(int bChannelValidateServiceCreds); Unicode (Windows) BOOL GetChannelValidateServiceCreds();
INT SetChannelValidateServiceCreds(BOOL bChannelValidateServiceCreds);
int pkiproxy_cryptokeystore_getchannelvalidateservicecreds(void* lpObj);
int pkiproxy_cryptokeystore_setchannelvalidateservicecreds(void* lpObj, int bChannelValidateServiceCreds);
bool GetChannelValidateServiceCreds();
int SetChannelValidateServiceCreds(bool bChannelValidateServiceCreds);

Default Value

TRUE

Remarks

Specifies whether server-side credentials, such as TLS certificates, should be validated automatically using internal validation rules.

Data Type

Boolean

KeyCount Property (CryptoKeyStore Class)

The number of records in the Key arrays.

Syntax

ANSI (Cross Platform)
int GetKeyCount();

Unicode (Windows)
INT GetKeyCount();
int pkiproxy_cryptokeystore_getkeycount(void* lpObj);
int GetKeyCount();

Default Value

0

Remarks

This property controls the size of the following arrays:

The array indices start at 0 and end at KeyCount - 1.

This property is read-only and not available at design time.

Data Type

Integer

KeyBits Property (CryptoKeyStore Class)

The length of the key in bits.

Syntax

ANSI (Cross Platform)
int GetKeyBits(int iKeyIndex);

Unicode (Windows)
INT GetKeyBits(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeybits(void* lpObj, int keyindex);
int GetKeyBits(int iKeyIndex);

Default Value

0

Remarks

The length of the key in bits.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Integer

KeyCanDecrypt Property (CryptoKeyStore Class)

Returns True if the key can be used for decryption.

Syntax

ANSI (Cross Platform)
int GetKeyCanDecrypt(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyCanDecrypt(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeycandecrypt(void* lpObj, int keyindex);
bool GetKeyCanDecrypt(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for decryption.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyCanDerive Property (CryptoKeyStore Class)

Returns True if the key can be used for key derivation.

Syntax

ANSI (Cross Platform)
int GetKeyCanDerive(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyCanDerive(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeycanderive(void* lpObj, int keyindex);
bool GetKeyCanDerive(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for key derivation.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyCanEncrypt Property (CryptoKeyStore Class)

Returns True if the key can be used for encryption.

Syntax

ANSI (Cross Platform)
int GetKeyCanEncrypt(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyCanEncrypt(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeycanencrypt(void* lpObj, int keyindex);
bool GetKeyCanEncrypt(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for encryption.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyCanHash Property (CryptoKeyStore Class)

Returns True if the key can be used for hashing/MACing.

Syntax

ANSI (Cross Platform)
int GetKeyCanHash(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyCanHash(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeycanhash(void* lpObj, int keyindex);
bool GetKeyCanHash(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for hashing/MACing.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyCanSign Property (CryptoKeyStore Class)

Returns True if the key can be used for signing.

Syntax

ANSI (Cross Platform)
int GetKeyCanSign(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyCanSign(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeycansign(void* lpObj, int keyindex);
bool GetKeyCanSign(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for signing.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyCanSignRecover Property (CryptoKeyStore Class)

Returns True if the key can be used for enveloping signing.

Syntax

ANSI (Cross Platform)
int GetKeyCanSignRecover(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyCanSignRecover(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeycansignrecover(void* lpObj, int keyindex);
bool GetKeyCanSignRecover(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for enveloping signing.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyCanUnwrap Property (CryptoKeyStore Class)

Returns True if the key can be used for key unwrapping.

Syntax

ANSI (Cross Platform)
int GetKeyCanUnwrap(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyCanUnwrap(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeycanunwrap(void* lpObj, int keyindex);
bool GetKeyCanUnwrap(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for key unwrapping.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyCanVerify Property (CryptoKeyStore Class)

Returns True if the key can be used for verifying signatures.

Syntax

ANSI (Cross Platform)
int GetKeyCanVerify(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyCanVerify(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeycanverify(void* lpObj, int keyindex);
bool GetKeyCanVerify(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for verifying signatures.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyCanVerifyRecover Property (CryptoKeyStore Class)

Returns True if the key can be used for verifying enveloping signatures.

Syntax

ANSI (Cross Platform)
int GetKeyCanVerifyRecover(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyCanVerifyRecover(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeycanverifyrecover(void* lpObj, int keyindex);
bool GetKeyCanVerifyRecover(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for verifying enveloping signatures.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyCanWrap Property (CryptoKeyStore Class)

Returns True if the key can be used for key wrapping.

Syntax

ANSI (Cross Platform)
int GetKeyCanWrap(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyCanWrap(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeycanwrap(void* lpObj, int keyindex);
bool GetKeyCanWrap(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for key wrapping.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyCapabilities Property (CryptoKeyStore Class)

A collection of information about the key capabilities TBD: discuss type and options.

Syntax

ANSI (Cross Platform)
char* GetKeyCapabilities(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyCapabilities(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeycapabilities(void* lpObj, int keyindex);
QString GetKeyCapabilities(int iKeyIndex);

Default Value

""

Remarks

A collection of information about the key capabilities TBD: discuss type and options. The following capabilities are offered by PKCS#11: "local", "trusted", "sensitive", "always sensitive", "never extractable", "always authenticate", "modifiable", plus we need to support custom parameters (e.g. Key Checksum)

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyDescription Property (CryptoKeyStore Class)

The description, or label, of the object.

Syntax

ANSI (Cross Platform)
char* GetKeyDescription(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyDescription(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeydescription(void* lpObj, int keyindex);
QString GetKeyDescription(int iKeyIndex);

Default Value

""

Remarks

The description, or label, of the object.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyEnabled Property (CryptoKeyStore Class)

Enables or disables this key for use in encryption or signing operation.

Syntax

ANSI (Cross Platform)
int GetKeyEnabled(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyEnabled(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeyenabled(void* lpObj, int keyindex);
bool GetKeyEnabled(int iKeyIndex);

Default Value

FALSE

Remarks

Enables or disables this key for use in encryption or signing operation.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyExportable Property (CryptoKeyStore Class)

Returns True if the key is exportable (can be serialized into an array of bytes), and False otherwise.

Syntax

ANSI (Cross Platform)
int GetKeyExportable(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyExportable(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeyexportable(void* lpObj, int keyindex);
bool GetKeyExportable(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the key is exportable (can be serialized into an array of bytes), and False otherwise.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyFingerprint Property (CryptoKeyStore Class)

Contains the fingerprint (a hash imprint) of this key.

Syntax

ANSI (Cross Platform)
int GetKeyFingerprint(int iKeyIndex, char* &lpKeyFingerprint, int &lenKeyFingerprint);

Unicode (Windows)
INT GetKeyFingerprint(INT iKeyIndex, LPSTR &lpKeyFingerprint, INT &lenKeyFingerprint);
int pkiproxy_cryptokeystore_getkeyfingerprint(void* lpObj, int keyindex, char** lpKeyFingerprint, int* lenKeyFingerprint);
QByteArray GetKeyFingerprint(int iKeyIndex);

Remarks

Contains the fingerprint (a hash imprint) of this key.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Byte Array

KeyFriendlyName Property (CryptoKeyStore Class)

Contains an associated alias (friendly name) of the key.

Syntax

ANSI (Cross Platform)
char* GetKeyFriendlyName(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyFriendlyName(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeyfriendlyname(void* lpObj, int keyindex);
QString GetKeyFriendlyName(int iKeyIndex);

Default Value

""

Remarks

Contains an associated alias (friendly name) of the key. PKCS#11 equivalent: Label.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyGroup Property (CryptoKeyStore Class)

The name of the group associated with this object.

Syntax

ANSI (Cross Platform)
char* GetKeyGroup(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyGroup(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeygroup(void* lpObj, int keyindex);
QString GetKeyGroup(int iKeyIndex);

Default Value

""

Remarks

The name of the group associated with this object. Groups allow to bind together multiple objects logically connected with each other, such as certificates and their keys.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyID Property (CryptoKeyStore Class)

Provides access to a storage-specific key identifier.

Syntax

ANSI (Cross Platform)
char* GetKeyID(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyID(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeyid(void* lpObj, int keyindex);
QString GetKeyID(int iKeyIndex);

Default Value

""

Remarks

Provides access to a storage-specific key identifier. Key identifiers are used by cryptographicproviders to refer to a particular key and/or distinguish between different keys. They aretypically unique within a storage, but there is no guarantee that a particular cryptoproviderwill conform to that (or will assign any key IDs at all).

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyIV Property (CryptoKeyStore Class)

The initialization vector (IV) of a symmetric key.

Syntax

ANSI (Cross Platform)
int GetKeyIV(int iKeyIndex, char* &lpKeyIV, int &lenKeyIV);

Unicode (Windows)
INT GetKeyIV(INT iKeyIndex, LPSTR &lpKeyIV, INT &lenKeyIV);
int pkiproxy_cryptokeystore_getkeyiv(void* lpObj, int keyindex, char** lpKeyIV, int* lenKeyIV);
QByteArray GetKeyIV(int iKeyIndex);

Remarks

The initialization vector (IV) of a symmetric key. This is normally a public part of a symmetric key, the idea of which is to introduce randomness to the encrypted dataand/or serve as a first block in chaining ciphers.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Byte Array

KeyKeyType Property (CryptoKeyStore Class)

The type of the key contained in the object.

Syntax

ANSI (Cross Platform)
int GetKeyKeyType(int iKeyIndex);

Unicode (Windows)
INT GetKeyKeyType(INT iKeyIndex);

Possible Values

CKT_UNKNOWN(0), 
CKT_PUBLIC(1),
CKT_PRIVATE(2),
CKT_SYMMETRIC(3),
CKT_DOMAIN_PARAMS(4),
CKT_GENERIC(5)
int pkiproxy_cryptokeystore_getkeykeytype(void* lpObj, int keyindex);
int GetKeyKeyType(int iKeyIndex);

Default Value

0

Remarks

The type of the key contained in the object.

Use this property to establish the key type.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Integer

KeyMechanism Property (CryptoKeyStore Class)

The algorithm of the cryptographic key.

Syntax

ANSI (Cross Platform)
char* GetKeyMechanism(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyMechanism(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeymechanism(void* lpObj, int keyindex);
QString GetKeyMechanism(int iKeyIndex);

Default Value

""

Remarks

The algorithm of the cryptographic key. A cryptokey object may hold either symmetric, MAC, or public key.Public key algorithms: RSA, ECDSA, Elgamal, DH.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyMechanismParams Property (CryptoKeyStore Class)

The parameters of the key algorithm, such as Curve for ECDSA keys or domain parameters for DH keys.

Syntax

ANSI (Cross Platform)
char* GetKeyMechanismParams(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyMechanismParams(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeymechanismparams(void* lpObj, int keyindex);
QString GetKeyMechanismParams(int iKeyIndex);

Default Value

""

Remarks

The parameters of the key algorithm, such as Curve for ECDSA keys or domain parameters for DH keys.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyNonce Property (CryptoKeyStore Class)

A nonce value associated with a key.

Syntax

ANSI (Cross Platform)
int GetKeyNonce(int iKeyIndex, char* &lpKeyNonce, int &lenKeyNonce);

Unicode (Windows)
INT GetKeyNonce(INT iKeyIndex, LPSTR &lpKeyNonce, INT &lenKeyNonce);
int pkiproxy_cryptokeystore_getkeynonce(void* lpObj, int keyindex, char** lpKeyNonce, int* lenKeyNonce);
QByteArray GetKeyNonce(int iKeyIndex);

Remarks

A nonce value associated with a key. It is similar to IV, but its only purpose is to introduce randomness.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Byte Array

KeyNonPublic Property (CryptoKeyStore Class)

Returns True if the object is private, and False otherwise.

Syntax

ANSI (Cross Platform)
int GetKeyNonPublic(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyNonPublic(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeynonpublic(void* lpObj, int keyindex);
bool GetKeyNonPublic(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the object is private, and False otherwise.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyOrigin Property (CryptoKeyStore Class)

Returns the origin (the Storage ID) of this key.

Syntax

ANSI (Cross Platform)
char* GetKeyOrigin(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyOrigin(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeyorigin(void* lpObj, int keyindex);
QString GetKeyOrigin(int iKeyIndex);

Default Value

""

Remarks

Returns the origin (the Storage ID) of this key.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyPersistent Property (CryptoKeyStore Class)

Returns True if the object is persistent in the store.

Syntax

ANSI (Cross Platform)
int GetKeyPersistent(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyPersistent(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeypersistent(void* lpObj, int keyindex);
bool GetKeyPersistent(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the object is persistent in the store.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyProperties Property (CryptoKeyStore Class)

Returns a collection of object properties as a comma separated name=value list.

Syntax

ANSI (Cross Platform)
char* GetKeyProperties(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyProperties(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeyproperties(void* lpObj, int keyindex);
QString GetKeyProperties(int iKeyIndex);

Default Value

""

Remarks

Returns a collection of object properties as a comma separated name=value list.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyReadOnly Property (CryptoKeyStore Class)

Returns True if the object is readonly.

Syntax

ANSI (Cross Platform)
int GetKeyReadOnly(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyReadOnly(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeyreadonly(void* lpObj, int keyindex);
bool GetKeyReadOnly(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the object is readonly.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeySensitive Property (CryptoKeyStore Class)

Returns True if the object is sensitive, and False otherwise.

Syntax

ANSI (Cross Platform)
int GetKeySensitive(int iKeyIndex);

Unicode (Windows)
BOOL GetKeySensitive(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeysensitive(void* lpObj, int keyindex);
bool GetKeySensitive(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if the object is sensitive, and False otherwise.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeySize Property (CryptoKeyStore Class)

The size of the object in bytes.

Syntax

ANSI (Cross Platform)
int GetKeySize(int iKeyIndex);

Unicode (Windows)
INT GetKeySize(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeysize(void* lpObj, int keyindex);
int GetKeySize(int iKeyIndex);

Default Value

0

Remarks

The size of the object in bytes

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Integer

KeySubject Property (CryptoKeyStore Class)

Returns the key subject.

Syntax

ANSI (Cross Platform)
char* GetKeySubject(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeySubject(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeysubject(void* lpObj, int keyindex);
QString GetKeySubject(int iKeyIndex);

Default Value

""

Remarks

Returns the key subject. This is a cryptoprovider-dependent value,which normally aims to provide some user-friendly insight into thekey owner.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyUserId Property (CryptoKeyStore Class)

TBD.

Syntax

ANSI (Cross Platform)
char* GetKeyUserId(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyUserId(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeyuserid(void* lpObj, int keyindex);
QString GetKeyUserId(int iKeyIndex);

Default Value

""

Remarks

TBD

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyUserKeySecret Property (CryptoKeyStore Class)

TBD.

Syntax

ANSI (Cross Platform)
char* GetKeyUserKeySecret(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyUserKeySecret(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeyuserkeysecret(void* lpObj, int keyindex);
QString GetKeyUserKeySecret(int iKeyIndex);

Default Value

""

Remarks

TBD

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyValid Property (CryptoKeyStore Class)

Returns True if this key is valid.

Syntax

ANSI (Cross Platform)
int GetKeyValid(int iKeyIndex);

Unicode (Windows)
BOOL GetKeyValid(INT iKeyIndex);
int pkiproxy_cryptokeystore_getkeyvalid(void* lpObj, int keyindex);
bool GetKeyValid(int iKeyIndex);

Default Value

FALSE

Remarks

Returns True if this key is valid. The term Valid highly depends onthe kind of the key being stored. A symmetric key is considered validif its length fits the algorithm being set. The validity of anRSA key also ensures that the RSA key elements (primes, exponents,and modulus) are consistent.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Boolean

KeyValidFrom Property (CryptoKeyStore Class)

The time point at which the key becomes valid, in UTC.

Syntax

ANSI (Cross Platform)
char* GetKeyValidFrom(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyValidFrom(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeyvalidfrom(void* lpObj, int keyindex);
QString GetKeyValidFrom(int iKeyIndex);

Default Value

""

Remarks

The time point at which the key becomes valid, in UTC.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyValidTo Property (CryptoKeyStore Class)

The time point at which the key expires, in UTC.

Syntax

ANSI (Cross Platform)
char* GetKeyValidTo(int iKeyIndex);

Unicode (Windows)
LPWSTR GetKeyValidTo(INT iKeyIndex);
char* pkiproxy_cryptokeystore_getkeyvalidto(void* lpObj, int keyindex);
QString GetKeyValidTo(int iKeyIndex);

Default Value

""

Remarks

The time point at which the key expires, in UTC.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

String

KeyValue Property (CryptoKeyStore Class)

The byte array representation of the key.

Syntax

ANSI (Cross Platform)
int GetKeyValue(int iKeyIndex, char* &lpKeyValue, int &lenKeyValue);

Unicode (Windows)
INT GetKeyValue(INT iKeyIndex, LPSTR &lpKeyValue, INT &lenKeyValue);
int pkiproxy_cryptokeystore_getkeyvalue(void* lpObj, int keyindex, char** lpKeyValue, int* lenKeyValue);
QByteArray GetKeyValue(int iKeyIndex);

Remarks

The byte array representation of the key. This may not be available for non-KeyExportable keys.

The KeyIndex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyCount property.

This property is read-only and not available at design time.

Data Type

Byte Array

MechCount Property (CryptoKeyStore Class)

The number of records in the Mech arrays.

Syntax

ANSI (Cross Platform)
int GetMechCount();

Unicode (Windows)
INT GetMechCount();
int pkiproxy_cryptokeystore_getmechcount(void* lpObj);
int GetMechCount();

Default Value

0

Remarks

This property controls the size of the following arrays:

The array indices start at 0 and end at MechCount - 1.

This property is read-only and not available at design time.

Data Type

Integer

MechAliases Property (CryptoKeyStore Class)

A comma-separated list of aliases of the mechanism.

Syntax

ANSI (Cross Platform)
char* GetMechAliases(int iMechIndex);

Unicode (Windows)
LPWSTR GetMechAliases(INT iMechIndex);
char* pkiproxy_cryptokeystore_getmechaliases(void* lpObj, int mechindex);
QString GetMechAliases(int iMechIndex);

Default Value

""

Remarks

A comma-separated list of aliases of the mechanism. These may be environment-specific or reflect the naming of the mechanism in otherstandards, such as OIDs (1.2.840.113549.1.1.11) or third-party numeric constants.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

String

MechCanDecrypt Property (CryptoKeyStore Class)

Returns True if the key can be used for decryption.

Syntax

ANSI (Cross Platform)
int GetMechCanDecrypt(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanDecrypt(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcandecrypt(void* lpObj, int mechindex);
bool GetMechCanDecrypt(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for decryption.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechCanDerive Property (CryptoKeyStore Class)

Returns True if the key can be used for key derivation.

Syntax

ANSI (Cross Platform)
int GetMechCanDerive(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanDerive(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcanderive(void* lpObj, int mechindex);
bool GetMechCanDerive(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for key derivation.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechCanEncrypt Property (CryptoKeyStore Class)

Returns True if the key can be used for encryption.

Syntax

ANSI (Cross Platform)
int GetMechCanEncrypt(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanEncrypt(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcanencrypt(void* lpObj, int mechindex);
bool GetMechCanEncrypt(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for encryption.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechCanGenerate Property (CryptoKeyStore Class)

Returns True if the keystore can generate keys using the mechanism.

Syntax

ANSI (Cross Platform)
int GetMechCanGenerate(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanGenerate(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcangenerate(void* lpObj, int mechindex);
bool GetMechCanGenerate(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the keystore can generate keys using the mechanism.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechCanHash Property (CryptoKeyStore Class)

Returns True if the key can be used for hashing/MACing.

Syntax

ANSI (Cross Platform)
int GetMechCanHash(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanHash(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcanhash(void* lpObj, int mechindex);
bool GetMechCanHash(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for hashing/MACing.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechCanPRNG Property (CryptoKeyStore Class)

Returns True if the mechanism can be used for generating pseudorandom numbers.

Syntax

ANSI (Cross Platform)
int GetMechCanPRNG(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanPRNG(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcanprng(void* lpObj, int mechindex);
bool GetMechCanPRNG(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the mechanism can be used for generating pseudorandom numbers.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechCanSign Property (CryptoKeyStore Class)

Returns True if the key can be used for signing.

Syntax

ANSI (Cross Platform)
int GetMechCanSign(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanSign(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcansign(void* lpObj, int mechindex);
bool GetMechCanSign(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for signing.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechCanSignRecover Property (CryptoKeyStore Class)

Returns True if the key can be used for enveloping signing.

Syntax

ANSI (Cross Platform)
int GetMechCanSignRecover(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanSignRecover(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcansignrecover(void* lpObj, int mechindex);
bool GetMechCanSignRecover(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for enveloping signing.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechCanUnwrap Property (CryptoKeyStore Class)

Returns True if the key can be used for key unwrapping.

Syntax

ANSI (Cross Platform)
int GetMechCanUnwrap(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanUnwrap(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcanunwrap(void* lpObj, int mechindex);
bool GetMechCanUnwrap(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for key unwrapping.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechCanVerify Property (CryptoKeyStore Class)

Returns True if the key can be used for verifying signatures.

Syntax

ANSI (Cross Platform)
int GetMechCanVerify(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanVerify(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcanverify(void* lpObj, int mechindex);
bool GetMechCanVerify(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for verifying signatures.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechCanVerifyRecover Property (CryptoKeyStore Class)

Returns True if the key can be used for verifying enveloping signatures.

Syntax

ANSI (Cross Platform)
int GetMechCanVerifyRecover(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanVerifyRecover(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcanverifyrecover(void* lpObj, int mechindex);
bool GetMechCanVerifyRecover(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for verifying enveloping signatures.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechCanWrap Property (CryptoKeyStore Class)

Returns True if the key can be used for key wrapping.

Syntax

ANSI (Cross Platform)
int GetMechCanWrap(int iMechIndex);

Unicode (Windows)
BOOL GetMechCanWrap(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechcanwrap(void* lpObj, int mechindex);
bool GetMechCanWrap(int iMechIndex);

Default Value

FALSE

Remarks

Returns True if the key can be used for key wrapping.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Boolean

MechMaxBits Property (CryptoKeyStore Class)

The maximal supported length of the key in bits.

Syntax

ANSI (Cross Platform)
int GetMechMaxBits(int iMechIndex);

Unicode (Windows)
INT GetMechMaxBits(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechmaxbits(void* lpObj, int mechindex);
int GetMechMaxBits(int iMechIndex);

Default Value

0

Remarks

The maximal supported length of the key in bits.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Integer

MechMechanismName Property (CryptoKeyStore Class)

The official name of the mechanism, such as sha256WithRSAEncryption.

Syntax

ANSI (Cross Platform)
char* GetMechMechanismName(int iMechIndex);

Unicode (Windows)
LPWSTR GetMechMechanismName(INT iMechIndex);
char* pkiproxy_cryptokeystore_getmechmechanismname(void* lpObj, int mechindex);
QString GetMechMechanismName(int iMechIndex);

Default Value

""

Remarks

The official name of the mechanism, such as sha256WithRSAEncryption.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

String

MechMinBits Property (CryptoKeyStore Class)

The minimal supported length of the key in bits.

Syntax

ANSI (Cross Platform)
int GetMechMinBits(int iMechIndex);

Unicode (Windows)
INT GetMechMinBits(INT iMechIndex);
int pkiproxy_cryptokeystore_getmechminbits(void* lpObj, int mechindex);
int GetMechMinBits(int iMechIndex);

Default Value

0

Remarks

The minimal supported length of the key in bits.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

Integer

MechProperties Property (CryptoKeyStore Class)

A collection of custom mechanism properties as a collection of comma-separated name=value pairs.

Syntax

ANSI (Cross Platform)
char* GetMechProperties(int iMechIndex);

Unicode (Windows)
LPWSTR GetMechProperties(INT iMechIndex);
char* pkiproxy_cryptokeystore_getmechproperties(void* lpObj, int mechindex);
QString GetMechProperties(int iMechIndex);

Default Value

""

Remarks

A collection of custom mechanism properties as a collection of comma-separated name=value pairs.

The MechIndex parameter specifies the index of the item in the array. The size of the array is controlled by the MechCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectCount Property (CryptoKeyStore Class)

The number of records in the Object arrays.

Syntax

ANSI (Cross Platform)
int GetObjectCount();

Unicode (Windows)
INT GetObjectCount();
int pkiproxy_cryptokeystore_getobjectcount(void* lpObj);
int GetObjectCount();

Default Value

0

Remarks

This property controls the size of the following arrays:

The array indices start at 0 and end at ObjectCount - 1.

This property is read-only and not available at design time.

Data Type

Integer

ObjectDescription Property (CryptoKeyStore Class)

The description, or label, of the object.

Syntax

ANSI (Cross Platform)
char* GetObjectDescription(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectDescription(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectdescription(void* lpObj, int objectindex);
QString GetObjectDescription(int iObjectIndex);

Default Value

""

Remarks

The description, or label, of the object.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectEnabled Property (CryptoKeyStore Class)

Enables or disables this key for use in encryption or signing operation.

Syntax

ANSI (Cross Platform)
int GetObjectEnabled(int iObjectIndex);

Unicode (Windows)
BOOL GetObjectEnabled(INT iObjectIndex);
int pkiproxy_cryptokeystore_getobjectenabled(void* lpObj, int objectindex);
bool GetObjectEnabled(int iObjectIndex);

Default Value

FALSE

Remarks

Enables or disables this key for use in encryption or signing operation.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

Boolean

ObjectExportable Property (CryptoKeyStore Class)

Returns True if the object is exportable (can be serialized into an array of bytes), and False otherwise.

Syntax

ANSI (Cross Platform)
int GetObjectExportable(int iObjectIndex);

Unicode (Windows)
BOOL GetObjectExportable(INT iObjectIndex);
int pkiproxy_cryptokeystore_getobjectexportable(void* lpObj, int objectindex);
bool GetObjectExportable(int iObjectIndex);

Default Value

FALSE

Remarks

Returns True if the object is exportable (can be serialized into an array of bytes), and False otherwise.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

Boolean

ObjectFingerprint Property (CryptoKeyStore Class)

Contains the fingerprint (a hash imprint) of this object.

Syntax

ANSI (Cross Platform)
int GetObjectFingerprint(int iObjectIndex, char* &lpObjectFingerprint, int &lenObjectFingerprint);

Unicode (Windows)
INT GetObjectFingerprint(INT iObjectIndex, LPSTR &lpObjectFingerprint, INT &lenObjectFingerprint);
int pkiproxy_cryptokeystore_getobjectfingerprint(void* lpObj, int objectindex, char** lpObjectFingerprint, int* lenObjectFingerprint);
QByteArray GetObjectFingerprint(int iObjectIndex);

Remarks

Contains the fingerprint (a hash imprint) of this object.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

Byte Array

ObjectFriendlyName Property (CryptoKeyStore Class)

Contains an associated alias (friendly name) of the object.

Syntax

ANSI (Cross Platform)
char* GetObjectFriendlyName(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectFriendlyName(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectfriendlyname(void* lpObj, int objectindex);
QString GetObjectFriendlyName(int iObjectIndex);

Default Value

""

Remarks

Contains an associated alias (friendly name) of the object. PKCS#11 equivalent: Label.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectGroup Property (CryptoKeyStore Class)

The name of the group associated with this object.

Syntax

ANSI (Cross Platform)
char* GetObjectGroup(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectGroup(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectgroup(void* lpObj, int objectindex);
QString GetObjectGroup(int iObjectIndex);

Default Value

""

Remarks

The name of the group associated with this object. Groups allow to bind together multiple objects logically connected with each other, such as certificates and their keys.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectID Property (CryptoKeyStore Class)

Provides access to a storage-specific object identifier.

Syntax

ANSI (Cross Platform)
char* GetObjectID(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectID(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectid(void* lpObj, int objectindex);
QString GetObjectID(int iObjectIndex);

Default Value

""

Remarks

Provides access to a storage-specific object identifier.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectIssuer Property (CryptoKeyStore Class)

Returns the object issuer.

Syntax

ANSI (Cross Platform)
char* GetObjectIssuer(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectIssuer(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectissuer(void* lpObj, int objectindex);
QString GetObjectIssuer(int iObjectIndex);

Default Value

""

Remarks

Returns the object issuer. This is a cryptoprovider-dependent value,which normally aims to provide some user-friendly insight into thekey owner.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectKeyUsage Property (CryptoKeyStore Class)

Indicates the purposes of the object.

Syntax

ANSI (Cross Platform)
char* GetObjectKeyUsage(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectKeyUsage(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectkeyusage(void* lpObj, int objectindex);
QString GetObjectKeyUsage(int iObjectIndex);

Default Value

""

Remarks

Indicates the purposes of the object. For certificate object, this corresponds to the elements contained in the Key Usage and Extended Key Usage extensions.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectNonPublic Property (CryptoKeyStore Class)

Returns True if the object is private, and False otherwise.

Syntax

ANSI (Cross Platform)
int GetObjectNonPublic(int iObjectIndex);

Unicode (Windows)
BOOL GetObjectNonPublic(INT iObjectIndex);
int pkiproxy_cryptokeystore_getobjectnonpublic(void* lpObj, int objectindex);
bool GetObjectNonPublic(int iObjectIndex);

Default Value

FALSE

Remarks

Returns True if the object is private, and False otherwise.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

Boolean

ObjectObjType Property (CryptoKeyStore Class)

The type of the key contained in the object.

Syntax

ANSI (Cross Platform)
int GetObjectObjType(int iObjectIndex);

Unicode (Windows)
INT GetObjectObjType(INT iObjectIndex);

Possible Values

COT_UNKNOWN(0), 
COT_CERTIFICATE(1),
COT_DATA(2),
COT_GENERIC(3)
int pkiproxy_cryptokeystore_getobjectobjtype(void* lpObj, int objectindex);
int GetObjectObjType(int iObjectIndex);

Default Value

0

Remarks

The type of the key contained in the object.

Use this property to establish the object type.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

Integer

ObjectOrigin Property (CryptoKeyStore Class)

Returns the origin (the Storage ID) of this object.

Syntax

ANSI (Cross Platform)
char* GetObjectOrigin(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectOrigin(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectorigin(void* lpObj, int objectindex);
QString GetObjectOrigin(int iObjectIndex);

Default Value

""

Remarks

Returns the origin (the Storage ID) of this object.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectPersistent Property (CryptoKeyStore Class)

Returns True if the object is persistent in the store.

Syntax

ANSI (Cross Platform)
int GetObjectPersistent(int iObjectIndex);

Unicode (Windows)
BOOL GetObjectPersistent(INT iObjectIndex);
int pkiproxy_cryptokeystore_getobjectpersistent(void* lpObj, int objectindex);
bool GetObjectPersistent(int iObjectIndex);

Default Value

FALSE

Remarks

Returns True if the object is persistent in the store.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

Boolean

ObjectProperties Property (CryptoKeyStore Class)

Returns a collection of object properties as a comma separated name=value list.

Syntax

ANSI (Cross Platform)
char* GetObjectProperties(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectProperties(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectproperties(void* lpObj, int objectindex);
QString GetObjectProperties(int iObjectIndex);

Default Value

""

Remarks

Returns a collection of object properties as a comma separated name=value list.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectReadOnly Property (CryptoKeyStore Class)

Returns True if the object is readonly.

Syntax

ANSI (Cross Platform)
int GetObjectReadOnly(int iObjectIndex);

Unicode (Windows)
BOOL GetObjectReadOnly(INT iObjectIndex);
int pkiproxy_cryptokeystore_getobjectreadonly(void* lpObj, int objectindex);
bool GetObjectReadOnly(int iObjectIndex);

Default Value

FALSE

Remarks

Returns True if the object is readonly.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

Boolean

ObjectSensitive Property (CryptoKeyStore Class)

Returns True if the object is sensitive, and False otherwise.

Syntax

ANSI (Cross Platform)
int GetObjectSensitive(int iObjectIndex);

Unicode (Windows)
BOOL GetObjectSensitive(INT iObjectIndex);
int pkiproxy_cryptokeystore_getobjectsensitive(void* lpObj, int objectindex);
bool GetObjectSensitive(int iObjectIndex);

Default Value

FALSE

Remarks

Returns True if the object is sensitive, and False otherwise.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

Boolean

ObjectSerialNumber Property (CryptoKeyStore Class)

Returns the certificate's serial number.

Syntax

ANSI (Cross Platform)
char* GetObjectSerialNumber(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectSerialNumber(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectserialnumber(void* lpObj, int objectindex);
QString GetObjectSerialNumber(int iObjectIndex);

Default Value

""

Remarks

Returns the certificate's serial number.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectSize Property (CryptoKeyStore Class)

The size of the object in bytes.

Syntax

ANSI (Cross Platform)
int GetObjectSize(int iObjectIndex);

Unicode (Windows)
INT GetObjectSize(INT iObjectIndex);
int pkiproxy_cryptokeystore_getobjectsize(void* lpObj, int objectindex);
int GetObjectSize(int iObjectIndex);

Default Value

0

Remarks

The size of the object in bytes

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

Integer

ObjectSubject Property (CryptoKeyStore Class)

Returns the object subject.

Syntax

ANSI (Cross Platform)
char* GetObjectSubject(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectSubject(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectsubject(void* lpObj, int objectindex);
QString GetObjectSubject(int iObjectIndex);

Default Value

""

Remarks

Returns the object subject. This is a cryptoprovider-dependent value,which normally aims to provide some user-friendly insight into thekey owner.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectUserId Property (CryptoKeyStore Class)

TBD.

Syntax

ANSI (Cross Platform)
char* GetObjectUserId(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectUserId(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectuserid(void* lpObj, int objectindex);
QString GetObjectUserId(int iObjectIndex);

Default Value

""

Remarks

TBD

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectUserKeySecret Property (CryptoKeyStore Class)

TBD.

Syntax

ANSI (Cross Platform)
char* GetObjectUserKeySecret(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectUserKeySecret(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectuserkeysecret(void* lpObj, int objectindex);
QString GetObjectUserKeySecret(int iObjectIndex);

Default Value

""

Remarks

TBD

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectValidFrom Property (CryptoKeyStore Class)

The time point at which the object becomes valid, in UTC.

Syntax

ANSI (Cross Platform)
char* GetObjectValidFrom(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectValidFrom(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectvalidfrom(void* lpObj, int objectindex);
QString GetObjectValidFrom(int iObjectIndex);

Default Value

""

Remarks

The time point at which the object becomes valid, in UTC.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectValidTo Property (CryptoKeyStore Class)

The time point at which the object expires, in UTC.

Syntax

ANSI (Cross Platform)
char* GetObjectValidTo(int iObjectIndex);

Unicode (Windows)
LPWSTR GetObjectValidTo(INT iObjectIndex);
char* pkiproxy_cryptokeystore_getobjectvalidto(void* lpObj, int objectindex);
QString GetObjectValidTo(int iObjectIndex);

Default Value

""

Remarks

The time point at which the object expires, in UTC.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

String

ObjectValue Property (CryptoKeyStore Class)

The byte array representation of the object.

Syntax

ANSI (Cross Platform)
int GetObjectValue(int iObjectIndex, char* &lpObjectValue, int &lenObjectValue);

Unicode (Windows)
INT GetObjectValue(INT iObjectIndex, LPSTR &lpObjectValue, INT &lenObjectValue);
int pkiproxy_cryptokeystore_getobjectvalue(void* lpObj, int objectindex, char** lpObjectValue, int* lenObjectValue);
QByteArray GetObjectValue(int iObjectIndex);

Remarks

The byte array representation of the object. This may not be available for non-ObjectExportable objects.

The ObjectIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ObjectCount property.

This property is read-only and not available at design time.

Data Type

Byte Array

Opened Property (CryptoKeyStore Class)

Indicates whether the storage is in the open state.

Syntax

ANSI (Cross Platform)
int GetOpened();

Unicode (Windows)
BOOL GetOpened();
int pkiproxy_cryptokeystore_getopened(void* lpObj);
bool GetOpened();

Default Value

FALSE

Remarks

Use this property to check if the storage has been 'opened.' Different kinds of key storages imply different meanings for 'being opened', but generally a storage is open if it is available for operations.

Use Open method to open a storage.

This property is read-only and not available at design time.

Data Type

Boolean

ParCount Property (CryptoKeyStore Class)

The number of records in the Par arrays.

Syntax

ANSI (Cross Platform)
int GetParCount();
int SetParCount(int iParCount); Unicode (Windows) INT GetParCount();
INT SetParCount(INT iParCount);
int pkiproxy_cryptokeystore_getparcount(void* lpObj);
int pkiproxy_cryptokeystore_setparcount(void* lpObj, int iParCount);
int GetParCount();
int SetParCount(int iParCount);

Default Value

0

Remarks

This property controls the size of the following arrays:

The array indices start at 0 and end at ParCount - 1.

This property is not available at design time.

Data Type

Integer

ParName Property (CryptoKeyStore Class)

The name element in a (name, value) pair.

Syntax

ANSI (Cross Platform)
char* GetParName(int iParIndex);
int SetParName(int iParIndex, const char* lpszParName); Unicode (Windows) LPWSTR GetParName(INT iParIndex);
INT SetParName(INT iParIndex, LPCWSTR lpszParName);
char* pkiproxy_cryptokeystore_getparname(void* lpObj, int parindex);
int pkiproxy_cryptokeystore_setparname(void* lpObj, int parindex, const char* lpszParName);
QString GetParName(int iParIndex);
int SetParName(int iParIndex, QString qsParName);

Default Value

""

Remarks

The name element in a (name, value) pair.

The ParIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ParCount property.

This property is not available at design time.

Data Type

String

ParValue Property (CryptoKeyStore Class)

The value element in a (name, value) pair.

Syntax

ANSI (Cross Platform)
char* GetParValue(int iParIndex);
int SetParValue(int iParIndex, const char* lpszParValue); Unicode (Windows) LPWSTR GetParValue(INT iParIndex);
INT SetParValue(INT iParIndex, LPCWSTR lpszParValue);
char* pkiproxy_cryptokeystore_getparvalue(void* lpObj, int parindex);
int pkiproxy_cryptokeystore_setparvalue(void* lpObj, int parindex, const char* lpszParValue);
QString GetParValue(int iParIndex);
int SetParValue(int iParIndex, QString qsParValue);

Default Value

""

Remarks

The value element in a (name, value) pair.

The ParIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ParCount property.

This property is not available at design time.

Data Type

String

SessionClientAuthenticated Property (CryptoKeyStore Class)

Specifies whether client authentication was performed during this connection.

Syntax

ANSI (Cross Platform)
int GetSessionClientAuthenticated();

Unicode (Windows)
BOOL GetSessionClientAuthenticated();
int pkiproxy_cryptokeystore_getsessionclientauthenticated(void* lpObj);
bool GetSessionClientAuthenticated();

Default Value

FALSE

Remarks

Specifies whether client authentication was performed during this connection.

This property is read-only.

Data Type

Boolean

SessionClientAuthRequested Property (CryptoKeyStore Class)

Specifies whether client authentication was requested during this connection.

Syntax

ANSI (Cross Platform)
int GetSessionClientAuthRequested();

Unicode (Windows)
BOOL GetSessionClientAuthRequested();
int pkiproxy_cryptokeystore_getsessionclientauthrequested(void* lpObj);
bool GetSessionClientAuthRequested();

Default Value

FALSE

Remarks

Specifies whether client authentication was requested during this connection.

This property is read-only.

Data Type

Boolean

SessionClientCredential Property (CryptoKeyStore Class)

Contains the client credential that was used for authentication (e.

Syntax

ANSI (Cross Platform)
char* GetSessionClientCredential();

Unicode (Windows)
LPWSTR GetSessionClientCredential();
char* pkiproxy_cryptokeystore_getsessionclientcredential(void* lpObj);
QString GetSessionClientCredential();

Default Value

""

Remarks

Contains the client credential that was used for authentication (e.g. the certificate)

This property is read-only.

Data Type

String

SessionConnectionEstablished Property (CryptoKeyStore Class)

Indicates whether the connection has been established fully.

Syntax

ANSI (Cross Platform)
int GetSessionConnectionEstablished();

Unicode (Windows)
BOOL GetSessionConnectionEstablished();
int pkiproxy_cryptokeystore_getsessionconnectionestablished(void* lpObj);
bool GetSessionConnectionEstablished();

Default Value

FALSE

Remarks

Indicates whether the connection has been established fully.

This property is read-only.

Data Type

Boolean

SessionConnectionLog Property (CryptoKeyStore Class)

Contains the connection log.

Syntax

ANSI (Cross Platform)
char* GetSessionConnectionLog();

Unicode (Windows)
LPWSTR GetSessionConnectionLog();
char* pkiproxy_cryptokeystore_getsessionconnectionlog(void* lpObj);
QString GetSessionConnectionLog();

Default Value

""

Remarks

Contains the connection log. This information may be useful in investigating connection issues.

This property is read-only.

Data Type

String

SessionOperationMessage Property (CryptoKeyStore Class)

Contains the status string of the last operation.

Syntax

ANSI (Cross Platform)
char* GetSessionOperationMessage();

Unicode (Windows)
LPWSTR GetSessionOperationMessage();
char* pkiproxy_cryptokeystore_getsessionoperationmessage(void* lpObj);
QString GetSessionOperationMessage();

Default Value

""

Remarks

Contains the status string of the last operation.

This property is read-only.

Data Type

String

SessionOperationStatus Property (CryptoKeyStore Class)

Contains the status code of the last operation.

Syntax

ANSI (Cross Platform)
int GetSessionOperationStatus();

Unicode (Windows)
INT GetSessionOperationStatus();
int pkiproxy_cryptokeystore_getsessionoperationstatus(void* lpObj);
int GetSessionOperationStatus();

Default Value

0

Remarks

Contains the status code of the last operation.

This property is read-only.

Data Type

Integer

SessionProtection Property (CryptoKeyStore Class)

The protection parameters employed by this connection.

Syntax

ANSI (Cross Platform)
char* GetSessionProtection();

Unicode (Windows)
LPWSTR GetSessionProtection();
char* pkiproxy_cryptokeystore_getsessionprotection(void* lpObj);
QString GetSessionProtection();

Default Value

""

Remarks

The protection parameters employed by this connection.

For TLS connections, this property returns the ciphersuite that was/is employed by the connection, e.g: TLS:RSA-AES256-SHA256

This property is read-only.

Data Type

String

SessionSecureConnection Property (CryptoKeyStore Class)

Indicates whether TLS or SSL is enabled for this connection.

Syntax

ANSI (Cross Platform)
int GetSessionSecureConnection();

Unicode (Windows)
BOOL GetSessionSecureConnection();
int pkiproxy_cryptokeystore_getsessionsecureconnection(void* lpObj);
bool GetSessionSecureConnection();

Default Value

FALSE

Remarks

Indicates whether TLS or SSL is enabled for this connection.

This property is read-only.

Data Type

Boolean

SessionServiceAuthenticated Property (CryptoKeyStore Class)

Indicates whether service authentication was performed during a TLS-enabled or otherwise protected connection.

Syntax

ANSI (Cross Platform)
int GetSessionServiceAuthenticated();

Unicode (Windows)
BOOL GetSessionServiceAuthenticated();
int pkiproxy_cryptokeystore_getsessionserviceauthenticated(void* lpObj);
bool GetSessionServiceAuthenticated();

Default Value

FALSE

Remarks

Indicates whether service authentication was performed during a TLS-enabled or otherwise protected connection.

This property is read-only.

Data Type

Boolean

SessionServiceCredential Property (CryptoKeyStore Class)

Contains the service credential that was used for authentication (e.

Syntax

ANSI (Cross Platform)
char* GetSessionServiceCredential();

Unicode (Windows)
LPWSTR GetSessionServiceCredential();
char* pkiproxy_cryptokeystore_getsessionservicecredential(void* lpObj);
QString GetSessionServiceCredential();

Default Value

""

Remarks

Contains the service credential that was used for authentication (e.g. the certificate)

This property is read-only.

Data Type

String

SessionSessionID Property (CryptoKeyStore Class)

The unique identifier assigned to this session.

Syntax

ANSI (Cross Platform)
char* GetSessionSessionID();

Unicode (Windows)
LPWSTR GetSessionSessionID();
char* pkiproxy_cryptokeystore_getsessionsessionid(void* lpObj);
QString GetSessionSessionID();

Default Value

""

Remarks

The unique identifier assigned to this session.

This property is read-only and not available at design time.

Data Type

String

SessionTotalBytesReceived Property (CryptoKeyStore Class)

The total number of bytes received over this connection.

Syntax

ANSI (Cross Platform)
int64 GetSessionTotalBytesReceived();

Unicode (Windows)
LONG64 GetSessionTotalBytesReceived();
int64 pkiproxy_cryptokeystore_getsessiontotalbytesreceived(void* lpObj);
qint64 GetSessionTotalBytesReceived();

Default Value

0

Remarks

The total number of bytes received over this connection.

This property is read-only.

Data Type

Long64

SessionTotalBytesSent Property (CryptoKeyStore Class)

The total number of bytes sent over this connection.

Syntax

ANSI (Cross Platform)
int64 GetSessionTotalBytesSent();

Unicode (Windows)
LONG64 GetSessionTotalBytesSent();
int64 pkiproxy_cryptokeystore_getsessiontotalbytessent(void* lpObj);
qint64 GetSessionTotalBytesSent();

Default Value

0

Remarks

The total number of bytes sent over this connection.

This property is read-only.

Data Type

Long64

StorageID Property (CryptoKeyStore Class)

A unique identifier of this storage.

Syntax

ANSI (Cross Platform)
char* GetStorageID();

Unicode (Windows)
LPWSTR GetStorageID();
char* pkiproxy_cryptokeystore_getstorageid(void* lpObj);
QString GetStorageID();

Default Value

""

Remarks

Use this property to get a unique ID of this storage. The format of ID may differ for different kinds of key storages, and may range from a file path for a file storage, to a URI-like ID for a PKCS#11 storage, to an empty value for an in-memory storage.

This property is read-only.

Data Type

String

UserId Property (CryptoKeyStore Class)

TBD.

Syntax

ANSI (Cross Platform)
char* GetUserId();
int SetUserId(const char* lpszUserId); Unicode (Windows) LPWSTR GetUserId();
INT SetUserId(LPCWSTR lpszUserId);
char* pkiproxy_cryptokeystore_getuserid(void* lpObj);
int pkiproxy_cryptokeystore_setuserid(void* lpObj, const char* lpszUserId);
QString GetUserId();
int SetUserId(QString qsUserId);

Default Value

""

Remarks

TBD

This property is not available at design time.

Data Type

String

UserKeySecret Property (CryptoKeyStore Class)

TBD.

Syntax

ANSI (Cross Platform)
char* GetUserKeySecret();
int SetUserKeySecret(const char* lpszUserKeySecret); Unicode (Windows) LPWSTR GetUserKeySecret();
INT SetUserKeySecret(LPCWSTR lpszUserKeySecret);
char* pkiproxy_cryptokeystore_getuserkeysecret(void* lpObj);
int pkiproxy_cryptokeystore_setuserkeysecret(void* lpObj, const char* lpszUserKeySecret);
QString GetUserKeySecret();
int SetUserKeySecret(QString qsUserKeySecret);

Default Value

""

Remarks

TBD

This property is not available at design time.

Data Type

String

AddKey Method (CryptoKeyStore Class)

Adds the pinned key to the storage.

Syntax

ANSI (Cross Platform)
int AddKey();

Unicode (Windows)
INT AddKey();
int pkiproxy_cryptokeystore_addkey(void* lpObj);
int AddKey();

Remarks

This method adds a key attached to the PinnedKey property to the storage. This method is a handy way of adding keys generated/returned by other components.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

AddObject Method (CryptoKeyStore Class)

Adds the pinned object to the storage.

Syntax

ANSI (Cross Platform)
int AddObject();

Unicode (Windows)
INT AddObject();
int pkiproxy_cryptokeystore_addobject(void* lpObj);
int AddObject();

Remarks

This method adds a key attached to the PinnedObject property to the storage.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Clear Method (CryptoKeyStore Class)

Removes all existing keys and objects from the storage.

Syntax

ANSI (Cross Platform)
int Clear();

Unicode (Windows)
INT Clear();
int pkiproxy_cryptokeystore_clear(void* lpObj);
int Clear();

Remarks

Use this method to empty the storage.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Close Method (CryptoKeyStore Class)

Closes the logical storage.

Syntax

ANSI (Cross Platform)
int Close();

Unicode (Windows)
INT Close();
int pkiproxy_cryptokeystore_close(void* lpObj);
int Close();

Remarks

Use this method to close the key store.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Commit Method (CryptoKeyStore Class)

Commits any changes made locally to the store.

Syntax

ANSI (Cross Platform)
int Commit();

Unicode (Windows)
INT Commit();
int pkiproxy_cryptokeystore_commit(void* lpObj);
int Commit();

Remarks

This operation has no meaning for stores with direct access.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

CommitKey Method (CryptoKeyStore Class)

Commits any changes made to the PinnedKey .

Syntax

ANSI (Cross Platform)
int CommitKey();

Unicode (Windows)
INT CommitKey();
int pkiproxy_cryptokeystore_commitkey(void* lpObj);
int CommitKey();

Remarks

TBD

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

CommitObject Method (CryptoKeyStore Class)

Commits any changes made to the PinnedObject .

Syntax

ANSI (Cross Platform)
int CommitObject();

Unicode (Windows)
INT CommitObject();
int pkiproxy_cryptokeystore_commitobject(void* lpObj);
int CommitObject();

Remarks

TBD

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Config Method (CryptoKeyStore Class)

Sets or retrieves a configuration setting.

Syntax

ANSI (Cross Platform)
char* Config(const char* lpszConfigurationString);

Unicode (Windows)
LPWSTR Config(LPCWSTR lpszConfigurationString);
char* pkiproxy_cryptokeystore_config(void* lpObj, const char* lpszConfigurationString);
QString Config(const QString& qsConfigurationString);

Remarks

Config is a generic method available in every class. It is used to set and retrieve configuration settings for the class.

These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the class, access to these internal properties is provided through the Config method.

To set a configuration setting named PROPERTY, you must call Config("PROPERTY=VALUE"), where VALUE is the value of the setting expressed as a string. For boolean values, use the strings "True", "False", "0", "1", "Yes", or "No" (case does not matter).

To read (query) the value of a configuration setting, you must call Config("PROPERTY"). The value will be returned as a string.

Error Handling (C++)

This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

DeriveKey Method (CryptoKeyStore Class)

Generates a strong cryptographic key from a password.

Syntax

ANSI (Cross Platform)
char* DeriveKey(int iKeyBits, const char* lpszPassword, const char* lpszSalt, const char* lpszSourceKeyID);

Unicode (Windows)
LPWSTR DeriveKey(INT iKeyBits, LPCWSTR lpszPassword, LPCWSTR lpszSalt, LPCWSTR lpszSourceKeyID);
char* pkiproxy_cryptokeystore_derivekey(void* lpObj, int iKeyBits, const char* lpszPassword, const char* lpszSalt, const char* lpszSourceKeyID);
QString DeriveKey(int iKeyBits, const QString& qsPassword, const QString& qsSalt, const QString& qsSourceKeyID);

Remarks

Use this method to generate a cryptographically strong key of a needed length from a password.

This method uses a general-purpose PBKDF2 function with PRF1 and 2048 iterations.

Error Handling (C++)

This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

ExportKey Method (CryptoKeyStore Class)

Exports the pinned key.

Syntax

ANSI (Cross Platform)
char* ExportKey(const char* lpszWrapKeyID, const char* lpszPars, int *lpSize = NULL);

Unicode (Windows)
LPSTR ExportKey(LPCWSTR lpszWrapKeyID, LPCWSTR lpszPars, LPINT lpSize = NULL);
char* pkiproxy_cryptokeystore_exportkey(void* lpObj, const char* lpszWrapKeyID, const char* lpszPars, int *lpSize);
QByteArray ExportKey(const QString& qsWrapKeyID, const QString& qsPars);

Remarks

Use this method to export a key referenced in PinnedKey to a byte array. If WrapKeyID is provided, the key will be exported in encrypted form.

Error Handling (C++)

This method returns a Binary String value (with length lpSize); after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

ExportObject Method (CryptoKeyStore Class)

Exports the pinned object.

Syntax

ANSI (Cross Platform)
char* ExportObject(const char* lpszWrapKeyID, const char* lpszPars, int *lpSize = NULL);

Unicode (Windows)
LPSTR ExportObject(LPCWSTR lpszWrapKeyID, LPCWSTR lpszPars, LPINT lpSize = NULL);
char* pkiproxy_cryptokeystore_exportobject(void* lpObj, const char* lpszWrapKeyID, const char* lpszPars, int *lpSize);
QByteArray ExportObject(const QString& qsWrapKeyID, const QString& qsPars);

Remarks

Use this method to export a key referenced in PinnedObject to a byte array.

Error Handling (C++)

This method returns a Binary String value (with length lpSize); after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

GenerateKey Method (CryptoKeyStore Class)

Generates a new cryptographic key or key pair.

Syntax

ANSI (Cross Platform)
int GenerateKey(const char* lpszKeyAlgorithm, const char* lpszScheme, const char* lpszSchemeParams, int iKeyBits);

Unicode (Windows)
INT GenerateKey(LPCWSTR lpszKeyAlgorithm, LPCWSTR lpszScheme, LPCWSTR lpszSchemeParams, INT iKeyBits);
int pkiproxy_cryptokeystore_generatekey(void* lpObj, const char* lpszKeyAlgorithm, const char* lpszScheme, const char* lpszSchemeParams, int iKeyBits);
int GenerateKey(const QString& qsKeyAlgorithm, const QString& qsScheme, const QString& qsSchemeParams, int iKeyBits);

Remarks

Call this method to generate a new key or keypair with the desired KeyAlgorithmand KeyBits of length.

The generated key will be added to the store and populated in the PinnedKey property.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

GetKeyParam Method (CryptoKeyStore Class)

Returns an algorithm-specific key parameter.

Syntax

ANSI (Cross Platform)
char* GetKeyParam(const char* lpszName, int *lpSize = NULL);

Unicode (Windows)
LPSTR GetKeyParam(LPCWSTR lpszName, LPINT lpSize = NULL);
char* pkiproxy_cryptokeystore_getkeyparam(void* lpObj, const char* lpszName, int *lpSize);
QByteArray GetKeyParam(const QString& qsName);

Remarks

Use this method to retrieve an algorithm-specific key parameter.

Error Handling (C++)

This method returns a Byte Array value (with length lpSize); after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

GetKeyParamStr Method (CryptoKeyStore Class)

Returns an algorithm-specific key parameter to a string.

Syntax

ANSI (Cross Platform)
char* GetKeyParamStr(const char* lpszName);

Unicode (Windows)
LPWSTR GetKeyParamStr(LPCWSTR lpszName);
char* pkiproxy_cryptokeystore_getkeyparamstr(void* lpObj, const char* lpszName);
QString GetKeyParamStr(const QString& qsName);

Remarks

Use this method to get an algorithm-specific key parameter to a string.

Error Handling (C++)

This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

GetObjectParam Method (CryptoKeyStore Class)

Returns an object parameter.

Syntax

ANSI (Cross Platform)
char* GetObjectParam(const char* lpszName, int *lpSize = NULL);

Unicode (Windows)
LPSTR GetObjectParam(LPCWSTR lpszName, LPINT lpSize = NULL);
char* pkiproxy_cryptokeystore_getobjectparam(void* lpObj, const char* lpszName, int *lpSize);
QByteArray GetObjectParam(const QString& qsName);

Remarks

Use this method to retrieve an object parameter.

Error Handling (C++)

This method returns a Byte Array value (with length lpSize); after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

GetObjectParamStr Method (CryptoKeyStore Class)

Returns an object parameter to a string.

Syntax

ANSI (Cross Platform)
char* GetObjectParamStr(const char* lpszName);

Unicode (Windows)
LPWSTR GetObjectParamStr(LPCWSTR lpszName);
char* pkiproxy_cryptokeystore_getobjectparamstr(void* lpObj, const char* lpszName);
QString GetObjectParamStr(const QString& qsName);

Remarks

Use this method to get an object parameter to a string.

Error Handling (C++)

This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

ImportKey Method (CryptoKeyStore Class)

Imports a key to the storage.

Syntax

ANSI (Cross Platform)
char* ImportKey(const char* lpValue, int lenValue, const char* lpszKeyAlgorithm, const char* lpszScheme, const char* lpszSchemeParams, const char* lpszWrapKeyID, const char* lpszPars);

Unicode (Windows)
LPWSTR ImportKey(LPCSTR lpValue, INT lenValue, LPCWSTR lpszKeyAlgorithm, LPCWSTR lpszScheme, LPCWSTR lpszSchemeParams, LPCWSTR lpszWrapKeyID, LPCWSTR lpszPars);
char* pkiproxy_cryptokeystore_importkey(void* lpObj, const char* lpValue, int lenValue, const char* lpszKeyAlgorithm, const char* lpszScheme, const char* lpszSchemeParams, const char* lpszWrapKeyID, const char* lpszPars);
QString ImportKey(QByteArray qbaValue, const QString& qsKeyAlgorithm, const QString& qsScheme, const QString& qsSchemeParams, const QString& qsWrapKeyID, const QString& qsPars);

Remarks

Use this method to import a key contained in a byte array.

Error Handling (C++)

This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

ImportObject Method (CryptoKeyStore Class)

Imports an object to the storage.

Syntax

ANSI (Cross Platform)
char* ImportObject(int iObjType, const char* lpObjData, int lenObjData, const char* lpszPars);

Unicode (Windows)
LPWSTR ImportObject(INT iObjType, LPCSTR lpObjData, INT lenObjData, LPCWSTR lpszPars);
char* pkiproxy_cryptokeystore_importobject(void* lpObj, int iObjType, const char* lpObjData, int lenObjData, const char* lpszPars);
QString ImportObject(int iObjType, QByteArray qbaObjData, const QString& qsPars);

Remarks

Use this method to import an object contained in a byte array.

Error Handling (C++)

This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

Lock Method (CryptoKeyStore Class)

Locks the store, preventing concurrent operations by other users.

Syntax

ANSI (Cross Platform)
char* Lock(const char* lpszAccess, int iTimeout);

Unicode (Windows)
LPWSTR Lock(LPCWSTR lpszAccess, INT iTimeout);
char* pkiproxy_cryptokeystore_lock(void* lpObj, const char* lpszAccess, int iTimeout);
QString Lock(const QString& qsAccess, int iTimeout);

Remarks

This operation may not be supported by all store types. Supported Access values: "read", "write". Returns a lock token, which should be passed to the Unlock method when the work is over.

Error Handling (C++)

This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

Open Method (CryptoKeyStore Class)

Opens existing storage or creates one in memory.

Syntax

ANSI (Cross Platform)
int Open(const char* lpszStorageID, const char* lpszOpenMode, const char* lpszAccess);

Unicode (Windows)
INT Open(LPCWSTR lpszStorageID, LPCWSTR lpszOpenMode, LPCWSTR lpszAccess);
int pkiproxy_cryptokeystore_open(void* lpObj, const char* lpszStorageID, const char* lpszOpenMode, const char* lpszAccess);
int Open(const QString& qsStorageID, const QString& qsOpenMode, const QString& qsAccess);

Remarks

Use this method to open the storage with the given StorageID. Key storages can come from several different locations, detailed below. OpenMode: "open", "create", "createnew", "openorcreate" Access: "read", "readwrite", "write", plus a "direct" modifier for real-time access (not commit/update). For example: "read,direct"

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

PerformAction Method (CryptoKeyStore Class)

Performs a custom action and returns its result.

Syntax

ANSI (Cross Platform)
char* PerformAction(const char* lpszAction, const char* lpszParam);

Unicode (Windows)
LPWSTR PerformAction(LPCWSTR lpszAction, LPCWSTR lpszParam);
char* pkiproxy_cryptokeystore_performaction(void* lpObj, const char* lpszAction, const char* lpszParam);
QString PerformAction(const QString& qsAction, const QString& qsParam);

Remarks

Use this method to perform secondary actions not available via the default API.

Error Handling (C++)

This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

RemoveKey Method (CryptoKeyStore Class)

Removes a key from the storage.

Syntax

ANSI (Cross Platform)
int RemoveKey(int iIndex);

Unicode (Windows)
INT RemoveKey(INT iIndex);
int pkiproxy_cryptokeystore_removekey(void* lpObj, int iIndex);
int RemoveKey(int iIndex);

Remarks

Use this method to remove a key from the storage by its index.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

RemoveKeys Method (CryptoKeyStore Class)

Removes a subset of keys from the storage by their IDs.

Syntax

ANSI (Cross Platform)
int RemoveKeys(const char* lpszIDs);

Unicode (Windows)
INT RemoveKeys(LPCWSTR lpszIDs);
int pkiproxy_cryptokeystore_removekeys(void* lpObj, const char* lpszIDs);
int RemoveKeys(const QString& qsIDs);

Remarks

Use this method to remove a selection of keys from the storage by their IDs. Pass comma-separated IDs or ":selected:" to remove the selected keys.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

RemoveObject Method (CryptoKeyStore Class)

Removes an object from the storage.

Syntax

ANSI (Cross Platform)
int RemoveObject(int iIndex);

Unicode (Windows)
INT RemoveObject(INT iIndex);
int pkiproxy_cryptokeystore_removeobject(void* lpObj, int iIndex);
int RemoveObject(int iIndex);

Remarks

Use this method to remove an object from the storage by its index.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

RemoveObjects Method (CryptoKeyStore Class)

Removes a subset of objects from the storage by their IDs.

Syntax

ANSI (Cross Platform)
int RemoveObjects(const char* lpszIDs);

Unicode (Windows)
INT RemoveObjects(LPCWSTR lpszIDs);
int pkiproxy_cryptokeystore_removeobjects(void* lpObj, const char* lpszIDs);
int RemoveObjects(const QString& qsIDs);

Remarks

Use this method to remove a selection of objects from the storage by their IDs. Pass comma-separated IDs or ":selected:" to remove the objects previously selected.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Select Method (CryptoKeyStore Class)

Allows the selection of keys from the store.

Syntax

ANSI (Cross Platform)
char* Select(const char* lpszFilter, int bSelectKeys, int bSelectObjects, int iMaxCount);

Unicode (Windows)
LPWSTR Select(LPCWSTR lpszFilter, BOOL bSelectKeys, BOOL bSelectObjects, INT iMaxCount);
char* pkiproxy_cryptokeystore_select(void* lpObj, const char* lpszFilter, int bSelectKeys, int bSelectObjects, int iMaxCount);
QString Select(const QString& qsFilter, bool bSelectKeys, bool bSelectObjects, int iMaxCount);

Remarks

This function allows the user to select keys from the storage by applying a Filter. MaxCount limits the number of objects and keys selected. If not all objects and keys were returned because of the MaxCount limit, the method returns a "select token" that can be used to continue the search. Pass it as a filter to obtain the next portion of the list.

Error Handling (C++)

This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

SetKeyParam Method (CryptoKeyStore Class)

Sets an algorithm-specific key parameter.

Syntax

ANSI (Cross Platform)
int SetKeyParam(const char* lpszName, const char* lpValue, int lenValue);

Unicode (Windows)
INT SetKeyParam(LPCWSTR lpszName, LPCSTR lpValue, INT lenValue);
int pkiproxy_cryptokeystore_setkeyparam(void* lpObj, const char* lpszName, const char* lpValue, int lenValue);
int SetKeyParam(const QString& qsName, QByteArray qbaValue);

Remarks

Use this method to set an algorithm-specific key parameter.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

SetKeyParamStr Method (CryptoKeyStore Class)

Sets an algorithm-specific key parameter.

Syntax

ANSI (Cross Platform)
int SetKeyParamStr(const char* lpszName, const char* lpszValueStr);

Unicode (Windows)
INT SetKeyParamStr(LPCWSTR lpszName, LPCWSTR lpszValueStr);
int pkiproxy_cryptokeystore_setkeyparamstr(void* lpObj, const char* lpszName, const char* lpszValueStr);
int SetKeyParamStr(const QString& qsName, const QString& qsValueStr);

Remarks

Use this method to set an algorithm-specific key parameter provided in a string.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

SetObjectParam Method (CryptoKeyStore Class)

Sets an algorithm-specific object parameter.

Syntax

ANSI (Cross Platform)
int SetObjectParam(const char* lpszName, const char* lpValue, int lenValue);

Unicode (Windows)
INT SetObjectParam(LPCWSTR lpszName, LPCSTR lpValue, INT lenValue);
int pkiproxy_cryptokeystore_setobjectparam(void* lpObj, const char* lpszName, const char* lpValue, int lenValue);
int SetObjectParam(const QString& qsName, QByteArray qbaValue);

Remarks

Use this method to set an algorithm-specific object parameter.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

SetObjectParamStr Method (CryptoKeyStore Class)

Sets an algorithm-specific object parameter.

Syntax

ANSI (Cross Platform)
int SetObjectParamStr(const char* lpszName, const char* lpszValueStr);

Unicode (Windows)
INT SetObjectParamStr(LPCWSTR lpszName, LPCWSTR lpszValueStr);
int pkiproxy_cryptokeystore_setobjectparamstr(void* lpObj, const char* lpszName, const char* lpszValueStr);
int SetObjectParamStr(const QString& qsName, const QString& qsValueStr);

Remarks

Use this method to set an algorithm-specific object parameter provided in a string.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Unlock Method (CryptoKeyStore Class)

Unlocks the store previously locked with the Lock method.

Syntax

ANSI (Cross Platform)
int Unlock(const char* lpszToken);

Unicode (Windows)
INT Unlock(LPCWSTR lpszToken);
int pkiproxy_cryptokeystore_unlock(void* lpObj, const char* lpszToken);
int Unlock(const QString& qsToken);

Remarks

This operation may not be supported by all store types. Pass the lock token obtained from the Lock method as parameter to this method.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Update Method (CryptoKeyStore Class)

Performs an Update operation on the store, obtaining the up-to-date view of it.

Syntax

ANSI (Cross Platform)
int Update();

Unicode (Windows)
INT Update();
int pkiproxy_cryptokeystore_update(void* lpObj);
int Update();

Remarks

This operation invalidates any key and data objects previously obtained from the store.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

UpdateKey Method (CryptoKeyStore Class)

Performs an Update operation on the pinned key.

Syntax

ANSI (Cross Platform)
int UpdateKey();

Unicode (Windows)
INT UpdateKey();
int pkiproxy_cryptokeystore_updatekey(void* lpObj);
int UpdateKey();

Remarks

TBD

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

UpdateObject Method (CryptoKeyStore Class)

Performs an Update operation on the pinned object.

Syntax

ANSI (Cross Platform)
int UpdateObject();

Unicode (Windows)
INT UpdateObject();
int pkiproxy_cryptokeystore_updateobject(void* lpObj);
int UpdateObject();

Remarks

TBD

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

AttestationRecord Event (CryptoKeyStore Class)

Passes an attestation record to the user code.

Syntax

ANSI (Cross Platform)
virtual int FireAttestationRecord(CryptoKeyStoreAttestationRecordEventParams *e);
typedef struct {
const char *Operation;
const char *OpId;
const char *AttRec; int reserved; } CryptoKeyStoreAttestationRecordEventParams;
Unicode (Windows) virtual INT FireAttestationRecord(CryptoKeyStoreAttestationRecordEventParams *e);
typedef struct {
LPCWSTR Operation;
LPCWSTR OpId;
LPCWSTR AttRec; INT reserved; } CryptoKeyStoreAttestationRecordEventParams;
#define EID_CRYPTOKEYSTORE_ATTESTATIONRECORD 1

virtual INT PKIPROXY_CALL FireAttestationRecord(LPSTR &lpszOperation, LPSTR &lpszOpId, LPSTR &lpszAttRec);
class CryptoKeyStoreAttestationRecordEventParams {
public:
  const QString &Operation();

  const QString &OpId();

  const QString &AttRec();

  int EventRetVal();
  void SetEventRetVal(int iRetVal);
};
// To handle, connect one or more slots to this signal. void AttestationRecord(CryptoKeyStoreAttestationRecordEventParams *e);
// Or, subclass CryptoKeyStore and override this emitter function. virtual int FireAttestationRecord(CryptoKeyStoreAttestationRecordEventParams *e) {...}

Remarks

This event can fire repeatedly during the operation to pass any attestation records to the component user.

The data returned via this event can be saved and used as evidence of the operation performed.

ClientAuth Event (CryptoKeyStore Class)

Notifies the application that the service requested an authentication credential from the client.

Syntax

ANSI (Cross Platform)
virtual int FireClientAuth(CryptoKeyStoreClientAuthEventParams *e);
typedef struct {
const char *Operation;
const char *OpId;
const char *AuthTypes;
int Accept; int reserved; } CryptoKeyStoreClientAuthEventParams;
Unicode (Windows) virtual INT FireClientAuth(CryptoKeyStoreClientAuthEventParams *e);
typedef struct {
LPCWSTR Operation;
LPCWSTR OpId;
LPCWSTR AuthTypes;
BOOL Accept; INT reserved; } CryptoKeyStoreClientAuthEventParams;
#define EID_CRYPTOKEYSTORE_CLIENTAUTH 2

virtual INT PKIPROXY_CALL FireClientAuth(LPSTR &lpszOperation, LPSTR &lpszOpId, LPSTR &lpszAuthTypes, BOOL &bAccept);
class CryptoKeyStoreClientAuthEventParams {
public:
  const QString &Operation();

  const QString &OpId();

  const QString &AuthTypes();

  bool Accept();
  void SetAccept(bool bAccept);

  int EventRetVal();
  void SetEventRetVal(int iRetVal);
};
// To handle, connect one or more slots to this signal. void ClientAuth(CryptoKeyStoreClientAuthEventParams *e);
// Or, subclass CryptoKeyStore and override this emitter function. virtual int FireClientAuth(CryptoKeyStoreClientAuthEventParams *e) {...}

Remarks

AuthTypes contain a list of supported/suggested authentication methods. Use the CryptoChannel object to adjust authentication parameters.

This event can fire repeatedly during an operation, reflecting multi-factor authentication stages.

ClientAuthFailed Event (CryptoKeyStore Class)

Notifies the application about the failure of attempted authentication type.

Syntax

ANSI (Cross Platform)
virtual int FireClientAuthFailed(CryptoKeyStoreClientAuthFailedEventParams *e);
typedef struct {
const char *Operation;
const char *OpId;
const char *AuthType;
int Retry; int reserved; } CryptoKeyStoreClientAuthFailedEventParams;
Unicode (Windows) virtual INT FireClientAuthFailed(CryptoKeyStoreClientAuthFailedEventParams *e);
typedef struct {
LPCWSTR Operation;
LPCWSTR OpId;
LPCWSTR AuthType;
BOOL Retry; INT reserved; } CryptoKeyStoreClientAuthFailedEventParams;
#define EID_CRYPTOKEYSTORE_CLIENTAUTHFAILED 3

virtual INT PKIPROXY_CALL FireClientAuthFailed(LPSTR &lpszOperation, LPSTR &lpszOpId, LPSTR &lpszAuthType, BOOL &bRetry);
class CryptoKeyStoreClientAuthFailedEventParams {
public:
  const QString &Operation();

  const QString &OpId();

  const QString &AuthType();

  bool Retry();
  void SetRetry(bool bRetry);

  int EventRetVal();
  void SetEventRetVal(int iRetVal);
};
// To handle, connect one or more slots to this signal. void ClientAuthFailed(CryptoKeyStoreClientAuthFailedEventParams *e);
// Or, subclass CryptoKeyStore and override this emitter function. virtual int FireClientAuthFailed(CryptoKeyStoreClientAuthFailedEventParams *e) {...}

Remarks

AuthType contain the authentication method that failed.

Set Retry to true to try again (subject to service acceptance).

Error Event (CryptoKeyStore Class)

Information about errors during data delivery.

Syntax

ANSI (Cross Platform)
virtual int FireError(CryptoKeyStoreErrorEventParams *e);
typedef struct {
int ErrorCode;
const char *Description; int reserved; } CryptoKeyStoreErrorEventParams;
Unicode (Windows) virtual INT FireError(CryptoKeyStoreErrorEventParams *e);
typedef struct {
INT ErrorCode;
LPCWSTR Description; INT reserved; } CryptoKeyStoreErrorEventParams;
#define EID_CRYPTOKEYSTORE_ERROR 4

virtual INT PKIPROXY_CALL FireError(INT &iErrorCode, LPSTR &lpszDescription);
class CryptoKeyStoreErrorEventParams {
public:
  int ErrorCode();

  const QString &Description();

  int EventRetVal();
  void SetEventRetVal(int iRetVal);
};
// To handle, connect one or more slots to this signal. void Error(CryptoKeyStoreErrorEventParams *e);
// Or, subclass CryptoKeyStore and override this emitter function. virtual int FireError(CryptoKeyStoreErrorEventParams *e) {...}

Remarks

The Error event is fired in case of exceptional conditions during message processing.

ErrorCode contains an error code and Description contains a textual description of the error. For a list of valid error codes and their descriptions, please refer to the Error Codes section.

Notification Event (CryptoKeyStore Class)

This event notifies the application about an underlying control flow event.

Syntax

ANSI (Cross Platform)
virtual int FireNotification(CryptoKeyStoreNotificationEventParams *e);
typedef struct {
const char *EventID;
const char *EventParam; int reserved; } CryptoKeyStoreNotificationEventParams;
Unicode (Windows) virtual INT FireNotification(CryptoKeyStoreNotificationEventParams *e);
typedef struct {
LPCWSTR EventID;
LPCWSTR EventParam; INT reserved; } CryptoKeyStoreNotificationEventParams;
#define EID_CRYPTOKEYSTORE_NOTIFICATION 5

virtual INT PKIPROXY_CALL FireNotification(LPSTR &lpszEventID, LPSTR &lpszEventParam);
class CryptoKeyStoreNotificationEventParams {
public:
  const QString &EventID();

  const QString &EventParam();

  int EventRetVal();
  void SetEventRetVal(int iRetVal);
};
// To handle, connect one or more slots to this signal. void Notification(CryptoKeyStoreNotificationEventParams *e);
// Or, subclass CryptoKeyStore and override this emitter function. virtual int FireNotification(CryptoKeyStoreNotificationEventParams *e) {...}

Remarks

The class fires this event to let the application know about some event, occurrence, or milestone in the component. For example, it may fire to report completion of the document processing. The list of events being reported is not fixed, and may be flexibly extended over time.

The unique identifier of the event is provided in EventID parameter. EventParam contains any parameters accompanying the occurrence. Depending on the type of the component, the exact action it is performing, or the document being processed, one or both may be omitted.

OperationFinish Event (CryptoKeyStore Class)

Reports the completion of data processing operation.

Syntax

ANSI (Cross Platform)
virtual int FireOperationFinish(CryptoKeyStoreOperationFinishEventParams *e);
typedef struct {
const char *Operation;
const char *OpId; int reserved; } CryptoKeyStoreOperationFinishEventParams;
Unicode (Windows) virtual INT FireOperationFinish(CryptoKeyStoreOperationFinishEventParams *e);
typedef struct {
LPCWSTR Operation;
LPCWSTR OpId; INT reserved; } CryptoKeyStoreOperationFinishEventParams;
#define EID_CRYPTOKEYSTORE_OPERATIONFINISH 6

virtual INT PKIPROXY_CALL FireOperationFinish(LPSTR &lpszOperation, LPSTR &lpszOpId);
class CryptoKeyStoreOperationFinishEventParams {
public:
  const QString &Operation();

  const QString &OpId();

  int EventRetVal();
  void SetEventRetVal(int iRetVal);
};
// To handle, connect one or more slots to this signal. void OperationFinish(CryptoKeyStoreOperationFinishEventParams *e);
// Or, subclass CryptoKeyStore and override this emitter function. virtual int FireOperationFinish(CryptoKeyStoreOperationFinishEventParams *e) {...}

Remarks

This event fires when the cryptographic operation has completed.

OperationStart Event (CryptoKeyStore Class)

Reports the start of data processing operation.

Syntax

ANSI (Cross Platform)
virtual int FireOperationStart(CryptoKeyStoreOperationStartEventParams *e);
typedef struct {
const char *Operation;
const char *OpId;
int Cancel; int reserved; } CryptoKeyStoreOperationStartEventParams;
Unicode (Windows) virtual INT FireOperationStart(CryptoKeyStoreOperationStartEventParams *e);
typedef struct {
LPCWSTR Operation;
LPCWSTR OpId;
BOOL Cancel; INT reserved; } CryptoKeyStoreOperationStartEventParams;
#define EID_CRYPTOKEYSTORE_OPERATIONSTART 7

virtual INT PKIPROXY_CALL FireOperationStart(LPSTR &lpszOperation, LPSTR &lpszOpId, BOOL &bCancel);
class CryptoKeyStoreOperationStartEventParams {
public:
  const QString &Operation();

  const QString &OpId();

  bool Cancel();
  void SetCancel(bool bCancel);

  int EventRetVal();
  void SetEventRetVal(int iRetVal);
};
// To handle, connect one or more slots to this signal. void OperationStart(CryptoKeyStoreOperationStartEventParams *e);
// Or, subclass CryptoKeyStore and override this emitter function. virtual int FireOperationStart(CryptoKeyStoreOperationStartEventParams *e) {...}

Remarks

This event fires when the cryptographic operation is about to start.

Use the Cancel parameter to cancel the operation.

Progress Event (CryptoKeyStore Class)

Reports the data encryption/decryption progress.

Syntax

ANSI (Cross Platform)
virtual int FireProgress(CryptoKeyStoreProgressEventParams *e);
typedef struct {
const char *Operation;
const char *OpId;
int64 Total;
int64 Current;
int Cancel; int reserved; } CryptoKeyStoreProgressEventParams;
Unicode (Windows) virtual INT FireProgress(CryptoKeyStoreProgressEventParams *e);
typedef struct {
LPCWSTR Operation;
LPCWSTR OpId;
LONG64 Total;
LONG64 Current;
BOOL Cancel; INT reserved; } CryptoKeyStoreProgressEventParams;
#define EID_CRYPTOKEYSTORE_PROGRESS 8

virtual INT PKIPROXY_CALL FireProgress(LPSTR &lpszOperation, LPSTR &lpszOpId, LONG64 &lTotal, LONG64 &lCurrent, BOOL &bCancel);
class CryptoKeyStoreProgressEventParams {
public:
  const QString &Operation();

  const QString &OpId();

  qint64 Total();

  qint64 Current();

  bool Cancel();
  void SetCancel(bool bCancel);

  int EventRetVal();
  void SetEventRetVal(int iRetVal);
};
// To handle, connect one or more slots to this signal. void Progress(CryptoKeyStoreProgressEventParams *e);
// Or, subclass CryptoKeyStore and override this emitter function. virtual int FireProgress(CryptoKeyStoreProgressEventParams *e) {...}

Remarks

This event fires periodically during a file encrypt/decrypt operation to report its progress.

Use the Cancel parameter to terminate the encryption/decryption if needed.

ServiceAuth Event (CryptoKeyStore Class)

Notifies about the start of service authentication.

Syntax

ANSI (Cross Platform)
virtual int FireServiceAuth(CryptoKeyStoreServiceAuthEventParams *e);
typedef struct {
const char *Operation;
const char *OpId;
const char *AuthType;
const char *AuthID;
const char *AuthToken;
int Accept; int reserved; } CryptoKeyStoreServiceAuthEventParams;
Unicode (Windows) virtual INT FireServiceAuth(CryptoKeyStoreServiceAuthEventParams *e);
typedef struct {
LPCWSTR Operation;
LPCWSTR OpId;
LPCWSTR AuthType;
LPCWSTR AuthID;
LPCWSTR AuthToken;
BOOL Accept; INT reserved; } CryptoKeyStoreServiceAuthEventParams;
#define EID_CRYPTOKEYSTORE_SERVICEAUTH 9

virtual INT PKIPROXY_CALL FireServiceAuth(LPSTR &lpszOperation, LPSTR &lpszOpId, LPSTR &lpszAuthType, LPSTR &lpszAuthID, LPSTR &lpszAuthToken, BOOL &bAccept);
class CryptoKeyStoreServiceAuthEventParams {
public:
  const QString &Operation();

  const QString &OpId();

  const QString &AuthType();

  const QString &AuthID();

  const QString &AuthToken();

  bool Accept();
  void SetAccept(bool bAccept);

  int EventRetVal();
  void SetEventRetVal(int iRetVal);
};
// To handle, connect one or more slots to this signal. void ServiceAuth(CryptoKeyStoreServiceAuthEventParams *e);
// Or, subclass CryptoKeyStore and override this emitter function. virtual int FireServiceAuth(CryptoKeyStoreServiceAuthEventParams *e) {...}

Remarks

Subscribe to this event to respond to service authentication and validate credentials as required.

This event can fire repeatedly during an operation, reflecting multi-factor authentication stages.

ServiceAuthFailed Event (CryptoKeyStore Class)

Notifies about the failure of service authentication attempt.

Syntax

ANSI (Cross Platform)
virtual int FireServiceAuthFailed(CryptoKeyStoreServiceAuthFailedEventParams *e);
typedef struct {
const char *Operation;
const char *OpId;
const char *AuthType;
const char *AuthID; int reserved; } CryptoKeyStoreServiceAuthFailedEventParams;
Unicode (Windows) virtual INT FireServiceAuthFailed(CryptoKeyStoreServiceAuthFailedEventParams *e);
typedef struct {
LPCWSTR Operation;
LPCWSTR OpId;
LPCWSTR AuthType;
LPCWSTR AuthID; INT reserved; } CryptoKeyStoreServiceAuthFailedEventParams;
#define EID_CRYPTOKEYSTORE_SERVICEAUTHFAILED 10

virtual INT PKIPROXY_CALL FireServiceAuthFailed(LPSTR &lpszOperation, LPSTR &lpszOpId, LPSTR &lpszAuthType, LPSTR &lpszAuthID);
class CryptoKeyStoreServiceAuthFailedEventParams {
public:
  const QString &Operation();

  const QString &OpId();

  const QString &AuthType();

  const QString &AuthID();

  int EventRetVal();
  void SetEventRetVal(int iRetVal);
};
// To handle, connect one or more slots to this signal. void ServiceAuthFailed(CryptoKeyStoreServiceAuthFailedEventParams *e);
// Or, subclass CryptoKeyStore and override this emitter function. virtual int FireServiceAuthFailed(CryptoKeyStoreServiceAuthFailedEventParams *e) {...}

Remarks

Subscribe to this event to track service authentication failures.

Config Settings (CryptoKeyStore Class)

The class accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the class, access to these internal properties is provided through the Config method.

CryptoKeyStore Config Settings

TempPath:   Path for storing temporary files.

This setting specifies an absolute path to the location on disk where temporary files are stored.

Trappable Errors (CryptoKeyStore Class)

Error Handling (C++)

Call the GetLastErrorCode() method to obtain the last called method's result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. Known error codes are listed below. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.

CryptoKeyStore Errors

1   error message (1)