In dieser Frage geht es nur darum, einen SslPolicyError.RemoteCertificateNotAvailable
Fehler zu beheben.SslStream auf TCP-Server kann Clientzertifikat mit RemoteCertificateNotAvailable nicht überprüfen
Ich habe einen TCP-Server mit SSLStream und einen TCP-Client für das andere Ende entwickelt.
authentifizieren ich den Server mit:
sslStream.BeginAuthenticateAsServer
authentifizieren ich den Client mit:
sslStream.BeginAuthenticateAsClient
ich meine Client-Zertifikat von Trusted Publishers - Local Machine
bin Laden.
Beide laufen auf derselben Maschine.
Ich habe versucht, das Client-Zertifikat aus den CER- und PFX-Dateien zu laden, anstatt vom vertrauenswürdigen Publisher-Store. Der Client (Remote) -Zertifikatvalidator-Rückruf des Servers schlägt jedoch fehl, indem festgestellt wird, dass SslPolicyErrors
über einen RemoteCertificateNotAvailable
-Fehler verfügt.
Ich habe auch versucht, das Zertifikat von "Personal" zu laden. Mein Zertifikat hat einen privaten Schlüssel. – cdpnet
Certutil -verify -lullfetch sollte überprüfen, ob das Zertifikat korrekt validiert werden kann. Wenn nicht, keine Würfel. Das Server-Zertifikat benötigt "Verwendungszweck: Server-Authentifizierung" und das Client-Zertifikat benötigt wahrscheinlich "Client-Authentifizierung", wenn es einen Client eindeutig identifizieren soll. – TristanK
Tristan. Sie haben das Problem tatsächlich entdeckt. Ich hatte ein Zertifikat mit dem Zweck nur der Serverauthentifizierung. Ich brauchte das Zertifikat, das die Client-Authentifizierung unterstützt. Also, sobald ich das verstanden habe, hat es funktioniert. – cdpnet