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

Web & réseau Delphi Discussion :

WebSocket : erreurs SSL


Sujet :

Web & réseau Delphi

Vue hybride

myflash WebSocket : erreurs SSL 21/07/2022, 01h10
ShaiLeTroll Si Indy Trois solutions :... 21/07/2022, 09h08
myflash Ouais ça a réglé le trouble... 08/08/2022, 01h57
ShaiLeTroll J'ai déjà mis le code... 08/08/2022, 11h24
myflash wooo nice, j'ai hate de... 09/08/2022, 00h27
myflash Ouein pas évident, Indy a un... 19/08/2022, 16h19
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de myflash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 63
    Par défaut WebSocket : erreurs SSL
    Bonjour,

    J'ai réussi à faire un client WebSocket mais quand je me coonecte au serveur ça roule un peux et ça finit par faire des erreurs SSL...

    Quelques exemples :

    error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac
    error:1408F092:SSL routines:SSL3_GET_RECORD:data length too long
    error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
    Je désespère de trouver une bonne solution !

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 001
    Par défaut
    Si Indy

    Trois solutions :
    - Trouver une autre version des DLL SSL : libeay32.dll et ssleay32.dll
    - Ecrire un palliatif en InternetOpen\InternetConnect\HttpOpenRequest\HttpSendRequest qui utilise le SSL interne de Windows
    - SChannel : https://github.com/tothpaul/Delphi/t...Indy.SChannel/
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre actif Avatar de myflash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 63
    Par défaut
    Ouais ça a réglé le trouble mais maintenant avec SocketSChannel j'ai un problème : ma connexion se ferme toujours à cause de "Range check error".

    Je devrais essayer avec le palliatif en InternetOpen\InternetConnect\HttpOpenRequest\HttpSendRequest. Je ne sais pas par où commencer hehehe, si vous avez des idées ou des exemples ça serait apprécié.

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 001
    Par défaut
    J'ai déjà mis le code InternetOpen\InternetConnect\HttpOpenRequest\HttpSendRequest dans le cadre d'un GET classique
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre actif Avatar de myflash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 63
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    J'ai déjà mis le code InternetOpen\InternetConnect\HttpOpenRequest\HttpSendRequest dans le cadre d'un GET classique
    wooo nice, j'ai hate de decortiquer ca en morceau pour me faire une mini librairie websocket hehehehe ...

    Merci, j'ai bien l'impression que ca vas etre la solution incontestable hehehe....

  6. #6
    Membre actif Avatar de myflash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 63
    Par défaut
    J'ai trouvé un projet de password tout simple qui me fait la même erreur de Range Check Error... J'imagine que mon problème de SocketSChannel peut avoir un lien avec le même type d'erreur... Je crois que c'est une histoire de débordement de la valeur d'un integer...

    https://codes-sources.commentcamarch...e-passe-crypte

    Je suis sous : Delphi - Embarcadero® RAD Studio 11 Version 28.0.44500.8973

  7. #7
    Membre actif Avatar de myflash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 63
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    J'ai déjà mis le code InternetOpen\InternetConnect\HttpOpenRequest\HttpSendRequest dans le cadre d'un GET classique
    Ouein pas évident, Indy a un problème de leak de mémoire, il ne libère pas toute la RAM quand on le détruit, ça fait que ma mémoire monte jusqu'à ce que ça fasse une erreur de manque de mémoire...

    J'essaye avec WinHTTP ou avec Wininet (les 2 ont l'air pareils mais sur le net ça dit que WiniNet est lent), je n'arrive pas vraiment à trouver comment garder une connexion qui est asyncrone pour wrapper mes commandes simples send, close, onClose, onReceive, onError. J'ai réussi à me connecter puis à envoyer les headers, je réussis à lire les headers des réponses mais les buffers restent comme ça, on dirait qu'il n'y a plus rien après, je ne reçois pas de message de bienvenue du serveur, et je ne trouve pas comment lui envoyer des messages sur la même connexion que j'ai ouverte...

    Il y a un WebSocket.dll dans Windows System32 et Wow64... Il n'y aurait pas moyen d'importer ça et d'utiliser directement les websockets de Windows ??

  8. #8
    Membre actif Avatar de myflash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 63
    Par défaut
    Avec un mini-environnement de test, pour tester les leak de mémoire de juste idHTTP ou idHTTP + SSL ou idHTTP + SChannel, je pogne encore un Range check error avec les sChannels...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fichier : Execute.SChannel.pas
    ligne 482 : Error := SSPI.DecryptMessage(@Context, @Buffer, 0, nil);
    Quand j'exécute ce code-là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                gidhttpSC := TIdHTTP.Create(nil);
                if Assigned(gidhttpSC.IOHandler) then freeandnil((gidhttpSC.IOHandler as TIdSSLIOHandlerSocketSChannel));
                gidhttpSC.IOHandler := TIdSSLIOHandlerSocketSChannel.Create(nil);
                gidhttpSC.get('https://www.google.com');
    Je suis sous RADStudio 11

    Je vous attache un projet minimal qui refait l'erreur...
    test_RangeCheckError.7z

    Faut essayer plusieurs fois c'est un peu intermitent...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message d'erreur SSL serveur documents office
    Par mioummioum dans le forum Sécurité
    Réponses: 3
    Dernier message: 29/04/2015, 12h09
  2. [2008R2] Installation - Erreur SSL/TLS - Configuration des Reporting Services (SSRS)
    Par mechakiss dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/02/2015, 17h53
  3. Erreur SSL récurrente
    Par mckilleron dans le forum Langage
    Réponses: 0
    Dernier message: 16/09/2013, 14h22
  4. [PHP 5.3] Erreur SSL Curl
    Par max-mag dans le forum Langage
    Réponses: 0
    Dernier message: 18/02/2013, 18h21
  5. [Maestro] Maestro 1.6.2 : SMTP GMail => erreur SSL handshake
    Par mhicauber dans le forum Intégration Continue
    Réponses: 0
    Dernier message: 16/01/2009, 17h57

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