SSL_write veut une socket en mode bloquant.

Fermé
razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 - 4 mars 2011 à 11:21
razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 - 9 mars 2011 à 10:23
Bonjour,
Je suis débutant en prog réseau. Je développe une couche de sécurité entre TCP et l'application finale.
voici l'enchainement des appels :

s = sock( ... );
connect(s, @, ...)
ssl = SSL_new( );
SSL_set_fd(s, ssl);
SSL_write(ssl);

le comportement de SSL_write dépend du type de la socket ( bloquante ou pas ).
1) Quand la socket est non bloquante :

socknonblocking(sock, 1);
connect(sock,...);
sockwait(sock, timeout, POLLOUT); // fonction faisant appel à poll.

Dans ce cas, SSL_write( ) rale. il di " SSL_WANT_READ". En gros connect n'a pas fini ( ou n'a pas pu ) exécuter "quelque chose ...
Ma question est : ce serait quoi justement cette "quelque chose". Est-ce que quelqu'un aurait une idée de ce qui se passe au niveau de connect.

2) quand la socket est bloquante, c'est le meme code mais avec un :
socknonblocking(sock, 0);


Dans ce cas, il n'y a pas de problème. connect bloque sur la socket jusqu'à ce que le client arrive à se connect( )-er. SSL_write est alors content.

Merci d'avance.
A voir également:

6 réponses

Bonjour,

il se peut que la présence d'un certificat SSL soit nécessaire. Veuillez commencer par un certificat SSL auto-généré sur votre serveur.

Cordialement,
Publicité supprimée Modération CCM
0
razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 1
7 mars 2011 à 10:43
Bonjour ,
Le certificat est chargé, et vérifié sans problème.
0
Bonjour,

Un certificat SSL est fait pour sécuriser les échanges de données entre l'ordinateur du client/collaborateur et le serveur sur lequel se trouve le site internet. En effet, l'utilisation d'un certificat SSL est primordial pour sécuriser les données.

Avec des certificats auto-générés (ce qui est votre cas), vous recevez un message d'erreur. La solution est d'opter pour un certificat émis par une Autorité de Certification comme VeriSign, GlobalSign, thawte, GeoTrust, RapidSSL.

Nous déconseillons complètement les certificats auto-générés. Toutefois, cela dépend de vos besoins. En effet, du moment que vous avez une connection SSL, le transfert peut être considéré comme sûr durant ce dernier. Toutefois, cela dépend également du type de certificat installé sur le site internet où les données sont échangées.

Si la page internet sur laquelle vous vous trouvez a un certificat de type:

_ DV (à validation de domaine), eh bien vous ne pouvez pas savoir si le site appartient bien à l'entreprise en question.
_ OV (validation d'organisation) ou EV (validation étendue avec la barre verte dans le navigateur), là vous pouvez être certain que les informations envoyées ou/et reçues seront protégées et de source vérifiée et fiable.

Quand vous vous connectez au site en question, dès que que vous voyez le HTTPS dans la barre d'adresse, vous savez que la page est sécurisée, mais cela dépend également du type de certificat comme indiqué précédemment (DV, OV ou EV), et aussi du niveau de cryptographie (40 Bit, 128 Bit) et si la technologie SGC (Secured Gated Cryptography) est présente ou pas.

Ceci est également valable pour les newsletters ou newsreaders.

En attente de vous lire,

Cordialement,
Publicité supprimée Modération CCM
0
razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 1
8 mars 2011 à 10:47
J'utilise un certificat signé par un CA.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

de quelle Autorité de Certification ?

En attente de vous lire,
Cordialement,
Publicité supprimée Modération CCM
0
razuki Messages postés 242 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 5 décembre 2012 1
9 mars 2011 à 10:23
Désolé mais vous êtes totalement hors sujet. Vous ne répondez pas à ma question. Je ne cherche pas un conseil d'ordre commercial.
0