Nous mettons en place un nouveau SharePoint pour lequel nous n'avons pas encore de certificat SSL valide. Je voudrais appeler le service Web Lists dessus pour récupérer des métadonnées sur la configuration. Cependant, lorsque j'essaie de faire cela, j'obtiens l'exception:
La connexion sous-jacente a été fermée: impossible d'établir une relation d'approbation pour le canal sécurisé SSL / TLS.
L'exception imbriquée contient le message d'erreur:
Le certificat distant n'est pas valide selon la procédure de validation.
Ceci est correct puisque nous utilisons un certificat temporaire.
Ma question est la suivante: comment puis-je dire au client de service Web .Net ( SoapHttpClientProtocol ) d'ignorer ces erreurs?
la source
Vous pouvez également enregistrer un délégué de rappel qui ignore l'erreur de certification:
la source
Comme la réponse de Jason S:
Je mets ceci dans ma main et regarde mon
app.config
et teste si(ConfigurationManager.AppSettings["IgnoreSSLCertificates"] == "True")
avant d'appeler cette ligne de code.la source
Je l'ai résolu de cette façon:
Appelez ce qui suit juste avant d'appeler votre service Web SSL qui provoque cette erreur:
la source
J'avais la même erreur en utilisant DownloadString; et a pu le faire fonctionner comme ci-dessous avec des suggestions sur cette page
la source
contournera invaild ssl. Écrivez-le à votre constructeur de service Web.
la source
Pour les débutants, vous pouvez étendre votre classe de service partielle dans un fichier cs séparé et ajouter le code du code fourni par "imanabidi" pour l'intégrer
la source
Pour développer davantage l'article de Simon Johnsons - Idéalement, vous voulez une solution qui simule les conditions que vous verrez en production et la modification de votre code ne le fera pas et pourrait être dangereuse si vous oubliez de retirer le code avant de le déployer.
Vous aurez besoin d'une sorte de certificat auto-signé. Si vous utilisez IIS Express, vous en aurez déjà un, il vous suffira de le trouver. Ouvrez Firefox ou le navigateur de votre choix et accédez à votre site Web de développement. Vous devriez pouvoir afficher les informations du certificat à partir de la barre d'URL et selon votre navigateur, vous devriez pouvoir exporter le certificat dans un fichier.
Ensuite, ouvrez MMC.exe et ajoutez le composant logiciel enfichable Certificat. Importez votre fichier de certificat dans le magasin des autorités de certification racines de confiance et c'est tout ce dont vous avez besoin. Il est important de s'assurer qu'il entre dans ce magasin et non dans un autre magasin comme «Personnel». Si vous n'êtes pas familier avec MMC ou les certificats, il existe de nombreux sites Web avec des informations sur la façon de procéder.
Maintenant, votre ordinateur dans son ensemble fera implicitement confiance à tous les certificats qu'il a générés lui-même et vous n'aurez pas besoin d'ajouter de code pour gérer cela spécialement. Lorsque vous passez à la production, il continuera de fonctionner à condition qu'un certificat valide approprié y soit installé. Ne faites pas cela sur un serveur de production - ce serait mauvais et cela ne fonctionnera pas pour d'autres clients que ceux du serveur lui-même.
la source