Je crée une application WCF dans laquelle j'utiliserai des certificats pour chiffrer la communication entre le client et le serveur. Dans mon environnement de développement, je souhaite utiliser un certificat de test/certificat auto-signé que j'ai créé avec makecert. (Seul le serveur aura un certificat, le client ne le fera pas).Pourquoi WCF se plaint de l'échec de la vérification d'identité?
J'ai installé le certificat dans un magasin de certificats et tout fonctionne correctement. Sur le client, certificateValidationMode est actuellement défini sur "false", car je travaille avec un certificat de test.
Mon problème:
Dans le app.config sur le client, je dois préciser l'élément d'identité comme ceci:
<endpoint ... >
<identity>
<dns value="<Name-Of-Server-Computer>"/>
</identity>
</endpoint>
Si je supprime l'élément d'identité, je reçois le message d'erreur suivant dans le client lorsque j'essaie de me connecter au serveur:
La vérification d'identité a échoué pour le message sortant. L'identité DNS attendue du point de terminaison distant était «localhost» mais le point de terminaison distant fournissait la revendication DNS «Name-Of-Server-Computer». S'il s'agit d'un point de terminaison distant légitime, vous pouvez résoudre le problème en spécifiant explicitement l'identité DNS «Name-Of-Server-Computer» en tant que propriété Identity de EndpointAddress lors de la création du proxy de canal.
est donc ici mes questions:
est le contrôle d'identité ne fait lors de l'utilisation d'un test/certificat auto-signé? Lorsque je déploie mon application à l'aide d'un certificat réel et fiable acheté auprès d'une autorité de certification, la vérification d'identité sera-t-elle effectuée?
Existe-t-il un moyen de désactiver la vérification d'identité? Je sais que je peux créer mon propre validateur de certificat personnalisé, mais il ne semble pas y avoir de moyen de contourner la vérification d'identité en utilisant ceux-ci.
> « Ceci est un contrôle de sécurité que je ne l'avais jamais désactiver! » Juste pour m'assurer de comprendre. Cela signifie-t-il qu'il existe un moyen de le désactiver? Je comprends les avantages de la vérification ... – Nitramk
Je n'ai jamais pensé à faire ça, donc je n'ai jamais ressenti le besoin de vérifier s'il y avait un moyen de l'éteindre. Je ne sais pas, désolé. –