Signaler

SSL_write veut une socket en mode bloquant. [Fermé]

Posez votre question razuki 243Messages postés lundi 17 décembre 2007Date d'inscription 5 décembre 2012 Dernière intervention - Dernière réponse le 9 mars 2011 à 10:23 par razuki
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.
Utile
+0
plus moins
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
Utile
+0
plus moins
Bonjour ,
Le certificat est chargé, et vérifié sans problème.
Utile
+0
plus moins
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
Utile
+0
plus moins
J'utilise un certificat signé par un CA.
Utile
+0
plus moins
Bonjour,

de quelle Autorité de Certification ?

En attente de vous lire,
Cordialement,
Publicité supprimée Modération CCM
Utile
+0
plus moins
Désolé mais vous êtes totalement hors sujet. Vous ne répondez pas à ma question. Je ne cherche pas un conseil d'ordre commercial.

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !