»Home
»News
»Download
»Documentation
     »oathtool(1)
     »pskctool(1)
     »Liboath API
     »PSKC Tutorial
     »Libpskc API
     »pam_oath
»Contribute
OATH Toolkit
One-time password components

enums

enums — PSKC value enumerations and related functions.

Types and Values

Description

The pskc_pinusagemode type describes PIN Policy Usage Modes. You can convert between string representation and integer values using pskc_pinusagemode2str() and pskc_str2pinusagemode().

The pskc_valueformat type describes PSKC data value encodings. You can convert between string representation and integer values using pskc_valueformat2str() and pskc_str2valueformat().

The pskc_keyusage type describes what PSKC keys may be used for. You can convert between string representation and integer values using pskc_keyusage2str() and pskc_str2keyusage(). Note that often multiple pskc_keyusage values are ORed together to form set of values.

Functions

pskc_pinusagemode2str ()

const char *
pskc_pinusagemode2str (pskc_pinusagemode pinusagemode);

Convert pskc_pinusagemode to a string. For example, pskc_pinusagemode2str(PSKC_PINUSAGEMODE_LOCAL) will return "Local". The returned string must not be deallocated.

Parameters

pinusagemode

an pskc_pinusagemode enumeration type

 

Returns

String corresponding to pskc_pinusagemode.


pskc_str2pinusagemode ()

pskc_pinusagemode
pskc_str2pinusagemode (const char *pinusagemode);

Convert a string to a pskc_pinusagemode type. For example, pskc_str2pinusagemode("Local") will return PSKC_PINUSAGEMODE_LOCAL.

Parameters

pinusagemode

an string describing a key usage.

 

Returns

The corresponding pskc_pinusagemode value.


pskc_valueformat2str ()

const char *
pskc_valueformat2str (pskc_valueformat valueformat);

Convert pskc_valueformat to a string. For example, pskc_valueformat2str(PSKC_VALUEFORMAT_DECIMAL) will return "DECIMAL". The returned string must not be deallocated.

Parameters

valueformat

an pskc_valueformat enumeration type

 

Returns

String corresponding to pskc_valueformat.


pskc_str2valueformat ()

pskc_valueformat
pskc_str2valueformat (const char *valueformat);

Convert a string to a pskc_valueformat type. For example, pskc_str2valueformat("DECIMAL") will return PSKC_VALUEFORMAT_DECIMAL.

Parameters

valueformat

an string describing a key usage.

 

Returns

The corresponding pskc_valueformat value.


pskc_keyusage2str ()

const char *
pskc_keyusage2str (pskc_keyusage keyusage);

Convert pskc_keyusage to a string. For example, pskc_keyusage2str(PSKC_KEYUSAGE_OTP) will return "OTP". The returned string must not be deallocated.

Parameters

keyusage

an pskc_keyusage enumeration type

 

Returns

String corresponding to pskc_keyusage.


pskc_str2keyusage ()

pskc_keyusage
pskc_str2keyusage (const char *keyusage);

Convert a string to a pskc_keyusage type. For example, pskc_str2keyusage("KeyWrap") will return PSKC_KEYUSAGE_KEYWRAP.

Parameters

keyusage

an string describing a key usage.

 

Returns

The corresponding pskc_keyusage value.

Types and Values

enum pskc_pinusagemode

Enumeration of PIN Policy Usage Modes. This indicate the way the PIN is used.

Members

PSKC_PINUSAGEMODE_UNKNOWN

Unknown mode.

 

PSKC_PINUSAGEMODE_LOCAL

PIN is checked locally on the device.

 

PSKC_PINUSAGEMODE_PREPEND

PIN is prepended to the OTP and checked by OTP validating party.

 

PSKC_PINUSAGEMODE_APPEND

PIN is appended to the OTP and checked by OTP validating party.

 

PSKC_PINUSAGEMODE_ALGORITHMIC

The PIN is used as part of the algorithm computation.

 

PSKC_PINUSAGEMODE_LAST

Meta-value corresponding to the highest value, for use in iterating over all usage mode values.

 

enum pskc_valueformat

Enumeration of PSKC value encoding formats.

Members

PSKC_VALUEFORMAT_UNKNOWN

Unknown format.

 

PSKC_VALUEFORMAT_DECIMAL

Only numerical digits.

 

PSKC_VALUEFORMAT_HEXADECIMAL

Hexadecimal response.

 

PSKC_VALUEFORMAT_ALPHANUMERIC

All letters and numbers (case sensitive).

 

PSKC_VALUEFORMAT_BASE64

Base-64 encoded.

 

PSKC_VALUEFORMAT_BINARY

Binary data.

 

PSKC_VALUEFORMAT_LAST

Meta-value corresponding to the highest value, for use in iterating over all encoding format values.

 

enum pskc_keyusage

Enumeration of PSKC key usage values. These values puts constraints on the intended usage of the key. The recipient of the PSKC document MUST enforce the key usage. The values are assigned to numbers so that they can be ORed together to form a set of values.

Members

PSKC_KEYUSAGE_UNKNOWN

Unknown format.

 

PSKC_KEYUSAGE_OTP

The key MUST only be used for OTP generation.

 

PSKC_KEYUSAGE_CR

The key MUST only be used for Challenge/Response purposes.

 

PSKC_KEYUSAGE_ENCRYPT

The key MUST only be used for data encryption purposes.

 

PSKC_KEYUSAGE_INTEGRITY

The key MUST only be used to generate a keyed message digest for data integrity or authentication purposes.

 

PSKC_KEYUSAGE_VERIFY

The key MUST only be used to verify a keyed message digest for data integrity or authentication purposes (this is the opposite key usage of 'Integrity').

 

PSKC_KEYUSAGE_UNLOCK

The key MUST only be used for an inverse Challenge/ Response in the case where a user has locked the device by entering a wrong PIN too many times (for devices with PIN-input capability).

 

PSKC_KEYUSAGE_DECRYPT

The key MUST only be used for data decryption purposes.

 

PSKC_KEYUSAGE_KEYWRAP

The key MUST only be used for key wrap purposes.

 

PSKC_KEYUSAGE_UNWRAP

The key MUST only be used for key unwrap purposes.

 

PSKC_KEYUSAGE_DERIVE

The key MUST only be used with a key derivation function to derive a new key.

 

PSKC_KEYUSAGE_GENERATE

The key MUST only be used to generate a new key based on a random number and the previous value of the key.

 

PSKC_KEYUSAGE_LAST

Meta-value corresponding to the highest value, for use in iterating over all key usage values.