View a markdown version of this page

PKCS #11 -Anbieter - AWS IoT Greengrass

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

PKCS #11 -Anbieter

Die PKCS #11 -Anbieterkomponente (aws.greengrass.crypto.Pkcs11Provider) ermöglicht es Ihnen, die AWS IoT Greengrass Core-Software so zu konfigurieren, dass sie ein Hardware-Sicherheitsmodul (HSM) über die PKCS #11 -Schnittstelle verwendet. https://en.wikipedia.org/wiki/PKCS_11 Mit dieser Komponente können Sie Zertifikatsdateien und private Schlüsseldateien sicher speichern, sodass sie in der Software nicht offengelegt oder dupliziert werden. Weitere Informationen finden Sie unter Integration von Hardware-Sicherheit.

Anmerkung

Diese Komponente ist nur für Greengrass Nucleus erforderlich. Greengrass Nucleus Lite v2.5.0 und höher beinhaltet integrierte PKCS #11 -Unterstützung und benötigt diese Komponente nicht. Weitere Informationen finden Sie unter PKCS #11 -Unterstützung im Nucleus Lite-Repository. AWS IoT Greengrass GitHub

Um ein Greengrass-Core-Gerät bereitzustellen, das sein Zertifikat und seinen privaten Schlüssel in einem HSM speichert, müssen Sie diese Komponente bei der Installation der Core-Software als Provisioning-Plugin angeben. AWS IoT Greengrass Weitere Informationen finden Sie unter Installieren AWS IoT Greengrass Kernsoftware mit manueller Ressourcenbereitstellung.

AWS IoT Greengrass stellt diese Komponente als JAR-Datei bereit, die Sie herunterladen können, um sie bei der Installation als Provisioning-Plugin anzugeben. Sie können die neueste Version der JAR-Datei der Komponente unter der folgenden URL herunterladen: https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar.

Versionen

Diese Komponente hat die folgenden Versionen:

  • 2.0.x

Typ

Diese Komponente ist eine Plugin-Komponente (aws.greengrass.plugin). Der Greengrass-Nukleus führt diese Komponente in derselben Java Virtual Machine (JVM) aus wie der Nucleus. Der Nucleus wird neu gestartet, wenn Sie die Version dieser Komponente auf dem Kerngerät ändern.

Diese Komponente verwendet dieselbe Protokolldatei wie der Greengrass-Nucleus. Weitere Informationen finden Sie unter AWS IoT Greengrass Protokolle überwachen.

Weitere Informationen finden Sie unter Komponententypen.

Betriebssystem

Diese Komponente kann nur auf Linux-Core-Geräten installiert werden.

Voraussetzungen

Für diese Komponente gelten die folgenden Anforderungen:

  • Ein Hardware-Sicherheitsmodul, das das PKCS #1 v1.5-Signaturschema und RSA-Schlüssel mit einer RSA-2048 Schlüsselgröße (oder größer) oder ECC-Schlüssel unterstützt.

    Anmerkung

    Um ein Hardware-Sicherheitsmodul mit ECC-Schlüsseln zu verwenden, müssen Sie Greengrass Nucleus v2.5.6 oder höher verwenden.

    Um ein Hardware-Sicherheitsmodul und einen Secret Manager zu verwenden, müssen Sie ein Hardware-Sicherheitsmodul mit RSA-Schlüsseln verwenden.

  • Eine PKCS #11 -Anbieterbibliothek, die die AWS IoT Greengrass Core-Software zur Laufzeit (mithilfe von libdl) laden kann, um PKCS #11 -Funktionen aufzurufen. Die PKCS #11 -Anbieterbibliothek muss die folgenden PKCS #11 -API-Operationen implementieren:

    • C_Initialize

    • C_Finalize

    • C_GetSlotList

    • C_GetSlotInfo

    • C_GetTokenInfo

    • C_OpenSession

    • C_GetSessionInfo

    • C_CloseSession

    • C_Login

    • C_Logout

    • C_GetAttributeValue

    • C_FindObjectsInit

    • C_FindObjects

    • C_FindObjectsFinal

    • C_DecryptInit

    • C_Decrypt

    • C_DecryptUpdate

    • C_DecryptFinal

    • C_SignInit

    • C_Sign

    • C_SignUpdate

    • C_SignFinal

    • C_GetMechanismList

    • C_GetMechanismInfo

    • C_GetInfo

    • C_GetFunctionList

  • Das Hardwaremodul muss nach Slot-Label auflösbar sein, wie in der PKCS#11-Spezifikation definiert.

  • Sie müssen den privaten Schlüssel und das Zertifikat im HSM im selben Slot speichern, und sie müssen dieselbe Objektbezeichnung und Objekt-ID verwenden, wenn das HSM Objekt-IDs unterstützt.

  • Das Zertifikat und der private Schlüssel müssen anhand von Objektbezeichnungen auflösbar sein.

  • Der private Schlüssel muss über die folgenden Berechtigungen verfügen:

    • sign

    • decrypt

  • (Optional) Um die Secret Manager-Komponente verwenden zu können, müssen Sie Version 2.1.0 oder höher verwenden, und der private Schlüssel muss über die folgenden Berechtigungen verfügen:

    • unwrap

    • wrap

  • (Optional) Wenn Sie die TPM2-Bibliothek verwenden und den Greengrass-Kern als Dienst ausführen, müssen Sie eine Umgebungsvariable mit dem Speicherort des PKCS #11 -Speichers angeben. Das folgende Beispiel ist eine Systemd-Servicedatei mit der erforderlichen Umgebungsvariablen:

    [Unit] Description=Greengrass Core After=network.target [Service] Type=simple PIDFile=/var/run/greengrass.pid Environment=TPM2_PKCS11_STORE=/path/to/store/directory RemainAfterExit=no Restart=on-failure RestartSec=10 ExecStart=/bin/sh /greengrass/v2/alts/current/distro/bin/loader [Install] WantedBy=multi-user.target

Abhängigkeiten

Wenn Sie eine Komponente bereitstellen, werden AWS IoT Greengrass auch kompatible Versionen ihrer Abhängigkeiten bereitgestellt. Das bedeutet, dass Sie die Anforderungen für die Komponente und alle ihre Abhängigkeiten erfüllen müssen, um die Komponente erfolgreich bereitzustellen. In diesem Abschnitt werden die Abhängigkeiten für die veröffentlichten Versionen dieser Komponente sowie die semantischen Versionseinschränkungen aufgeführt, die die Komponentenversionen für jede Abhängigkeit definieren. Sie können die Abhängigkeiten für jede Version der Komponente auch in der AWS IoT Greengrass Konsole anzeigen. Suchen Sie auf der Seite mit den Komponentendetails nach der Liste der Abhängigkeiten.

2.0.11

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.11 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,17,0 Weich
2.0.10

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.10 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,16,0 Weich
2.0.9

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.9 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,15,0 Weich
2.0.8

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.8 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,14,0 Weich
2.0.7

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.7 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,13,0 Weich
2.0.6

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.6 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,12,0 Weich
2.0.5

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.5 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,11,0 Weich
2.0.4

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.4 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,1,0 Weich
2.0.3

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.3 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,9,0 Weich
2.0.2

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.2 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,8,0 Weich
2.0.1

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.1 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,7,0 Weich
2.0.0

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.0 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Typ der Abhängigkeit
Nukleus von Greengrass > =2,5,3 <2,6,0 Weich

Weitere Informationen zu Komponentenabhängigkeiten finden Sie in der Komponentenrezeptreferenz.

Konfiguration

Diese Komponente stellt die folgenden Konfigurationsparameter bereit, die Sie bei der Bereitstellung der Komponente anpassen können.

name

Ein Name für die PKCS #11 -Konfiguration.

library

Der absolute Dateipfad zur Bibliothek der PKCS #11 -Implementierung, die die AWS IoT Greengrass Core-Software mit libdl laden kann.

slot

Die ID des Steckplatzes, der den privaten Schlüssel und das Gerätezertifikat enthält. Dieser Wert unterscheidet sich vom Steckplatzindex oder der Steckplatzbezeichnung.

userPin

Die Benutzer-PIN, die für den Zugriff auf den Slot verwendet werden soll.

Beispiel Beispiel: Aktualisierung der Konfiguration zum Zusammenführen
{ "name": "softhsm_pkcs11", "library": "/usr/lib/softhsm/libsofthsm2.so", "slot": 1, "userPin": "1234" }

Lokale Protokolldatei

Diese Komponente verwendet dieselbe Protokolldatei wie die Greengrass Nucleus-Komponente.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Um die Protokolle dieser Komponente einzusehen
  • Führen Sie den folgenden Befehl auf dem Kerngerät aus, um die Protokolldatei dieser Komponente in Echtzeit anzuzeigen. Ersetzen Sie /greengrass/v2 oder C:\greengrass\v2 durch den Pfad zum AWS IoT Greengrass Stammordner.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Änderungsprotokoll

In der folgenden Tabelle werden die Änderungen in den einzelnen Versionen der Komponente beschrieben.

Version

Änderungen

2.0.13

Aktualisiert die Komponentenversion für die Greengrass Nucleus-Version 2.18.0.

2.0.12

Aktualisiert die Komponentenversion für die Greengrass Nucleus-Version 2.17.0.

2.0.11

Die Version wurde für die Greengrass Nucleus-Version 2.16.0 aktualisiert.

2.0.10

Version für Greengrass Nucleus Version 2.15.0 aktualisiert.

2.0.9

Version für Greengrass Nucleus Version 2.14.0 aktualisiert.

2.0.8

Die Version wurde für die Greengrass Nucleus-Version 2.13.0 aktualisiert.

2.0.7

Die Version wurde für die Greengrass Nucleus-Version 2.12.0 aktualisiert.

2.0.6

Die Version wurde für die Greengrass Nucleus-Version 2.11.0 aktualisiert.

2.0.5

Die Version wurde für die Greengrass Nucleus-Version 2.10.0 aktualisiert.

2.0.4

Die Version wurde für die Greengrass Nucleus-Version 2.9.0 aktualisiert.

2.0.3

Die Version wurde für die Greengrass Nucleus-Version 2.8.0 aktualisiert.

2.0.2

Version für die Greengrass Nucleus-Version 2.7.0 aktualisiert.

2.0.1

Die Version wurde für die Greengrass Nucleus-Version 2.6.0 aktualisiert.

2.0.0

Erste Version