Table of Contents

Class SessionKeys

Namespace
Yubico.YubiKey.YubiHsmAuth
Assembly
Yubico.YubiKey.dll

These session keys are used to establish an encrypted and authenticated session with a YubiHSM 2 device. The secure session is based on the Global Platform Secure Channel Protocol '03' (SCP03).

public class SessionKeys
Inheritance
object
SessionKeys

Remarks

These session keys are calculated from a credential in the YubiHSM Auth application. See GetAes128SessionKeysCommand and GetAes128SessionKeysResponse for more information on retrieving these values.

Constructors

SessionKeys(ReadOnlyMemory<byte>, ReadOnlyMemory<byte>, ReadOnlyMemory<byte>)

Construct a set of session keys with the given values.

public SessionKeys(ReadOnlyMemory<byte> encryptionKey, ReadOnlyMemory<byte> macKey, ReadOnlyMemory<byte> rmacKey)

Parameters

encryptionKey ReadOnlyMemory<byte>

Sets EncryptionKey.

macKey ReadOnlyMemory<byte>

Sets MacKey.

rmacKey ReadOnlyMemory<byte>

Sets RmacKey.

Properties

EncryptionKey

Secure Channel command and response encryption session key.

public ReadOnlyMemory<byte> EncryptionKey { get; }

Property Value

ReadOnlyMemory<byte>

Remarks

Used for data confidentiality.

MacKey

Secure Channel Message Authentication Code session key for commands.

public ReadOnlyMemory<byte> MacKey { get; }

Property Value

ReadOnlyMemory<byte>

Remarks

This session key is used for data and protocol integrity in commands.

RmacKey

Secure Channel Message Authentication Code session key for responses.

public ReadOnlyMemory<byte> RmacKey { get; }

Property Value

ReadOnlyMemory<byte>

Remarks

This session key is used for data and protocol integrity in responses.