SslStream sur le serveur TCP ne parvient pas à valider le certificat client avec RemoteCertificateNotAvailable

StackOverflow https://stackoverflow.com/questions/617109

Question

Cette question concerne la résolution d'une erreur SslPolicyError.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'authentifie le client avec:

sslStream.BeginAuthenticateAsClient

Je charge mon certificat client depuis Éditeurs approuvés - Ordinateur local .

Les deux fonctionnent sur le même ordinateur.

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 de certificat client (distant) du serveur échoue en trouvant que SslPolicyErrors a une erreur RemoteCertificateNotAvailable .

Était-ce utile?

La solution

Le lien n'est pas passé, mais il y a un problème que je peux identifier avec la déclaration:

"J'ai chargé mon certificat client auprès d'éditeurs approuvés"

.

Les certificats clients résident généralement dans un magasin personnel pour un compte d'utilisateur. Idem avec les certificats de serveur (ils seront probablement associés à un OID de destination prévue différent, bien que - "Authentification du client" ou "Authentification du serveur"). Il serait étrange que vous ayez un certificat avec une clé privée disponible dans le magasin des éditeurs approuvés, je pense.

Si vous double-cliquez sur un certificat de client ou de serveur dans CertMgr.msc, un message "Ce certificat a une clé privée" devrait s'afficher. message vers le bas.

Sinon, vous n'avez qu'une demi-paire de clés - le cryptage et l'authentification nécessitent la clé privée. Le certificat de serveur a besoin d’une clé privée côté serveur et le certificat de client d’une clé privée côté client.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top