Home | Trees | Indices | Help |
|
---|
|
Base class for accessing a YubiHSM.
Instance Methods | |||
|
|||
|
|||
bool |
|
||
bool |
|
||
|
|||
string |
|
||
YHSM_Cmd_System_Info |
|
||
string |
|
||
bool |
|
||
YHSM_NonceResponse |
|
||
bool |
|
||
bool |
|
||
|
|||
integer |
|
||
integer |
|
||
integer |
|
||
YHSM_GeneratedAEAD |
|
||
YHSM_GeneratedAEAD |
|
||
YHSM_GeneratedAEAD |
|
||
bool |
|
||
YHSM_ValidationResult |
|
||
NoneType |
|
||
Serial |
|
||
bool |
|
||
string |
|
||
string |
|
||
bool |
|
||
YHSM_Cmd_HMAC_SHA1_Write |
|
||
bool |
|
||
YHSM_ValidationResult |
|
Method Details |
Perform stream resynchronization.
|
Set debug mode.
|
Verify that data we send to and receive from the YubiHSM isn't mangled. In some scenarios, communications with the YubiHSM might be affected by terminal line settings turning CR into LF for example. |
Echo test.
See Also: pyhsm.basic_cmd.YHSM_Cmd_Echo |
Get firmware version and unique ID from YubiHSM.
See Also: pyhsm.basic_cmd.YHSM_Cmd_System_Info |
Get random bytes from YubiHSM. The random data is DRBG_CTR seeded on each startup by a hardware TRNG, so it should be of very good quality.
See Also: pyhsm.basic_cmd.YHSM_Cmd_Random |
Provide YubiHSM DRBG_CTR with a new seed.
See Also: pyhsm.basic_cmd.YHSM_Cmd_Random_Reseed |
Get current nonce from YubiHSM. Use increment 0 to just fetch the value without incrementing it.
See Also: pyhsm.basic_cmd.YHSM_Cmd_Nonce_Get |
Load the contents of an AEAD into the phantom key handle 0xffffffff.
See Also: pyhsm.basic_cmd.YHSM_Cmd_Temp_Key_Load |
Unlock the YubiHSM using the master key and/or a YubiKey OTP. If the master key is given during configuration, all key handles will be encrypted (with AES-256) using that passphrase. If one or more admin Yubikey public id's are given during configuration, an OTP from one of these must be provided to the YubiHSM for it to start responding to cryptographic requests. The admin YubiKeys must be present in the internal database for this validation to work.
|
Deprecated: Too specific (and hard to remember) name. See Also: unlock |
Ask YubiHSM to load a pre-existing YubiKey secret. The data is stored internally in the YubiHSM in temporary memory - this operation would typically be followed by one or more generate_aead commands to actually retreive the generated secret (in encrypted form).
See Also: pyhsm.buffer_cmd.YHSM_Cmd_Buffer_Load |
Ask YubiHSM to load arbitrary data into it's internal buffer, at any offset. The data is stored internally in the YubiHSM in temporary memory - this operation would typically be followed by one or more generate_aead commands to actually retreive the generated secret (in encrypted form). Load data to offset 0 to reset the buffer.
See Also: pyhsm.buffer_cmd.YHSM_Cmd_Buffer_Load |
Ask YubiHSM to generate a number of random bytes to any offset of it's internal buffer. The data is stored internally in the YubiHSM in temporary memory - this operation would typically be followed by one or more generate_aead commands to actually retreive the generated secret (in encrypted form).
|
Generate AEAD block from data for a specific key in a single step (without using the YubiHSM internal buffer).
See Also: pyhsm.aead_cmd.YHSM_Cmd_AEAD_Generate |
Generate a random AEAD block using the YubiHSM internal DRBG_CTR random generator. To generate a secret for a YubiKey, use public_id as nonce.
|
Ask YubiHSM to return an AEAD made of the contents of it's internal buffer (see load_secret, load_data and load_random) encrypted with the specified key_handle. For a YubiKey secret, the nonce should be the public_id.
|
Validate the contents of an AEAD using the YubiHSM. The matching is done inside the YubiHSM so the contents of the AEAD is never exposed (well, except indirectionally when the cleartext does match). The cleartext should naturally be of the same length as the AEAD minus the size of the MAC (8 bytes).
See Also: pyhsm.aead_cmd.YHSM_Cmd_AEAD_Decrypt_Cmp |
Ask YubiHSM to validate a YubiKey OTP using an AEAD and a key_handle to decrypt the AEAD.
|
Ask YubiHSM to exit to configuration mode (requires 'debug' mode enabled).
See Also: pyhsm.debug_cmd.YHSM_Cmd_Monitor_Exit |
Get the raw device. Only intended for test code/debugging!
|
Read until there is nothing more to be read. Only intended for test code/debugging!
|
AES ECB encrypt using a key handle.
Warning: Please be aware of the known limitations of AES ECB mode before using it! |
AES ECB decrypt using a key handle.
Warning: Please be aware of the known limitations of AES ECB mode before using it! |
AES ECB decrypt and then compare using a key handle. The comparison is done inside the YubiHSM so the plaintext is never exposed (well, except indirectionally when the provided plaintext does match).
Warning: Please be aware of the known limitations of AES ECB mode before using it! |
Have the YubiHSM generate a HMAC SHA1 of 'data' using a key handle. Use the pyhsm.hmac_cmd.YHSM_Cmd_HMAC_SHA1_Write.next to add more input (until 'final' has been set to True). Use the pyhsm.hmac_cmd.YHSM_Cmd_HMAC_SHA1_Write.get_hash to get the hash result this far.
See Also: pyhsm.hmac_cmd.YHSM_Cmd_HMAC_SHA1_Write |
Ask YubiHSM to store data about a YubiKey in the internal database (not buffer). The input is an AEAD with the secrets of a YubiKey, perhaps previously created using load_secret.
See Also: pyhsm.db_cmd.YHSM_Cmd_DB_YubiKey_Store |
Request the YubiHSM to validate an OTP for a YubiKey stored in the internal database.
See Also: pyhsm.db_cmd.YHSM_Cmd_DB_Validate_OTP |
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Tue Sep 16 15:36:30 2014 | http://epydoc.sourceforge.net |