PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → httpErreurCertificatInvalide   et HTTPEnvoie
httpErreurCertificatInvalide et HTTPEnvoie
Iniciado por fdu, 16,abr. 2018 17:03 - 7 respuestas
Miembro registrado
51 mensajes
Publicado el 16,abril 2018 - 17:03
Bonjour ,

J ai besoins de récupérer chez une société des données de pollution . Pour cela j utilise une requête . Sur le pc de développement ( fonctionnant sous windows 10 ) le programme fonctionne correctement . Lorsque j installe sur un autre PC l application et que je l execute j ai le message "Erreur non fatale code erreur 100138 ) La verification du certificat SSL a échoué .

J ai beau gérer les codes d'erreurs " cMaRequete..IgnoreErreur = httpIgnoreCertificatInvalide " avant de renvoyer la requete par HTTPEnvoie(cMaRequete) .

Voici le code qui est dans une procedure globale et qui est appelé par un bouton dans une apli windev . Avec la trace j ai bien confirmation que le code d erreur est httpErreurCertificatInvalide :

Si quelqu'un à une idée , merci de votre aide .

// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//[ <Résultat> = ] FctGlb_RequestAutorisation ( [<bModeDebug> est booléen])
//
// Paramètres :
// bModeDebug (booléen - valeur par défaut=0) : < indiquez ici le rôle de bModeDebug >
// Valeur de retour :
// httpRéponse : // Aucune
//
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
PROCÉDURE FctGlb_RequestAutorisation(bModeDebug est un booléen = False)

Trace("FctGlb_RequestAutorisation ")
cMaRequete est une httpRequête
cMaReponse est une httpRéponse
cMaRequete..Utilisateur = "utilisateur"
cMaRequete..Entête["Ocp-Apim-Subscription-Key"]="azs54654"
cMaRequete..MotDePasse = "motdepasse"


cMaRequete..Méthode = httpPost
cMaRequete..URL = ChaîneConstruit("https://iotapi.azimut-monitoring.com/azimut/v1/auth")

cMaReponse = HTTPEnvoie(cMaRequete)
SI ErreurDétectée ALORS
SELON ErreurInfo(errCode)
CAS httpErreurCertificatInvalide :
Trace(ChaîneConstruit(" httpErreurCertificatInvalide %1",ErreurInfo(errCode)))

cMaRequete..IgnoreErreur = httpIgnoreCertificatInvalide
cMaReponse = HTTPEnvoie(cMaRequete)
SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
FIN
CAS httpErreurNomCertificatInvalide :
Trace(ChaîneConstruit("httpIgnoreCertificatInvalide %1",ErreurInfo(errCode)))

cMaRequete..IgnoreErreur = httpIgnoreNomCertificatInvalide
cMaReponse = HTTPEnvoie(cMaRequete)
SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
FIN

CAS httpErreurCertificatExpiré :
Trace(ChaîneConstruit(" httpErreurCertificatExpiré %1",ErreurInfo(errCode)))

cMaRequete..IgnoreErreur = httpIgnoreCertificatExpiré
cMaReponse = HTTPEnvoie(cMaRequete)
SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
FIN

AUTRE CAS
Trace(ChaîneConstruit(" Autre cas %1",ErreurInfo(errCode)))
Erreur(ErreurInfo(errComplet))
FIN
SINON
SI bModeDebug = Vrai ALORS
Info(cMaReponse..Contenu)
FIN
FIN


RENVOYER (cMaReponse )

--
Merci .
Cordialement

FDU
Miembro registrado
127 mensajes
Publicado el 17,abril 2018 - 00:13
Bonjour Frédéric,

As-tu essayé de combiner les propriétés et de les placer avant le premier HTTPEnvoie() ?

Typiquement :
cMaRequete..IgnoreErreur = httpIgnoreCertificatExpiré + httpIgnoreNomCertificatInvalide + httpIgnoreCertificatExpiré
ou
cMaRequete..IgnoreErreur = httpIgnoreCertificatExpiré + httpIgnoreNomCertificatInvalide + httpIgnoreCertificatExpiré + httpIgnoreRévocation

A+
Mensaje modificado, 17,abril 2018 - 00:13
Miembro registrado
51 mensajes
Publicado el 17,abril 2018 - 10:20
Bonjour ,

