Ενσωμάτωση¶
Το κεφάλαιο περιγράφει διαδικασίες για διάφορες εργασίες και απευθύνεται σε όλες τις ομάδες χρηστών.
REST-API¶
Η κύρια διεπαφή του NetHSM είναι ένα σύγχρονο REST-API που εγγυάται τις καλύτερες επιδόσεις και λειτουργίες. Η προδιαγραφή του API είναι διαθέσιμη σε μορφή OpenAPI, και μπορεί να ελεγχθεί και να δοκιμαστεί στο πρόγραμμα περιήγησης API.
PKCS#11¶
Το NetHSM υποστηρίζει το πρότυπο PKCS#11. Το απαιτούμενο πρόγραμμα οδήγησης είναι διαθέσιμο από το αποθετήριο ` <https://github.com/Nitrokey/nethsm-pkcs11>`__. Το αποθετήριο περιέχει τον πηγαίο κώδικα και τις βιβλιοθήκες, για διάφορα λειτουργικά συστήματα. Ο οδηγός PKCS#11 περιγράφει λεπτομερώς τη χρήση.
Ανάπτυξη και δοκιμή¶
Παράσταση επίδειξης¶
Μια δημόσια δοκιμαστική περίπτωση NetHSM είναι διαθέσιμη στη διεύθυνση nethsmdemo.nitrokey.com. Θα επαναφέρεται κάθε οκτώ ώρες (CET 6:00, 14:00, 22:00). Χρήστης «admin», κωδικός πρόσβασης «adminadmin», κωδικός πρόσβασης ξεκλειδώματος «unlockunlock».
Εικόνα εμπορευματοκιβωτίου¶
NetHSM εικόνες εμπορευματοκιβωτίων είναι διαθέσιμες για δοκιμές και παραγωγή.
Ενσωμάτωση σε προσαρμοσμένη εφαρμογή¶
Για την ενσωμάτωση του NetHSM σε δικές σας προσαρμοσμένες εφαρμογές, διατίθενται βιβλιοθήκες-πελάτες για όλες σχεδόν τις γλώσσες προγραμματισμού. Εδώ υπάρχουν βιβλιοθήκες για Python και Rust καθώς και αυτό το 3rd party Rust crate. Για όλες τις άλλες γλώσσες προγραμματισμού συνιστούμε τη χρήση του OpenAPI Generator.
Ο κατάλογος όλων των διαθέσιμων γλωσσών μπορεί να ανακτηθεί ως εξής.
$ docker run --rm -ti openapitools/openapi-generator-cli list -i stable
$ podman run --rm -ti openapitools/openapi-generator-cli list -i stable
Ο πελάτης NetHSM μπορεί να δημιουργηθεί για τη γλώσσα προγραμματισμού σας ως εξής.
$ docker run --rm -ti -v "${PWD}/out:/out" openapitools/openapi-generator-cli generate -i=https://nethsmdemo.nitrokey.com/api_docs/nethsm-api.yaml -o out -g javascript
$ podman run --rm -ti -v "${PWD}/out:/out" openapitools/openapi-generator-cli generate -i=https://nethsmdemo.nitrokey.com/api_docs/nethsm-api.yaml -o out -g javascript
Ο παραγόμενος κώδικας πελάτη, σε αυτό το παράδειγμα JavaScript, θα δημιουργηθεί στον κατάλογο ./out/
. Αυτός ο φάκελος περιέχει επίσης την απαραίτητη τεκμηρίωση για τον τρόπο χρήσης.
Σημαντικό
Εάν το Podman χρησιμοποιείται με την επιβολή SELinux, μπορεί να απαιτείται μια επισήμανση στην προσάρτηση τόμου. Η λειτουργία του SELinux μπορεί να ζητηθεί με την εντολή sestatus |grep "Current mode"
. Εάν η λειτουργία έχει οριστεί σε enforcing
, απαιτείται αλλαγή στο πλαίσιο. Σε αυτή την περίπτωση, η προσάρτηση τόμου πρέπει να μεταπροσδιοριστεί με :z
, με αποτέλεσμα -v "${PWD}/out:/out:z"
.
Διεπαφή γραμμής εντολών¶
Οι χρήστες μπορούν να διαχειρίζονται και να χρησιμοποιούν ένα NetHSM χρησιμοποιώντας μια ειδική διεπαφή γραμμής εντολών (CLI). Το Nitrokey προσφέρει nitropy
, το οποίο διανέμεται στο βασισμένο στην Python pynitrokey. Με το nethsm
υπάρχει μια εναλλακτική εφαρμογή τρίτου μέρους, η οποία αναπτύσσεται στο Rust crate nethsm-cli.