Usage Guide¶
Το Nitrokey Python SDK υποστηρίζει επί του παρόντος τις συσκευές Nitrokey 3 (nitrokey.nk3.NK3
) και Nitrokey Passkey (nitrokey.nkpk.NKPK
). Και οι δύο συσκευές βασίζονται στην ίδια πλατφόρμα, την Trussed, και επομένως μοιράζονται την ίδια βασική κλάση nitrokey.trussed.TrussedDevice
.
Οι συσκευές με δέσμη μπορούν να επανεκκινήσουν σε κατάσταση bootloader που χρησιμοποιείται για την εφαρμογή ενημερώσεων υλικολογισμικού. Η πρόσβαση στις συσκευές σε κατάσταση bootloader μπορεί να γίνει με τη χρήση των nitrokey.nk3.NK3Bootloader
και nitrokey.nkpk.NKPKBootloader
(βασική κλάση nitrokey.trussed.TrussedBootloader
).
Listing and Opening Devices¶
Χρησιμοποιήστε τη συνάρτηση nitrokey.trussed.TrussedDevice.list()
για να παραθέσετε και να ανοίξετε όλες τις συνδεδεμένες συσκευές:
from nitrokey.nk3 import NK3
from nitrokey.nkpk import NKPK
print("Connected Nitrokey devices:")
for device in NK3.list():
print(f"- {device.name} at {device.path}")
for device in NKPK.list():
print(f"- {device.name} at {device.path}")
Αν γνωρίζετε τη διαδρομή της συσκευής, χρησιμοποιήστε nitrokey.trussed.TrussedDevice.open()
αντί:
from nitrokey.nk3 import NK3
from nitrokey.nkpk import NKPK
path = "/dev/hidraw1"
device = NK3.open(path)
if device is not None:
print(f"Found {device.name} at {path}")
device = NKPK.open(path)
if device is not None:
print(f"Found {device.name} at {path}")
Παρόμοιες λειτουργίες είναι διαθέσιμες για τις nitrokey.nk3.NK3Bootloader
και nitrokey.nkpk.NKPKBootloader
. Για να απαριθμήσετε τόσο τις κανονικές συσκευές όσο και τις συσκευές bootloader, χρησιμοποιήστε τις επιλογές nitrokey.nk3.list()
και nitrokey.nkpk.list()
.
Σημείωση
Επί του παρόντος, οι συσκευές που επιστρέφονται από τις nitrokey.trussed.TrussedDevice.list()
, nitrokey.nk3.list()
και nitrokey.nkpk.list()
ισχύουν μόνο μέχρι την επόμενη κλήση οποιασδήποτε από αυτές τις συναρτήσεις. Για περισσότερες πληροφορίες δείτε το issue 31.
Using Applications¶
Το Nitrokey Python SDK υποστηρίζει αυτές τις εφαρμογές για όλες τις συσκευές Trussed:
nitrokey.trussed.admin_app.AdminApp
: πρόσβαση στα μεταδεδομένα της συσκευής και διαχείριση της κατάστασης διαμόρφωσης της συσκευήςnitrokey.trussed.provisioner_app.ProvisionerApp
: ρύθμιση της συσκευής σε κατάσταση παροχής (ισχύει μόνο για συσκευές Hacker)
The Nitrokey 3 also provides these applications:
nitrokey.nk3.secrets_app.SecretsApp
: ασφαλής αποθήκευση κωδικών πρόσβασης και διαπιστευτηρίων
Ανατρέξτε στην αναφορά API για τις κλάσεις εφαρμογών για περισσότερες πληροφορίες.