CXI
Loading...
Searching...
No Matches
Modules | Macros
Key Properties
Collaboration diagram for Key Properties:

Modules

 Algorithm Specifier
 

Macros

#define CXI_PROP_KEY_GROUP   1
 Key group name (default: empty) [array<byte>].
 
#define CXI_PROP_KEY_NAME   2
 Key name (default: empty) [array<byte>].
 
#define CXI_PROP_KEY_ALGO   3
 Algorithm specifier, see Algorithm Specifier [int].
 
#define CXI_PROP_KEY_SIZE   4
 Key size in bits [int].
 
#define CXI_PROP_KEY_EXPORT   5
 Export permission (bit field), see Export Policy Specifier [int].
 
#define CXI_PROP_KEY_USAGE   6
 Key usage specifier (bit field), see Usage Specifier [int].
 
#define CXI_PROP_KEY_MECHS   7
 Mechanisms allowed to be used with this key, see Mode Parameter, Chaining Modes, Padding Modes, Hash Algorithms, Key Derivation Functions [array<int>].
 
#define CXI_PROP_KEY_SPEC   8
 Additional key specifier [int].
 
#define CXI_PROP_KEY_LABEL   9
 Label (default: empty) [array<byte>].
 
#define CXI_PROP_KEY_BLEN   10
 Block length of algorithm in bytes (virtual) [int].
 
#define CXI_PROP_KEY_UNAME   11
 Unique key name / database index (virtual) [array<byte>].
 
#define CXI_PROP_KEY_TYPE   12
 Key type, see Key Types [int].
 
#define CXI_PROP_KEY_DATE_GEN   13
 Generation date / start of validity period (default: empty) [yymmddhhmmss].
 
#define CXI_PROP_KEY_CERT   14
 Certificate associated with the key [array<byte>].
 
#define CXI_PROP_KEY_DATE_EXP   15
 Expiration date / end of validity period (default: empty) [yymmddhhmmss].
 
#define CXI_PROP_KEY_RSA_MOD   20
 RSA modulus (virtual, can't be set) (virtual) [array<byte>].
 
#define CXI_PROP_KEY_RSA_EXP   21
 RSA public exponent (default: '010001') (virtual) [array<byte>].
 
#define CXI_PROP_KEY_DSA_P   25
 DSA domain parameter: prime P [array<byte>].
 
#define CXI_PROP_KEY_DSA_Q   26
 DSA domain parameter: prime Q [array<byte>].
 
#define CXI_PROP_KEY_DSA_G   27
 DSA domain parameter: generator [array<byte>].
 
#define CXI_PROP_KEY_DSA_PUBKEY   28
 DSA public key (virtual) [array<byte>].
 
#define CXI_PROP_KEY_EC_CURVE   30
 Elliptic curve name (string) or domain parameter (OID or ASN.1 definition) [array<byte>].
 
#define CXI_PROP_KEY_EC_PUBKEY   31
 Elliptic curve public key (virtual) [array<byte>].
 
#define CXI_PROP_FIPS_KEY_USAGE_PADDING   109
 Key usage / padding property (bit field) for FIPS, see Usage / Padding Specifier for FIPS [int].
 
#define CXI_PROP_CC_KEY_USAGE   112
 Key usage property (bit field) for CC, see Usage Specifier for CC [int].
 
#define CXI_PROP_KEY_GROUP   1
 Key group name (default: empty) [array<byte>].
 
#define CXI_PROP_KEY_NAME   2
 Key name (default: empty) [array<byte>].
 
#define CXI_PROP_KEY_ALGO   3
 Algorithm specifier, see Algorithm Specifier [int].
 
#define CXI_PROP_KEY_SIZE   4
 Key size in bits [int].
 
#define CXI_PROP_KEY_EXPORT   5
 Export permission (bit field), see Export Policy Specifier [int].
 
#define CXI_PROP_KEY_USAGE   6
 Key usage specifier (bit field), see Usage Specifier [int].
 
#define CXI_PROP_KEY_MECHS   7
 Mechanisms allowed to be used with this key, see Mode Parameter, Chaining Modes, Padding Modes, Hash Algorithms, Key Derivation Functions [array<int>].
 
#define CXI_PROP_KEY_SPEC   8
 Additional key specifier [int].
 
#define CXI_PROP_KEY_LABEL   9
 Label (default: empty) [array<byte>].
 
#define CXI_PROP_KEY_BLEN   10
 Block length of algorithm in bytes (virtual) [int].
 
#define CXI_PROP_KEY_UNAME   11
 Unique key name / database index (virtual) [array<byte>].
 
#define CXI_PROP_KEY_TYPE   12
 Key type, see Key Types [int].
 
#define CXI_PROP_KEY_DATE_GEN   13
 Generation date / start of validity period (default: empty) [yymmddhhmmss].
 
#define CXI_PROP_KEY_CERT   14
 Certificate associated with the key [array<byte>].
 
#define CXI_PROP_KEY_DATE_EXP   15
 Expiration date / end of validity period (default: empty) [yymmddhhmmss].
 
#define CXI_PROP_KEY_RSA_MOD   20
 RSA modulus (virtual, can't be set) (virtual) [array<byte>].
 
#define CXI_PROP_KEY_RSA_EXP   21
 RSA public exponent (default: '010001') (virtual) [array<byte>].
 
#define CXI_PROP_KEY_DSA_P   25
 DSA domain parameter: prime P [array<byte>].
 
#define CXI_PROP_KEY_DSA_Q   26
 DSA domain parameter: prime Q [array<byte>].
 
#define CXI_PROP_KEY_DSA_G   27
 DSA domain parameter: generator [array<byte>].
 
#define CXI_PROP_KEY_DSA_PUBKEY   28
 DSA public key (virtual) [array<byte>].
 
#define CXI_PROP_KEY_EC_CURVE   30
 Elliptic curve name (string) or domain parameter (OID or ASN.1 definition) [array<byte>].
 
#define CXI_PROP_KEY_EC_PUBKEY   31
 Elliptic curve public key (virtual) [array<byte>].
 
#define CXI_PROP_FIPS_KEY_USAGE_PADDING   109
 Key usage / padding property (bit field) for FIPS, see Usage / Padding Specifier for FIPS [int].
 
#define CXI_PROP_CC_KEY_USAGE   112
 Key usage property (bit field) for CC, see Usage Specifier for CC [int].
 

Detailed Description

Key Properties are used to add additional information to a key. Some key properties are mandatory (e.g. algorithm) and have to be set on creation of the key object (generation or import), other properties are optionally (e.g. expiration date) and may be left unset.

Some properties are allowed to be modified later (e.g. label), other properties are completely read-only on certain operations (e.g. algorithm).
Some properties, the so called 'virtual' properties, are not stored with the key object and evaluated on demand (e.g. block length, RSA modulus).