Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment s'identifier avec winsock...

16 réponses
Avatar
Christian
Bonjour,

J'ai un programme qui tournait très bien jusqu'à présent. Depuis le
changement de fournisseur le prog ne marche plus.

Le prog permettait d'envoyer des mails via Winsock en se connectant au smtp
du fournisseur. Hors, ce fournisseur, ne me permet plus de le faire. Lorsque
je me connecte en telnet sur son SMTP, je n'ai pas de connexion
possible.Pourtant Outlook, lui, se permet d'envoyer les mails sur ce même
serveur. Comment fait il ?

D'autant que je ne vois pas de méthodes pour se faire reconnaître à partir
de winsock... Et comme je parviens pas jusqu'au Ehlo...

Quelqu'un a une idée.

Christian.

6 réponses

1 2
Avatar
Fred
Dans : news:46700048$0$28807$,
Christian disait :

J'ai effectivement, une réponse 334 suivi d'une chaîne encodée



Si tu décodes cela doit ressembler à cela :
(encadré avec < et >)
Il te faut absolument décoder pour pouvoir faire la suite.



Voila ce que j'ai compris :

H étant la fonction de hashage md5 (que tu dois trouver dans une classe
du projet http://www.codetoad.com/vb_crypto_api.asp)
C'est dans un fichier .cls, CreateHash de mémoire.

D'après la RFC 2104, il te faut calculer :
H(K XOR opad, H(K XOR ipad, text))
où K est ton mot de passe et text la chaîne renvoyée par le serveur.
La virgule symbolise ici une concaténation.
Tout cela sous forme de tableaux d'octets.

La méthode issue de la RFC :

(1) append zeros to the end of K to create a B byte string
(e.g., if K is of length 20 bytes and Bd, then K will be
appended with 44 zero bytes 0x00)

Stocker les octets du mot de passe dans un tableau de 64 bytes et
compléter avec des zéros.

(2) XOR (bitwise exclusive-OR) the B byte string computed in step
(1) with ipad

Faire un Ou exclusif octet par octet du tableau précédent avec le
contenu de ipad.

(3) append the stream of data 'text' to the B byte string resulting
from step (2)

Agrandir ce tableau d'octet et ajouter les octets de la chaîne
renvoyée par le serveur.

(4) apply H to the stream generated in step (3)

Calculer le Hash de ce tableau -> un nouveau tableau de 16 octets

(5) XOR (bitwise exclusive-OR) the B byte string computed in
step (1) with opad

Faire un nouveau ou exclusif avec le tableau du mot de passe (64
octets) et opad

(6) append the H result from step (4) to the B byte string
resulting from step (5)

Ajouter à ce nouveau tableau les 16 octets du Hash calculé en 4.

(7) apply H to the stream generated in step (6) and output
the result

Calculer le H du tableau de 64 + 16 octets obtenu en 6.

ipad = un tableau de 64 bytes rempli avec des 0x36
opad = un tableau de 64 bytes rempli avec des 0x5C

Il faut stocker le mot de passe dans un tableau de 64 octets également
en complètant avec des octets nuls.
Compte tenu des concaténation, il faut prévoir un tableau d'octets de 64
+ nombre d'octets renvoyés par le serveur.

H renvoie normalement 16 octets en MD5.

Et c'est le résultat de cette opération que tu concatène après le nom
d'utilisateur en intercalant un espace.

J'oubliais : c'est l'encodage base 64 des 16 octets MD5 qui doit être
concaténé.


Ce n'est pas simple. Je ne sais pas s'il y a une API qui fait cette
partie mais je n'ai rien vu dans le projet. Je l'ai parcouru très
rapidement il est vrai.

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
Fred
Dans : news:O6X%233$,
Fred disait :

Ce n'est pas simple. Je ne sais pas s'il y a une API qui fait cette
partie



Il y a : c'est la même fonction.

mais je n'ai rien vu dans le projet.



Car ce type de hash n'est pas prévu dans la classe cldCryptoAPI
semble-t-il.

Un bon point de départ, uniquement à base d'apis si l'algorithme
précédent est trop long à mettre en ½uvre.
http://msdn2.microsoft.com/en-us/library/aa379863.aspx



--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
Christian
Merci beaucoup.

Je vais me débrouiller avec tout cela. Il est vrai que ce n'est pas des plus
simple (pour moi). Mais bon, c'est intéressant.

Vraiment merci.

Christian.


"Fred" a écrit dans le message de news:
#
Dans : news:O6X%233$,
Fred disait :

> Ce n'est pas simple. Je ne sais pas s'il y a une API qui fait cette
> partie

Il y a : c'est la même fonction.

> mais je n'ai rien vu dans le projet.

Car ce type de hash n'est pas prévu dans la classe cldCryptoAPI
semble-t-il.

Un bon point de départ, uniquement à base d'apis si l'algorithme
précédent est trop long à mettre en ½uvre.
http://msdn2.microsoft.com/en-us/library/aa379863.aspx



--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)



Avatar
Fred
Dans : news:467a43ab$0$25692$,
Christian disait :
Merci beaucoup.

Je vais me débrouiller avec tout cela. Il est vrai que ce n'est pas
des plus simple (pour moi).



Pour personne je pense :-)

Mais bon, c'est intéressant.



Reviens nous faire part de ton avancement. Devant la multiplication des
serveurs smtp protégés, je pense que ton code vb6 (ou à défaut des
indications de codage) en intéressera plus d'un.
Je pense en particulier à Jean-Marc et François pour leur faq vb ;-)

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
jean-marc
"Fred" wrote in message
news:%235hFkJ$
Dans : news:467a43ab$0$25692$,
Christian disait :
Merci beaucoup.

Je vais me débrouiller avec tout cela. Il est vrai que ce n'est pas
des plus simple (pour moi).



Pour personne je pense :-)

Mais bon, c'est intéressant.



Reviens nous faire part de ton avancement. Devant la multiplication des
serveurs smtp protégés, je pense que ton code vb6 (ou à défaut des
indications de codage) en intéressera plus d'un.
Je pense en particulier à Jean-Marc et François pour leur faq vb ;-)



Nous ne manquerons pas d'ajouter un article à ce sujet :-)

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Marc Paquin
Bonjour,

Apres plusieurs heures de recherche et d'essai j'ai trouvé quelqu'un qui a
déjà fait tout le travaille

http://www.vbfrance.com/codes/ENVOYER-RECEVOIR-MAILS-AVEC-PIECES-JOINTES-UNIQUEMENT-AVEC_33521.aspx


Lire le readme pour utiliser le auth.dll


Marc Paquin




"jean-marc" wrote in message
news:467a80c8$0$13861$

"Fred" wrote in message
news:%235hFkJ$
Dans : news:467a43ab$0$25692$,
Christian disait :
Merci beaucoup.

Je vais me débrouiller avec tout cela. Il est vrai que ce n'est pas
des plus simple (pour moi).



Pour personne je pense :-)

Mais bon, c'est intéressant.



Reviens nous faire part de ton avancement. Devant la multiplication des
serveurs smtp protégés, je pense que ton code vb6 (ou à défaut des
indications de codage) en intéressera plus d'un.
Je pense en particulier à Jean-Marc et François pour leur faq vb ;-)



Nous ne manquerons pas d'ajouter un article à ce sujet :-)

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/







1 2