C#-Adapter mit HTTPS und WSS konfigurieren
Um einen C#-Adapter mit HTTPS und WSS einzurichten, führen Sie die folgenden Schritte aus:
Selbstsigniertes Server-Zertifikat erstellen
- Führen Sie den folgenden Befehl aus, um die Stammzertifizierungsstelle zu erstellen:
makecert -r -n "CN=SORIS Root Certificate" -pe -sv SORISRootCert.pvk -a sha1 -len 2048 -b 01/01/2015 -e 01/01/2030 -cy authority SORISRootCert.cer
Geben Sie dreimal ein Passwort ein. Das Passwort wird für den nächsten Schritt benötigt. - Führen Sie den folgenden Befehl aus, um das selbstsignierte Server-Zertifikat zu erstellen:
makecert -ic SORISRootCert.cer -iv SORISRootCert.pvk -pe -sv SORISServerCert.pvk -a sha1 -n "CN=SORISServerCert" -len 2048 -b 01/01/2015 -e 01/01/2030 -sky exchange SORISServerCert.cer -eku 1.3.6.1.5.5.7.3.2
Geben Sie für das Zertifikat dreimal ein neues Passwort ein. Das Passwort wird für den nächsten Schritt benötigt. Wenn Sie nach der Signatur des Ausstellers gefragt werden, geben Sie das Passwort aus Schritt 1 ein. - Führen Sie den folgenden Befehl aus, um den PFX-Schlüssel zu erstellen:
pvk2pfx -pvk SORISServerCert.pvk -spc SORISServerCert.cer -pfx SORISServerCert.pfx
Geben Sie das Passwort aus Schritt 2 ein.
Server-Zertifikat installieren
- Sie möchten die Dateien SORISRootCert.cer und SORISServerCert.pfx in der Microsoft Management Console installieren.
- Klicken Sie Start, um die Microsoft Management Console zu starten.
- Geben Sie in das Feld Suchen die Zeichenfolge mmc ein und klicken Sie im Abschnitt Programme die Datei mmc.exe.

- Klicken Sie Datei > Snap-In hinzufügen/entfernen.

- Wählen Sie links in der Liste Zertifikate und klicken Sie Hinzufügen.
Das Dialogfeld Zertifikat-Snap-In wird angezeigt.
- Wählen Sie Computerkonto und klicken Sie Weiter.
- Wählen Sie Lokaler Computer und klicken Sie Fertig stellen.

- Das Zertifikat wird dem Arbeitsbereich "Ausgewählte Snap-Ins" hinzugefügt.
- Klicken Sie OK.
- Erweitern Sie die Struktur unter Zertifikate und wählen Sie Persönlich.

- Klicken Sie Aktion > Alle Aufgaben > Importieren.

- Klicken Sie Weiter.
- Klicken Sie Durchsuchen.
- Klicken Sie die Dropdown-Liste mit den Dateien und wählen Sie Alle Dateien.

- Navigieren Sie zu der pfx-Datei und wählen Sie sie aus.
- Klicken Sie Öffnen und anschliessend Weiter.

- Geben Sie das Passwort für die pfx-Datei ein und klicken Sie Weiter.
Hinweis: Wenn Sie die pfx-Datei mit dem Verfahren für selbst-signierte Zertifikate erstellt haben, ist das Passwortfeld leer und Sie müssen kein Passwort eingeben.
- Speichern Sie das Zertifikat im Zertifikatsspeicher für persönliche Zertifikate.

- Klicken Sie Weiter und anschliessend Fertig stellen.
Das Zertifikat wird unter "Zertifikat > Persönlich > Zertifikate" angezeigt.
- Wiederholen Sie die Schritte 8 bis 17, um die Datei SORISRootCert.cer im Ordner Stammzertifizierungsstellen > Zertifikate zu installieren.

- Doppelklicken Sie das Zertifikat, das Sie gerade installiert haben, um seinen Fingerabdruck zu kopieren.
Das Fenster Zertifikat wird angezeigt.
- Klicken Sie das Register Details und wählen Sie in der Spalte Feld den Eintrag Fingerabdruck aus.

- Kopieren Sie den Fingerabdruck, fügen Sie ihn in einen Texteditor ein und entfernen Sie die Leerzeichen.
Hinweis: Je nachdem wie Sie den Fingerabdruck kopiert haben, kann am Anfang der Zeichenfolge ein Leerzeichen stehen. Wenn dies der Fall ist, müssen Sie es löschen.
Beispiel eines kopierten Fingerabdrucks:
09 36 56 9c 2d c6 31 94 e6 3b 1a bd 71 b2 c4 f1 9c 03 0b 14
Beispiel des Fingerabdrucks nach dem Löschen der Leerzeichen:
0936569c2dc63194e63b1abd71b2c4f19c030b14
Hinweis: Sie benötigen den Fingerabdruck an zwei verschiedenen Orten, um HTTPS und WSS zu konfigurieren.
HTTP-Port für die HTTPS-Sicherheit registrieren
- Das Zertifikat ist auf dem Computer installiert und Sie müssen den Kommunikationsport mit dem Zertifikat für HTTPS-Sicherheit registrieren.
- Rufen Sie die Befehlszeile mit Administratorrechten auf.
- Führen Sie den folgenden NetSH-Befehl aus, um den Port zu registrieren, der vom SORIS-Adapter verwendet wird.
Hinweis: Wenn der SORIS-Adapter gestartet wird, werden die verwendete IP-Adresse und der Port aufgeführt. Wenn der Adapter Client-Zertifikate auf zusätzliche Sicherheit überprüfen muss (weitere Informationen finden Sie unter C#-Adapter zum Akzeptieren von Client-Zertifikaten konfigurieren), muss die Option Client Certificate Negotiation mit netsh aktiviert werden.
Mit Client Certificate Negotiation:
netsh http add sslcert ipport=0.0.0.0:PORT_# certhash=COPIED_THUMBPRINT appid={00112233-4455-6677-8899-AABBCCDDEEFF} clientcertnegotiation=enable
Ohne Client Certificate Negotiation:
netsh http add sslcert ipport=0.0.0.0:PORT_# certhash=COPIED_THUMBPRINT appid={00112233-4455-6677-8899-AABBCCDDEEFF}
Beispiel:
netsh http add sslcert ipport=0.0.0.0:8080 certhash=99ecdbd25d2c6c9260b7da17e9934721e9095480 appid={00112233-4455-6677-8899-AABBCCDDEEFF} clientcertnegotiation=enable - Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Port registriert ist:
netsh http show sslcert ipport=0.0.0.0: PORT_# - Führen Sie den folgenden Befehl aus, um die Registrierung des Ports zu entfernen:
netsh http delete sslcert ipport=0.0.0.0: PORT_#
WebSocket für die Verwendung der WSS (TLS)-Sicherheit konfigurieren
- Sie möchten das WebSocket konfigurieren, so dass es das Sicherheitszertifikat für die WSS (TLS)-Kommunikation verwendet.
- Das Zertifikat ist auf dem Computer installiert und Sie möchten das WebSocket mithilfe des Fingerabdrucks aus dem Abschnitt Zertifikat installieren verbinden.
- Tun Sie eins von beiden:
- Gehen Sie in der Datei SmartDeviceAdapter.cs zur Methode CustomAdapterSettings.
- Suchen Sie nach "#TODO: WSS SECURITY".
- Fügen Sie den Zertifikatsfingerabdruck ein, so wie in dem folgenden Beispiel gezeigt:

Adapter im sicheren Modus starten
- Führen Sie den Adapter mit dem Flag -secure aus.
Beispiel: Adapter.exe –secure