IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Pb casse-tête avec des sites Https non accessibles en VB.net sous Win7Sp1 (avec kb3140245)


Sujet :

VB.NET

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Par défaut Pb casse-tête avec des sites Https non accessibles en VB.net sous Win7Sp1 (avec kb3140245)
    Bonjour à Tou(te)s,

    J'aimerais savoir si quelqu'un peut m'aider dans un problème qui me prend la tête depuis quelques jours...

    J'ai encore un PC sous Win7sp1 qui utilise des programmes développés en VB.net avec VS2017.
    J'avais, il y a quelques années, fait un programme qui se connectait à un site "https" et récupérait des informations.
    Dernièrement (cela faisait longtemps que je ne l'avais pas utilisé) ce programme s'est bloqué avec l'erreur :
    "La demande a été abandonnée : impossible de créer un canal sécurisé SSL/TLS"

    J'ai parcouru pas mal de sites donnant des explications et des solutions (modifier la base de registre, installer KB3140245, ...) que j'ai appliquées mais rien n'y fait.

    Ce que je ne comprends pas c'est que j'accède normalement à ce site avec Firefox.
    Si c'était un problème SSL/TLS au niveau de Windows (comme semble le dire MS avec sa KB) j'aurais aussi le problème avec Firefox, non ?

    Je vous indique la liste des .Net de mon système (si cela peut aider)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    5.0.401 [C:\Program Files\dotnet\sdk]
    5.0.416 [C:\Program Files\dotnet\sdk]
     
    Microsoft.AspNetCore.All 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
    Microsoft.AspNetCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 5.0.10 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
    Microsoft.AspNetCore.App 6.0.25 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
    Microsoft.NETCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    Microsoft.NETCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    Microsoft.NETCore.App 5.0.10 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    Microsoft.NETCore.App 6.0.25 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
    Microsoft.WindowsDesktop.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
    Microsoft.WindowsDesktop.App 5.0.10 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
    Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
    Quelqu'un a-t-il une idée (et même une solution) ?
    Merci beaucoup !
    Dom

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 259
    Par défaut
    Peut-être une piste à vérifier, voir dans les sources de ton programme si tu spécifie la version de TLS que tu utilise.

    Il n'est pas impossible que ton programme utilise encore la version 1.0 ou 1.1, qui sont obsolètes et compromises niveau sécurité et qui ne doivent plus être utilisées.
    Si le site web est à jour, il doit être minimum en TLS1.2, et si possible TLS1.3 (le site devrait être compatible avec les 2).

    Ensuite reste à voir si W7 est compatible avec TLS1.2 (pour TLS1.3, il te faudra minimum W11, si je dis pas de bêtises)

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Peut-être une piste à vérifier, voir dans les sources de ton programme si tu spécifie la version de TLS que tu utilise.

    Il n'est pas impossible que ton programme utilise encore la version 1.0 ou 1.1, qui sont obsolètes et compromises niveau sécurité et qui ne doivent plus être utilisées.
    Si le site web est à jour, il doit être minimum en TLS1.2, et si possible TLS1.3 (le site devrait être compatible avec les 2).

    Ensuite reste à voir si W7 est compatible avec TLS1.2 (pour TLS1.3, il te faudra minimum W11, si je dis pas de bêtises)

    Hello sevyc64

    Merci de ta réponse et excuse mon retard...
    J'ai suivi ce que tu me proposais et cela marche avec Google à l'adresse "https://www.google.com/"
    Mais toujours pas avec le site que je désire accéder.
    Que peut-il y avoir sur ce site qui bloque ?
    Existe-t-il un moyen pour observer les échanges entre le site et un browser standard ?

    Mon code actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
           Try
                System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 Or SecurityProtocolType.Tls12 Or SecurityProtocolType.Tls11
     
                Dim client As WebClient = New System.Net.WebClient()
                Dim Data As Stream = client.OpenRead("https://www.bedetheque.com/") ' --- urlS
                Dim reader As StreamReader = New StreamReader(Data)
     
                sPagS = reader.ReadToEnd
     
                reader.Close()
                data.Close()
                client.Dispose()
     
            Catch ex As Exception
                MsgBox(sCErrM + "Recherche : " + ex.Message + vbCrLf + ex.Source + vbCrLf + ex.StackTrace)
                Exit Sub
            End Try
    Dans l'attente, merci beaucoup
    Dom

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 726
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 726
    Par défaut
    les "options internet" de windows où il faut activer/cocher le bon TLS (dans l'onglet "Avancé")

    voire rajouter quelques clés de registres comme indiqué sur l'article du KB https://support.microsoft.com/kb/3140245

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Par défaut
    Citation Envoyé par umfred Voir le message
    les "options internet" de windows où il faut activer/cocher le bon TLS (dans l'onglet "Avancé")

    voire rajouter quelques clés de registres comme indiqué sur l'article du KB https://support.microsoft.com/kb/3140245
    Hello umfred,

    Merci de ta réponse mais cela avait été fait avant que je poste mon SOS ici... et j'accède au site sans problème avec mon browser.
    Pour ce qui est des clés de registre et du KB3140245 aussi.
    Je sèche.


    Encore merci de ta réponse et bonne journée,
    Dom

  6. #6
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 259
    Par défaut
    Bon un peu de retard mais j'ai pas eu les notifs des réponses, va falloir que je vois pourquoi.

    Déjà dans tes SecurityProtocol, tu peux normalement virer SSL3 et TLS11. Normalement il ne faut plus les utiliser.
    Tu devrais avoir TLS12 et peut-être éventuellement TLS13 si ton logiciel est amené à tourner sur du W11 (à supposer que ta version .Net le supporte, mais je pense que oui)

    Sous W11, sous Chrome, ton site répond avec du TLS 1.3, mais sous W7, il ne le fera qu'en TLS 1.2 normalement.
    Tu peux le voir en activant les outils de développement sous Chrome (touche F12), dans l'onglet Confidentialité et Sécurité

  7. #7
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Bon un peu de retard mais j'ai pas eu les notifs des réponses, va falloir que je vois pourquoi.

    Déjà dans tes SecurityProtocol, tu peux normalement virer SSL3 et TLS11. Normalement il ne faut plus les utiliser.
    Tu devrais avoir TLS12 et peut-être éventuellement TLS13 si ton logiciel est amené à tourner sur du W11 (à supposer que ta version .Net le supporte, mais je pense que oui)

    Sous W11, sous Chrome, ton site répond avec du TLS 1.3, mais sous W7, il ne le fera qu'en TLS 1.2 normalement.
    Tu peux le voir en activant les outils de développement sous Chrome (touche F12), dans l'onglet Confidentialité et Sécurité
    Hello sevyc64,

    Merci mais toujours rien de plus...
    J'ai fait les modifs dans SecurityProtocol (je pensais à la base que l'indication de tous les modes était "mieux" pour gérer le plus grand nombre de cas).
    Visiblement VS2019 ne supporte pas TLS13 ) la compile donc...

    Je suis toujours sous Win7 (parce que la stabilité de W10/11 ne me parait guère sure... mais il me faudra bien y passer un jour).

    J'ai essayé F12 sous Chrome... mais je n'ai rien vu de spécial pour ce site (ou alors je ne sais pas voir où il faut... ce qui est possible vu la complexité du "machin").
    J'avais espéré trouver la lecture d'un quelconque code en cookie lors d'un pré-chargement (et encore je ne sais pas si cela provoquerait un pb de connexion SSL/TLS) mais rien.

    Ce doit forcément être au niveau de VS2019 ou de mon développement car j'accède à ce site site, avec les browsers, sans aucun problème.
    Mais lequel(s) ?
    Je bloque sur le sujet et sèche comme le poulpe au soleil
    Aurais tu une idée ?

    Ajout du 3/8/25 -------------------------------------------------------------------------------------------------------------------------------------------------

    Suite à des lecture sur internet, en particulier sur Miicrosoft j'ai essayé d'utiliser HttpClient plutôt que WebClient (il parait que c'est mieux)
    En simple test cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
            Async Sub BtnTst3_Click(sender As Object, e As EventArgs) Handles BtnTst3.Click
     
            Dim page As String = "https://www.bedetheque.com/"
     
            Using client As HttpClient = New HttpClient()
                System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
     
                Using response As HttpResponseMessage = Await client.GetAsync(page)
                    Using content As HttpContent = response.Content
                        Dim result As String = Await content.ReadAsStringAsync()
     
                        If result IsNot Nothing And result.Length > 50 Then
                            Debug.WriteLine(result.Substring(0, 50) + "...")
                        End If
                    End Using
                End Using
            End Using
     
        End
    Çà marche pour les 5 ou 6 sites que j'ai testé... sauf pour celui qui m'intéresse... évidemment !

    J'ai aussi ajouté les clefs de registre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client
         \DisabledByDefault     à 1
         \Enabled                    à 0
    Sans aucun changement....

    Ce site doit être ensorcelé
    Help !

    ----------------------------

    Après avoir consulté les logs de SCHANNEL... j'ai trouvé la raison de l'erreur :

    " Le serveur distant a demandé une authentification de client SSL, mais aucun certificat de client convenable n’a été trouvé. Une connexion anonyme va être tentée. Cette demande de connexion SSL peut aboutir ou non, en fonction des paramètres de stratégie du serveur. "

    J'avoue que je n'y avais pas pensé au premier (et même au second) abord.

    La solution semble proche, sauf que je ne vois pas ce que je dois faire dans mon programme pour expliquer qu'il y a bien des certificats (visiblement utilisés par les browsers) et que la connexion doit les trouver.

    Tu peux m'expliquer s'il te plait ?

    Ajout du 3/8/25 -------------------------------------------------------------------------------------------------------------------------------------------------

    Merci d'avance
    Dom

  8. #8
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 259
    Par défaut
    Salut, je ne suis pas un expert du web, mais cette histoire de certificat client ne me dit rien.

    Il y a bien des certificats coté clients pour valider les autorités de certification des certificats présentés par les serveurs, mais ces certificats-là font partis du système d'exploitation. Du peu de connaissances que j'ai en la matière,comme ton site marche avec Chrome, ces certificats-là sont présents sur ton poste, à priori. Sinon Chrome le dirait.

    Concernant ton message d'erreur, je trouve cette page. Mais chez moi, elle ne se charge pas correctement, j'ai pas tout le texte (comme c'est pour w8 qui n'est plus maintenu, c'est surement issu d'un système d'archive des vieilles données chez microsoft).

  9. #9
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Salut, je ne suis pas un expert du web, mais cette histoire de certificat client ne me dit rien.

    Il y a bien des certificats coté clients pour valider les autorités de certification des certificats présentés par les serveurs, mais ces certificats-là font partis du système d'exploitation. Du peu de connaissances que j'ai en la matière,comme ton site marche avec Chrome, ces certificats-là sont présents sur ton poste, à priori. Sinon Chrome le dirait.

    Concernant ton message d'erreur, je trouve cette page. Mais chez moi, elle ne se charge pas correctement, j'ai pas tout le texte (comme c'est pour w8 qui n'est plus maintenu, c'est surement issu d'un système d'archive des vieilles données chez microsoft).

    Bonsoir sevyc64,

    J"ai ouvert la page que tu m'indiques et téléchargé deux "correctifs" (selon Microsoft) pour ce problème.
    Je vais tester cela demain mais je n'y crois pas trop 1/parce que c'est pour Win8 (et je suis en Win7Sp1) et 2/ parce que les browsers (Chrome ou Firefox) n'ont pas de problème.
    Je pense plutôt à une spécificité (ou un bug) de vb.net mais lequel et comment le corriger ?
    C"est délirant : j'arrive à accéder à tous les sites que je teste sauf celui dont j'ai besoin !

    Niveau MS...
    Je me suis dit que j'avais peut-être un bug dans la version de mon vb.net et ai donc accepté une mise à jour, proposée depuis quelques temps, de VS2019...
    J"aurais pas dû...
    En bon programmeur de différents langages non-PC, j'ai utilisé un peu partout le "<>" pour tester une différence de contenu de chaine ( A <> B ).
    Jusqu'alors je n'avais pas de problème
    Dans la nouvelle version, si A="SO GOOD" et B="so good", pour le test A <> B la réponse est False !!!
    Je suis donc en train de remplacer les A <> B par Not String.Equals(A,B)
    Cool non ???

    Bonne nuit,
    Dom

  10. #10
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 742
    Par défaut
    Bonjour,

    As tu jeté un oeil côté serveur, pour savoir ce qu'il autorise ou non côté SSL/TLS ?

  11. #11
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Par défaut
    Citation Envoyé par m4k-Hurrican Voir le message
    Bonjour,

    As tu jeté un oeil côté serveur, pour savoir ce qu'il autorise ou non côté SSL/TLS ?
    Bonjour m4k-Hurrican,

    Je ne sais pas comment je peux faire cela avec un serveur extérieur (site "https://www.bedetheque.com/").
    Peux tu m'expliquer ?
    Merci à l'avance,

    Dom

  12. #12
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 742
    Par défaut
    C'est dans la configuration du serveur.
    Si tu n'as pas accès à cette configuration, il existe des outils en ligne pour çà.
    Pour le site indiqué, il est noté qu'il ne supporte que TLS 1.2 et 1.3 (normal quoi).
    Toutes les versions de SSL, ainsi que TLS 1.0 et TLS 1.1 sont exclues.

    Il faut donc que ton code prenne en charge soit TLS 1.3, soit TLS 1.2 ce qui semble être ton cas.

    Question bête, as-tu essayé ce site sous le navigateur de Microsoft avant qu'il bascule au moteur de Chrome (donc Edge ancienne version ou pire IE ) ? Perso je ne l'ai pas, je ne peux pas tester.

  13. #13
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Par défaut
    Citation Envoyé par m4k-Hurrican Voir le message
    C'est dans la configuration du serveur.
    Si tu n'as pas accès à cette configuration, il existe des outils en ligne pour çà.
    Pour le site indiqué, il est noté qu'il ne supporte que TLS 1.2 et 1.3 (normal quoi).
    Toutes les versions de SSL, ainsi que TLS 1.0 et TLS 1.1 sont exclues.

    Il faut donc que ton code prenne en charge soit TLS 1.3, soit TLS 1.2 ce qui semble être ton cas.

    Question bête, as-tu essayé ce site sous le navigateur de Microsoft avant qu'il bascule au moteur de Chrome (donc Edge ancienne version ou pire IE ) ? Perso je ne l'ai pas, je ne peux pas tester.
    Bonjour m4k-Hurrican

    Merci de ton aide et pour avoir fait le test du site (je ne savais pas que cela pouvait se faire)

    Théoriquement (avec MS on ne peut jamais être sûr...) j'ai appliqué le correctif KB3140245 sensé supprimer les problèmes de TLS/SSL...
    Le KB en question est visible dans les correctifs appliqués.
    Pour les effets... Comment peut-on vérifier ?

    J'ai fait les correctifs de la Base de registre correspondants à cette modif
    Donc normalement je dois pouvoir utiliser TLS 1.2 (car pour TLS 1.3 vb.net me fait une erreur de compilation) sans problème...

    J'ai testé le site avec Edge (version 109.0.1518.140 (64 bits)) ça passe sans problème... avec Chrome Firefox et Opera aussi...
    Il n'y a que pour mon programme que cela bloque !

    Donc, toujours le mystère...
    Si tu as une nouvelle idée.
    Dom

  14. #14
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Par défaut Up
    Bonjour,

    Un simple "Up' pour faire remonter la question (qui est toujours d'actualité et n'a toujours pas de solution, hélas...).

    Quelqu'un aurait-il une idée ?
    C'est un peu "embêtant" d'avoir toute une partie de programme inutilisable pour un problème qui semble n'être qu'une histoire de configuration (sans doute VS2019 ?).

    Merci à Tou(te)s de votre aide.
    Dom

  15. #15
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 726
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 726
    Par défaut
    Comme tu as parlé de problème de certificat, j'ai fait une petite recherche et je crois que tu dois rajouter ce code avant le using

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     ServicePointManager.ServerCertificateValidationCallback = Function(se As Object,
                                             cert As System.Security.Cryptography.X509Certificates.X509Certificate,
                                             chain As System.Security.Cryptography.X509Certificates.X509Chain,
                                             sslerror As System.Net.Security.SslPolicyErrors) True
    Ce code indique que l'on valide le certificat dans tous les cas

  16. #16
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 45
    Par défaut Re umfred
    Citation Envoyé par umfred Voir le message
    Comme tu as parlé de problème de certificat, j'ai fait une petite recherche et je crois que tu dois rajouter ce code avant le using
    Merci de ta réponse.
    Désolé pour le retard de ma part : j'ai eu d'autres priorités à régler entre temps et j'ai dû laisser cela un peu de côté.
    Meilleurs vœux en tout cas pour 2026

    J'ai testé... sans succès cependant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Exception levée*: 'System.Security.Authentication.AuthenticationException' dans System.dll
    Exception levée*: 'System.Security.Authentication.AuthenticationException' dans System.dll
    Exception levée*: 'System.Security.Authentication.AuthenticationException' dans System.dll
    Exception levée*: 'System.Security.Authentication.AuthenticationException' dans System.dll
    Exception levée*: 'System.Security.Authentication.AuthenticationException' dans System.dll
    Exception levée*: 'System.ObjectDisposedException' dans System.dll
    Exception levée*: 'System.Net.WebException' dans System.dll
    Exception levée*: 'System.Net.WebException' dans System.dll
    'BD.exe' (Win32)*: Chargé 'C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Net.Http.resources\v4.0_4.0.0.0_fr_b03f5f7f11d50a3a\System.Net.Http.resources.dll'. Le module a été généré sans symboles.
    'BD.exe' (Win32)*: Chargé 'C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Net.Http.resources\v4.0_4.0.0.0_fr_b03f5f7f11d50a3a\System.Net.Http.resources.dll'. Le module a été généré sans symboles.
    'BD.exe' (Win32)*: Déchargé 'C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Net.Http.resources\v4.0_4.0.0.0_fr_b03f5f7f11d50a3a\System.Net.Http.resources.dll'
    'BD.exe' (CLR v4.0.30319: Gestionnaire BD VB.exe)*: Chargé 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Net.Http.resources\v4.0_4.0.0.0_fr_b03f5f7f11d50a3a\System.Net.Http.resources.dll'. Le module a été généré sans symboles.
    Exception levée*: 'System.Net.Http.HttpRequestException' dans mscorlib.dll
    Exception levée*: 'System.Net.Http.HttpRequestException' dans mscorlib.dll
    Exception levée*: 'System.Reflection.TargetInvocationException' dans mscorlib.dll
    Une exception non gérée du type 'System.Reflection.TargetInvocationException' s'est produite dans mscorlib.dll
    Une exception a été levée par la cible d'un appel.
    Sur l'écran j'ai aussi les erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
      System.Reflection.TargetInvocationException
      HResult=0x80131604
      Message=Une exception a été levée par la cible d'un appel.
      Source=mscorlib
      Arborescence des appels de procédure*:
       at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
       at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
       at System.Delegate.DynamicInvokeImpl(Object[] args)
       at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
       at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
       at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
       at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
       at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
       at WindowsApplication1.My.MyApplication.Main(String[] Args) in :line 83
     
      Cette exception a été levée à l'origine dans cette pile des appels*: 
        System.Net.HttpWebRequest.EndGetResponse(System.IAsyncResult)
        System.Net.Http.HttpClientHandler.GetResponseCallback(System.IAsyncResult)
     
    Exception interne 1*:
    HttpRequestException*: Une erreur s'est produite lors de l'envoi de la demande.
     
    Exception interne 2*:
    WebException*: La demande a été abandonnée*: Impossible de créer un canal sécurisé SSL/TLS.
    Donc : retour au point de départ...
    Si tu as une nouvelle idée.
    Merci
    Dom

  17. #17
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 726
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 726
    Par défaut
    J'ai soumis la problématique à une IA (Gemini) et voici le code qu'il me propose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Async Sub BtnTst3_Click(sender As Object, e As EventArgs) Handles BtnTst3.Click
        Dim page As String = "https://www.bedetheque.com/"
     
        ' Configuration du protocole (important pour les vieux projets .NET)
        System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
     
        Using client As HttpClient = New HttpClient()
            Try
                ' --- L'ETAPE MANQUANTE : Le User-Agent ---
                client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")
     
                ' Optionnel : Accepter les types de contenus standards
                client.DefaultRequestHeaders.Accept.Add(New Net.Http.Headers.MediaTypeWithQualityHeaderValue("text/html"))
     
                Using response As HttpResponseMessage = Await client.GetAsync(page)
                    ' Vérifie si la requête a réussi (Statut 200)
                    response.EnsureSuccessStatusCode()
     
                    Dim result As String = Await response.Content.ReadAsStringAsync()
     
                    If Not String.IsNullOrEmpty(result) Then
                        ' Affiche les 100 premiers caractères pour être sûr
                        Debug.WriteLine(result.Substring(0, Math.Min(result.Length, 100)) & "...")
                    End If
                End Using
     
            Catch ex As Exception
                Debug.WriteLine("Erreur lors de l'accès au site : " & ex.Message)
            End Try
        End Using
    End Sub
    La partie essentielle est qu'il ajoute la ligne définissant un UserAgent pour la requête pour se faire passer par un navigateur classique (ce qui n'est pas déconnant)
    Ceci dit, tu as bien installé la KB3140245 dont j'ai parlé bien plus tôt ?

    tu peux aussi tester en remplaçant la ligne 5 par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Net.ServicePointManager.SecurityProtocol = DirectCast(3072, SecurityProtocolType) Or SecurityProtocolType.Tls

  18. #18
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 154
    Par défaut
    Tu peux éventuellement passer en Framework 4.8 qui gère nativement TLS 1.2.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/05/2018, 14h18
  2. IP publique pour mettre le site Http en ligne sur le net
    Par pascalb67200 dans le forum AS/400
    Réponses: 3
    Dernier message: 06/04/2018, 10h35
  3. Réponses: 0
    Dernier message: 23/12/2009, 23h21
  4. squid+avoir la trace des sites https?
    Par kerkennah dans le forum Réseau
    Réponses: 2
    Dernier message: 02/05/2007, 17h40
  5. Réponses: 7
    Dernier message: 19/09/2004, 22h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo