Ενσωμάτωση#

Το κεφάλαιο περιγράφει διαδικασίες για διάφορες εργασίες και απευθύνεται σε όλες τις ομάδες χρηστών.

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 ως δοχείο Docker τοπικά.

Το δοχείο μπορεί να εκτελεστεί ως εξής.

$ sudo docker run --rm -ti -p8443:8443 nitrokey/nethsm:testing

Αυτό θα παρέχει το REST API στη θύρα «8443» μέσω του πρωτοκόλλου HTTPS.

Σημαντικό

Ο περιέκτης χρησιμοποιεί ένα αυτο-υπογεγραμμένο πιστοποιητικό TLS. Βεβαιωθείτε ότι χρησιμοποιείτε τις σωστές ρυθμίσεις σύνδεσης για να δημιουργήσετε μια σύνδεση. Ανατρέξτε στο κεφάλαιο Εισαγωγή στο NetHSM για να μάθετε περισσότερα.

Ενσωμάτωση σε προσαρμοσμένη εφαρμογή#

Για την ενσωμάτωση του NetHSM σε δικές σας προσαρμοσμένες εφαρμογές, διατίθενται βιβλιοθήκες-πελάτες για όλες σχεδόν τις γλώσσες προγραμματισμού. Εδώ υπάρχουν βιβλιοθήκες για Python και Rust καθώς και αυτό το 3rd party Rust crate. Για όλες τις άλλες γλώσσες προγραμματισμού συνιστούμε τη χρήση του OpenAPI Generator.

Ο κατάλογος όλων των διαθέσιμων γλωσσών μπορεί να ανακτηθεί ως εξής.

$ docker 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

Ο παραγόμενος κώδικας πελάτη, σε αυτό το παράδειγμα JavaScript, θα δημιουργηθεί στον κατάλογο ./out/. Αυτός ο φάκελος περιέχει επίσης την απαραίτητη τεκμηρίωση για τον τρόπο χρήσης.

Σημαντικό

Εάν το Podman χρησιμοποιείται με την επιβολή SELinux, μπορεί να απαιτείται μια επισήμανση στην προσάρτηση τόμου. Η λειτουργία του SELinux μπορεί να ζητηθεί με την εντολή sestatus |grep "Current mode". Εάν η λειτουργία έχει οριστεί σε enforcing, απαιτείται αλλαγή στο πλαίσιο. Σε αυτή την περίπτωση, η προσάρτηση τόμου πρέπει να μεταπροσδιοριστεί με :z, με αποτέλεσμα -v "${PWD}/out:/out:z".

REST-API#

Οι προδιαγραφές API του NetHSM είναι διαθέσιμες σε μορφή OpenAPI, και μπορούν να επιθεωρηθούν και να δοκιμαστούν στο πρόγραμμα περιήγησης API.