C# Ignorer les erreurs de certificat?
J'obtiens l'erreur suivante lors d'une demande de service web un service web distant:
N'a pas pu établir une relation de confiance pour le canal sécurisé SSL/TLS. ---> Système.De sécurité.L'authentification.AuthenticationException: La télécommande certificat n'est pas valide selon la procédure de validation.
Est-il de toute façon à ignorer cette erreur, et continuer?
Il semble que la distance certificat n'est pas signé.
Le site, je me suis connecter est www.czebox.cz
- alors n'hésitez pas à visiter le site, et de l'avis même des navigateurs jeter les exceptions à la sécurité.
Vous devez vous connecter pour publier un commentaire.
Ajouter un certificat de validation de gestionnaire. De retour
true
va permettre d'ignorer l'erreur de validation:true
dans le rappel ignorer les erreurs de validation, permettant ainsi à des appels sur le site en utilisant le certificat non approuvé pour terminer.ServerCertificateCustomValidationCallback
dans la 4.1 révision (voir les 2-3 dernières observations sur la question github.com/dotnet/corefx/issues/4476)ServicePointManager
directement faire la demande, vous utilisez l'Api client commeHttpClient
ouHttpWebRequest
pour que. Il ya beaucoup d'échantillons sur ceux là.IgnoreBadCertificates Méthode:
Permettant à tous les certificats est très puissant, mais il pouvait aussi être dangereux. Si vous souhaitez autoriser uniquement les certificats valides en plus de certains de certains certificats qu'il pourrait être fait de cette manière.
Mise à jour:
Comment obtenir
cert.GetCertHashString()
valeur dans google Chrome:Cliquez sur
Secure
ouNot Secure
dans la barre d'adresse.Puis cliquez sur Certificat -> Détails -> Empreinte et la copie de la valeur. N'oubliez pas de faire
cert.GetCertHashString().ToLower()
.Hash String
à partir d'un cert?cert.GetCertHashString()
deImmediate window
ou vérifier certThumbprint
dans votre navigateur ouMMC
si elle est installée localement.La raison de l'échec ce n'est pas parce qu'il n'est pas signé, mais parce que le certificat racine n'est pas la confiance de votre client. Plutôt que de désactiver SSL de validation, une approche alternative serait d'ajouter le certificat racine CA cert à la liste des autorités de certification de votre application fiducies.
C'est l'autorité de certification racine cert que votre application ne dispose actuellement pas confiance:
Vous pouvez décoder et afficher ce certificat à l'aide de
ce certificat décodeur ou un autre certificat décodeur
Pour désactiver ssl cert validation de la configuration du client.
Ce code a fonctionné pour moi. J'ai dû ajouter TLS2 parce que c'est ce que l'URL je suis intéressé en a été à l'aide.
Si vous êtes à l'aide de sockets directement et sont l'authentification du client, le Service Gestionnaire de Point de la méthode de rappel ne fonctionne pas. Voici ce qui a fonctionné pour moi. VEUILLEZ UTILISER POUR DES FINS DE TEST UNIQUEMENT.
La clé ici est de fournir la distance de validation de certificat de rappel à droite dans le constructeur de la flux SSL.
Continuer de développer BIGNUM de l'après - Idéalement, vous voulez une solution qui permettra de simuler les conditions que vous verrez dans la production et la modification de votre code ne sera pas le faire et il pourrait être dangereux si vous oubliez de prendre le code avant de le déployer.
Vous aurez besoin d'un certificat auto-signé d'une certaine sorte. Si vous savez ce que vous faites, vous pouvez utiliser le binaire BIGNUM posté, mais si pas, vous pouvez aller à la chasse pour le certificat. Si vous utilisez IIS Express, vous avez l'un de ces, vous aurez juste à le trouver. Ouvrez Firefox ou quelque soit le navigateur que vous aimez et aller à votre site web dev. Vous devriez être en mesure d'afficher les informations du certificat à partir de la barre d'URL, et, selon votre navigateur, vous devriez être en mesure d'exporter le certificat dans un fichier.
Ensuite, ouvrez MMC.exe et ajoutez le composant logiciel enfichable Certificats. Importer votre fichier de certificat dans la Confiance des Autorités de certification Racine de magasin et c'est tout ce dont vous aurez besoin. Il est important de s'assurer qu'il va dans ce magasin et pas sur un autre magasin comme "Personnels". Si vous n'êtes pas familier avec MMC ou des certificats, il existe de nombreux sites web avec des informations sur comment faire cela.
Maintenant, votre ordinateur, dans l'ensemble, implicitement confiance tous les certificats qu'il a généré lui-même et vous n'aurez pas besoin d'ajouter du code pour gérer ce spécialement. Lorsque vous vous déplacez à la production qu'il continuera à travailler si vous avez un bon certificat valide qui y est installé. Ne pas le faire sur un serveur de production - ce qui serait mauvais et il ne fonctionnera pas pour tous les autres clients autres que ceux qui sont sur le serveur lui-même.