.NET framework (C#) ne joint pas Sharepoint

La méthode httpWebRequest.GetResponse() indique une erreur du style la connexion sous jacente a été fermée...

Erreurs potentielles

1 - Vérifier la version de l'appli

2 - Ce que j'ai compris


Les versions précédente de .NET ne prennent pas en compte le réglage de l'OS et ne prennent donc pas l'authent Forte (TLS, TLS11, TLS12)
Pour Sharepoint Online, depuis février 2021, MS à décider de virer la prise en charge de autre chose que ces TLS avec, en prime une liste de crypto que je trouve peu nombreux (mais j'y connais rien..).

dans mon cas, ajouter les lignes suivantes au fichier Appli.exe.config

    <runtime>
        <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSystemDefaultTlsVersions=false"/>
    </runtime>

a suffit.

Un peu de lecture : Best practice TLS pour .net (le comportement en dessous de la version 4.7.1 est un peu vaseux...)
Best Practice for TLS
Mitigation par juste la modif du .config (incroyable!)
Mitigation TLS

en gros il faut rajouter :

    <runtime>
        <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSystemDefaultTlsVersions=false"/>
    </runtime>

dans le exe.config.


La ou MS dit qu'ils dégage les anciens protocoles de leur plateforme. Troubleshoot Sharepoint


Régler la solution par modif de la clé de registre (Donc pour toutes les appli) par ici


Modifier l'ordre de chiffrement par défaut (tous le PC) CIPHER Suite Order


Rendons a César ce qui lui appartient : Que serait le monde sans stack overflow et Merci kevin, ça marche pas mal ! Support TLS 1 2 sans recompiler


Juste un point important, si vous positionnez les clés de registres a 0 la modif dans le exe.config ne fonctionnera pas...