Merci pour l information . Cela fonctionne . Je vais faire des tests complémentaires mais encore merci .

frederic

--
Merci .
Cordialement

FDU
Publicado el 24,abril 2019 - 22:09
Bonjour Frederic,

Le code ci-dessous ne marche pas pour moi, pourrais-tu m'aider?

cMaRequete est un httpRequête
cMaRequete..VersionSSL = ProtocoleDéfaut
cMaRequete..URL = "https://hostName:Port/ressources"
cMaRequete..Méthode =httpPost

cMaRequete..IgnoreErreur = httpIgnoreCertificatExpiré + httpIgnoreNomCertificatInvalide + httpIgnoreCertificatExpiré
//ou
//cMaRequete..IgnoreErreur = httpIgnoreCertificatExpiré + httpIgnoreNomCertificatInvalide + httpIgnoreCertificatExpiré + httpIgnoreRévocation
//
cMaReponse est un httpRéponse = HTTPEnvoie(cMaRequete)
SI ErreurDétectée ALORS
SELON ErreurInfo(errCode)
CAS httpErreurCertificatInvalide :
Trace(ChaîneConstruit(" httpErreurCertificatInvalide %1",ErreurInfo(errCode)))

cMaRequete..IgnoreErreur = httpIgnoreCertificatInvalide
cMaReponse = HTTPEnvoie(cMaRequete)
SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
FIN
CAS httpErreurNomCertificatInvalide :
Trace(ChaîneConstruit("httpIgnoreCertificatInvalide %1",ErreurInfo(errCode)))

cMaRequete..IgnoreErreur = httpIgnoreNomCertificatInvalide
cMaReponse = HTTPEnvoie(cMaRequete)
SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
FIN

CAS httpErreurCertificatExpiré :
Trace(ChaîneConstruit(" httpErreurCertificatExpiré %1",ErreurInfo(errCode)))

cMaRequete..IgnoreErreur = httpIgnoreCertificatExpiré
cMaReponse = HTTPEnvoie(cMaRequete)
SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
FIN

AUTRE CAS
Trace(ChaîneConstruit(" Autre cas %1",ErreurInfo(errCode)))
Erreur(ErreurInfo(errComplet))
FIN
SINON
SI cMaReponse..Contenu = Vrai ALORS
Info("Le site a bien été mis à jour.")
SINON
Erreur(cMaReponse..Contenu)
FIN
FIN


J'ai le message : La vérification du certificat SSL ou de la clé SSH a échoué.

Merci par avance.
Cordialement.
Publicado el 29,abril 2019 - 11:53
bonjour Léopold,

J'ai le même symptôme, as tu trouvé la solution ?

Cordialement
DV
Publicado el 02,mayo 2019 - 17:50
Bonjour Danielle,

Malheureusement non. Frederic ne réagit pas encore.

Cordialement,
L.F
Miembro registrado
1 mensaje
Publicado el 04,julio 2019 - 22:09
Bonjour Danielle,

ça a marché. Voici mon code.

cMaRequete est un httpRequête
cMaRequete..VersionSSL = ProtocoleTLS1_2
cMaRequete..URL = "https://hostName:Port/ressources"
cMaRequete..Entête["Entête1"] = "Entête1"
cMaRequete..Entête["Entête2"] = "Entête2"
cMaRequete..Entête["Entête3"] = "Entête3"
cMaRequete..Entête["Entête4"] = "Entête4"
cMaRequete..Méthode = httpPost
cMaRequete.ContentType = "text/plain; charset=utf-8"
cMaRequete.Contenu = Payload
cMaRequete..IgnoreErreur = httpIgnoreCertificatExpiré + httpIgnoreNomCertificatInvalide + httpIgnoreCertificatInvalide

cMaReponse est un httpRéponse = HTTPEnvoie(cMaRequete)
SI ErreurDétectée ALORS
.....


Cordialement,
L.F

--
L.F
Cordialement
Publicado el 25,noviembre 2019 - 14:45
Merci beaucoup d'avoir partagé.
Après avoir développé une application avec windev 24 sur un windows 7, la migration vers windows 10 à déclenché le code erreur 100138.
Ca a fonctionné pour moi.
Bon dev