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.
Serverauthentifizierung
Wenn Ihr Gerät oder ein anderer Client versucht, eine Verbindung herzustellen AWS IoT Core, sendet der AWS IoT Core Server ein X.509-Zertifikat, das Ihr Gerät zur Authentifizierung des Servers verwendet. Die Authentifizierung erfolgt auf der TLS-Ebene durch die Validierung der X.509-Zertifikatskette. Dies ist dieselbe Methode, die Ihr Browser verwendet, wenn Sie eine HTTPS-URL besuchen. Informationen zum Verwenden von Zertifikaten von Ihrer eigenen Zertifizierungsstelle finden Sie unter Verwalten eigener CA-Zertifikate.
Wenn Ihre Geräte oder andere Clients eine TLS-Verbindung zu einem AWS IoT Core Endpunkt aufbauen, wird eine Zertifikatskette AWS IoT Core angezeigt, anhand derer die Geräte überprüfen, ob sie mit einem anderen Server kommunizieren AWS IoT Core und nicht, der sich als ein anderer Server ausgibt. AWS IoT Core Welche Kette angezeigt wird, hängt von einer Kombination aus dem Endpunkttyp, zu dem das Gerät eine Verbindung herstellt, und der Cipher Suite ab, die der Client und die während des TLS-Handshakes AWS IoT Core ausgehandelt haben.
Endpunkttypen
AWS IoT Core unterstützt zwei verschiedene Datenendpunkttypen, und. iot:Data
iot:Data-ATS
iot:Data
Endgeräte verfügen über ein Zertifikat, das mit dem Public Primary G5-Root-CA-Zertifikat der VeriSign Klasse 3iot:Data-ATS
Endgeräte legen ein Serverzertifikat vor, das von einer Amazon Trust Services-Zertifizierungsstelle
Zertifikate, die von ATS-Endpunkten vorgewiesen werden, sind von Starfield gegensigniert. Einige TLS-Client-Implementierungen erfordern die Überprüfung der Vertrauenswürdigkeit und die Installation der Starfield CA-Zertifikate in den Vertrauensspeichern des Clients.
Warnung
Die Verwendung einer Zertifikat-Pinning-Methode, die das gesamte Zertifikat (einschließlich des Ausstellernamens usw.) hasht, wird nicht empfohlen, da dies zum Scheitern der Zertifikatsprüfung führt, da die von uns bereitgestellten ATS-Zertifikate von Starfield gegensigniert sind und einen anderen Ausstellernamen haben.
Wichtig
Verwenden Sie iot:Data-ATS
-Endgeräte, es sei denn, Ihr Gerät benötigt Symantec- oder Verisign-CA-Zertifikate. Symantec- und Verisign-Zertifikate sind veraltet und werden von den meisten Webbrowsern nicht mehr unterstützt.
Sie können den Befehl describe-endpoint
verwenden, um Ihren ATS-Endpunkt zu erstellen.
aws iot describe-endpoint --endpoint-type iot:Data-ATS
Der Befehl describe-endpoint
gibt einen Endpunkt im folgenden Format zurück.
account-specific-prefix
.iot.your-region
.amazonaws.com
Anmerkung
Beim ersten Aufruf von describe-endpoint
wird ein Endpunkt erstellt. Alle nachfolgenden Aufrufe von describe-endpoint
geben den gleichen Endpunkt zurück.
Aus Gründen der Abwärtskompatibilität werden Symantec-Endgeräte AWS IoT Core weiterhin unterstützt. Weitere Informationen finden Sie unter Wie AWS IoT Core
Kunden hilft, das wachsende Misstrauen gegenüber Symantec-Zertifizierungsstellen zu überwinden
Anmerkung
Um Ihren iot:Data-ATS
Endpunkt in der Konsole zu sehen, wählen Sie Einstellungen AWS IoT Core . Die Konsole zeigt nur den iot:Data-ATS
-Endpunkt an. Aus Gründen der Abwärtskompatibilität zeigt der Befehl describe-endpoint
standardmäßig den iot:Data
-Endpunkt an. Um den iot:Data-ATS
-Endpunkt anzuzeigen, geben Sie wie im vorherigen Beispiel den Parameter --endpointType
an.
Erstellen eines IotDataPlaneClient
mit dem AWS SDK for Java
Standardmäßig erstellt das AWS -SDK für Java - Version 2IotDataPlaneClient
mithilfe eines iot:Data
-Endpunkts. Um einen Client zu erstellen, der einen iot:Data-ATS
-Endpunkt verwendet, müssen Sie die folgenden Schritte ausführen:
-
Erstellen Sie einen
iot:Data-ATS
Endpunkt mithilfe der DescribeEndpointAPI. -
Geben Sie diesen Endpunkt an, wenn Sie den
IotDataPlaneClient
erstellen.
Im folgenden Beispiel werden beide Operationen ausgeführt.
public void setup() throws Exception { IotClient client = IotClient.builder().credentialsProvider(CREDENTIALS_PROVIDER_CHAIN).region(Region.US_EAST_1).build(); String endpoint = client.describeEndpoint(r -> r.endpointType("iot:Data-ATS")).endpointAddress(); iot = IotDataPlaneClient.builder() .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) .endpointOverride(URI.create("https://" + endpoint)) .region(Region.US_EAST_1) .build(); }
CA-Zertifikate für die Serverauthentifizierung
Je nachdem, welchen Typ von Datenendpunkt Sie verwenden und welche Verschlüsselungssuite Sie ausgehandelt haben, werden AWS IoT Core Serverauthentifizierungszertifikate mit einem der folgenden Root-CA-Zertifikate signiert:
Amazon Trust Services-Endpunkte (bevorzugt)
Anmerkung
Möglicherweise müssen Sie mit der rechten Maustaste auf diese Links klicken und Link speichern unter... auswählen, um diese Zertifikate als Dateien zu speichern.
-
RSA 2048-Bit-Schlüssel: Amazon Root CA 1
. -
RSA 4096-Bit-Schlüssel: Amazon Root CA 2. Für die spätere Verwendung reserviert.
-
ECC-256-Bit-Schlüssel: Amazon Root CA 3
. -
ECC-384-Bit-Schlüssel: Amazon Root CA 4. Für die spätere Verwendung reserviert.
Diese Zertifikate werden alle durch das Starfield Root CA-Zertifikat
VeriSign Endgeräte (veraltet)
-
RSA 2048-Bit-Schlüssel: Öffentliches primäres G5-Root-CA-Zertifikat der VeriSign Klasse 3
Richtlinien für die Serverauthentifizierung
Es gibt viele Variablen, die die Fähigkeit eines Geräts zur Überprüfung des AWS IoT Core -Server-Authentifizierungszertifikats beeinflussen können. So können beispielsweise Geräte zu speicherbeschränkt sein, um alle möglichen Root-CA-Zertifikate aufzunehmen, oder Geräte können eine nicht standardmäßige Methode der Zertifikatsvalidierung implementieren. Aus diesen Gründen empfehlen wir, diese Richtlinien zu befolgen:
-
Wir empfehlen, dass Sie Ihren ATS-Endpunkt verwenden und alle unterstützten Amazon Root CA-Zertifikate installieren.
-
Wenn Sie nicht alle diese Zertifikate auf Ihrem Gerät speichern können und wenn Ihre Geräte keine ECC-basierte Validierung verwenden, können Sie die ECC-Zertifikate Amazon Root CA 3
und Amazon Root CA 4 weglassen. Wenn Ihre Geräte keine RSA-basierte Zertifikatsvalidierung implementieren, können Sie die RSA-Zertifikate Amazon Root CA 1 und Amazon Root CA 2 weglassen. Möglicherweise müssen Sie mit der rechten Maustaste auf diese Links klicken und Link speichern unter... auswählen, um diese Zertifikate als Dateien zu speichern. -
Wenn bei der Verbindung mit Ihrem ATS-Endpunkt Probleme bei der Validierung von Serverzertifikaten auftreten, versuchen Sie, das entsprechende signierte Amazon Root CA-Zertifikat in Ihrem Vertrauensspeicher hinzuzufügen. Möglicherweise müssen Sie mit der rechten Maustaste auf diese Links klicken und Link speichern unter... auswählen, um diese Zertifikate als Dateien zu speichern.
-
Gegensigniertes Amazon Root CA 2
: Für die spätere Verwendung reserviert. -
Gegensigniertes Amazon Root CA 4: Für die spätere Verwendung reserviert.
-
Wenn bei der Validierung von Serverzertifikaten Probleme auftreten, muss Ihr Gerät möglicherweise explizit der Stammzertifizierungsstelle vertrauen. Versuchen Sie, das Starfield Root CA Certificate
zu Ihrem Trust Store hinzuzufügen. -
Wenn nach der Ausführung der obigen Schritte immer noch Probleme auftreten, wenden Sie sich bitte an den AWS -Developer Support
.
Anmerkung
CA-Zertifikate haben ein Ablaufdatum, nach dem sie nicht mehr zur Validierung eines Serverzertifikats verwendet werden können. Es kann sein, dass CA-Zertifikate vor ihrem Ablaufdatum ersetzt werden müssen. Stellen Sie sicher, dass Sie die CA-Stammzertifikate auf all Ihren Geräten oder Clients aktualisieren können, um eine ununterbrochene Verbindung sicherzustellen und bei bewährten Sicherheitsmethoden stets auf dem aktuellen Stand zu sein.
Anmerkung
Wenn Sie AWS IoT Core in Ihrem Gerätecode eine Verbindung herstellen, übergeben Sie das Zertifikat an die API, die Sie für die Verbindung verwenden. Die von Ihnen verwendete API hängt vom SDK ab. Weitere Informationen finden Sie im Abschnitt zu AWS IoT Core -Geräte-SDKs.