Cette question consiste à résoudre une erreur SslPolicyError.RemoteCertificateNotAvailable
.SslStream sur TCP Server ne parvient pas à valider le certificat client avec RemoteCertificateNotAvailable
J'ai développé un serveur TCP avec SSLStream et un client TCP pour l'autre extrémité.
j'authentifie le serveur avec:
sslStream.BeginAuthenticateAsServer
J'authentifiez le client avec:
sslStream.BeginAuthenticateAsClient
Je chargeais mon certificat client à partir Trusted Publishers - Local Machine
.
Les deux fonctionnent sur la même machine.
J'ai essayé de charger le certificat client à partir des fichiers .cer et .pfx plutôt que du magasin des éditeurs approuvés. Mais le rappel du validateur du certificat client (distant) du serveur échoue en constatant que SslPolicyErrors
a une erreur RemoteCertificateNotAvailable
.
J'ai également essayé de charger le certificat du magasin "personnel". Mon certificat possède une clé privée. – cdpnet
Certutil -verify -urlfetch doit valider si le certificat peut être validé correctement. Si non, pas de dés. Le certificat du serveur a besoin de "l'intention prévue: l'authentification du serveur" et le certificat client aura probablement besoin de "l'authentification du client" s'il est destiné à identifier de manière unique un client. – TristanK
Tristank. Vous avez repéré le problème en réalité. J'avais un certificat avec pour seul but d'authentifier le serveur. J'avais besoin du certificat qui supporte l'authentification client. Donc, une fois que j'ai eu ça, ça a marché. – cdpnet