typedef TInt | TKeyUsage |
General Security Definitions What a key can be used for. The values this can take are defined in TKeyUsageVals.
Deprecated
What a key can be used for.
These values can be ORed together if a key has several usages. EAllKeyUsages is used when searching for all keys, rather than ones with a particular usage. As these can be combined, TKeyUsage is used to store them.
Deprecated
Enumerator | Value | Description |
---|---|---|
EDigitalSignature | 0x80000000 | |
ENonRepudiation | 0x40000000 | |
EKeyEncipherment | 0x20000000 | |
EDataEncipherment | 0x10000000 | |
EKeyAgreement | 0x08000000 | |
EKeyCertSign | 0x04000000 | |
ECRLSign | 0x02000000 | |
EEncipherOnly | 0x01000000 | |
EDecipherOnly | 0x00800000 | |
EAllKeyUsages | -1 |
What a key can be used for - PKCS#15 scheme.
Enumerator | Value | Description |
---|---|---|
EPKCS15UsageEncrypt | 0x001 | |
EPKCS15UsageDecrypt | 0x002 | |
EPKCS15UsageSign | 0x004 | |
EPKCS15UsageSignRecover | 0x008 | |
EPKCS15UsageWrap | 0x010 | |
EPKCS15UsageUnwrap | 0x020 | |
EPKCS15UsageVerify | 0x040 | |
EPKCS15UsageVerifyRecover | 0x080 | |
EPKCS15UsageDerive | 0x100 | |
EPKCS15UsageNonRepudiation | 0x200 | |
EPKCS15UsageEncryptWrap | 0x011 | |
EPKCS15UsageVerifyVerifyRecover | 0x0C0 | |
EPKCS15UsageDecryptUnwrap | 0x022 | |
EPKCS15UsageSignSignRecover | 0x00C | |
EPKCS15UsageVerifyEncrypt | 0x0D1 | |
EPKCS15UsageSignDecrypt | 0x02E | |
EPKCS15UsageAll | 0xffffffff | |
EPKCS15UsageNone | 0x00000000 |
What a key can be used for - X.509 scheme.
Enumerator | Value | Description |
---|---|---|
EX509UsageDigitalSignature | 0x80000000 | |
EX509UsageNonRepudiation | 0x40000000 | |
EX509UsageKeyEncipherment | 0x20000000 | |
EX509UsageDataEncipherment | 0x10000000 | |
EX509UsageKeyAgreement | 0x08000000 | |
EX509UsageKeyCertSign | 0x04000000 | |
EX509UsageCRLSign | 0x02000000 | |
EX509UsageEncipherOnly | 0x01000000 | |
EX509UsageDecipherOnly | 0x00800000 | |
EX509UsageAnySign | 0x86000000 | |
EX509UsageAllEncipher | 0x30000000 | |
EX509UsageAllSignEncipher | 0xB6000000 | |
EX509UsageAll | 0xffffffff | For use in filters to return all keys. |
EX509UsageNone | 0x00000000 |
Supported types of certificate format. Note these must be only 1 byte long as the file cert store only seralises them as 1 byte.
Enumerator | Value | Description |
---|---|---|
EX509Certificate | 0x00 | |
EWTLSCertificate | 0x01 | |
EX968Certificate | 0x02 | |
EUnknownCertificate | 0x0f | |
EX509CertificateUrl | 0x10 | |
EWTLSCertificateUrl | 0x11 | |
EX968CertificateUrl | 0x12 |
The owner of a certificate.
Enumerator | Value | Description |
---|---|---|
ECACertificate | ||
EUserCertificate | ||
EPeerCertificate |
typedef TSHA1Hash | TKeyIdentifier |
A SHA-1 hash is also used as a key identifier.
Errors that can occur when validating a certificate chain.
Except EValidatedOK, all these are fatal errors unless specified.
Enumerator | Value | Description |
---|---|---|
EValidatedOK |
Validation OK | |
EChainHasNoRoot |
Certificate chain has no root | |
ESignatureInvalid |
Invalid signature | |
EDateOutOfRange |
Date out of range | |
ENameIsExcluded |
Name is excluded | |
ENameNotPermitted |
Name is not permitted | |
ENotCACert |
Not a CA certificate | |
ECertificateRevoked |
Certificate revoked | |
EUnrecognizedCriticalExtension |
Unrecognized critical extension | |
ENoBasicConstraintInCACert |
No basic constraint in CA certificate | |
ENoAcceptablePolicy |
No acceptable policy | |
EPathTooLong |
Path too long | |
ENegativePathLengthSpecified |
Negative path length specified | |
ENamesDontChain |
Names do not chain | |
ERequiredPolicyNotFound |
Required policy not found | |
EBadKeyUsage |
Bad key usage | |
ERootCertNotSelfSigned |
Root certificate not self-signed. We cannot tell if this is fatal or not, as we lack the context. | |
ECriticalExtendedKeyUsage |
Critical extended key usage We cannot tell if this is fatal or not, as we lack the context. | |
ECriticalCertPoliciesWithQualifiers |
Critical certificate policies with qualifiers We cannot tell if this is fatal or not, as we lack the context. | |
ECriticalPolicyMapping |
Critical policy mapping We cannot tell if this is fatal or not, as we lack the context. | |
ECriticalDeviceId |
Critical Device Id We cannot tell if this is fatal or not, as we lack the context. | |
ECriticalSid |
Critical Sid We cannot tell if this is fatal or not, as we lack the context. | |
ECriticalVid |
Critical Vid We cannot tell if this is fatal or not, as we lack the context. | |
ECriticalCapabilities |
Critical Capabilities We cannot tell if this is fatal or not, as we lack the context. |