Cryptnox Docs

Introduction To Admin Commands

Introduction To Admin Commands

We provide a suite of administrative commands designed to manage and configure its hardware security devices. These commands facilitate various operations, including seed management, key derivation, and authentication settings. Key admin commands include:
Admin CommandDescription
Seed AdministrationManage cryptographic seeds that are essential for key generation and security operations.
Change Pairing KeyChange the pairing key to maintain secure communication between devices.
Derive KeyDerive keys from existing seeds for various cryptographic purposes.
Get Public Key (Pubkey)Retrieve the public key associated with a specific private key stored on the device.
Get HistoryAccess the history of operations or transactions performed by the device.
Set Pin Authentication (Pin Auth)Configure PIN-based authentication mechanisms to enhance device security.
Set Pinless PathDefine operations or paths that can be executed without PIN authentication.
User Key Management (Add, Check, and Delete)Introduce a new user key into the device’s key management system, verify an existing key, and remove a user key from the device.
Challenge ResponseImplement challenge-response authentication protocols to verify identities securely.

Communication Libraries

We offer communication libraries in Python and Rust to facilitate integration and management of these commands within your applications.
  1. Python Library: A Python library for card communication, enabling high-level functions to interact with Cryptnox devices.

  2. Rust Library: A Rust library providing high-level functions to send instructions and manage the lifecycle of Cryptnox smartcard applets.

📘

Note

We currently offer the documentation for Python library. The documentation for the Rust library will soon be made available.

These libraries are designed to streamline the integration of Cryptnox devices into your projects, offering a programmatic approach to execute admin commands and manage device functionalities effectively.

Card Object

The following code snippet shows the Python object to get the Cryptnox card:

def get_card(): return cp.factory.get_card(cp.Connection()) card: BasicG1 = get_card()

Additional Admin Commands

Command

Description

INIT

Initializes the device or resets it to a predefined state. Often used during personalization or factory setup.

Open Secure Channel

Establishes a secure communication channel using cryptographic protocols such as GlobalPlatform SCP or proprietary equivalents.

Mutually Authenticate

Performs a mutual authentication handshake between the host and device to ensure trust on both sides.

Change PIN

Allows modification of the PIN used for user authentication. May be restricted based on policy.

Unblock PIN

Unblocks a locked PIN counter using an administrative key or PUK, restoring access to the device.

Write Data

Writes protected data to the card’s non-volatile memory. Access is restricted to authenticated sessions.

Set Public Key Export

Configures whether certain public keys can be exported or used externally.

Generate Key

Generates new cryptographic key pairs inside the secure device. May support key derivation paths or templates.

Reset

Resets the device, session, or secure channel. May be used to clear session states or reinitialize contexts.