jonesmarvin8 24f6f1f8ca fixes
2026-04-26 21:29:54 -04:00

26 lines
754 B
Python

from ..card_interface import CardInterface
from ..constants import INS_DERIVE_KEY
from ..parsing.keypath import KeyPath
from ..preconditions import require_pin_verified
@require_pin_verified
def derive_key(card: CardInterface, path: str = '') -> None:
"""
Set the derivation path for subsequent SIGN and EXPORT KEY commands.
Args:
card (CardInterface): The card interface.
path (str): BIP-32-style path (e.g., "m/44'/60'/0'/0/0") or
"../0/1" (parent) or "./0" (current).
Raises:
APDUError: if the derivation fails or the format is invalid.
"""
keypath = KeyPath(path)
card.send_secure_apdu(
ins=INS_DERIVE_KEY,
p1=keypath.source,
data=keypath.data
)