J'ai utilisé OpenSSL 1.0.2j pour développer une application client de messagerie de bureau sans problèmes . J'ai copié le code de mon bureau sur un appareil WinCE 5.0 .NET CF 2.0. La connexion SSL_connect() échoue toujours avec une valeur de 5 (SSL_ERROR_SYSCALL). Un appel à GetLastError() de CE sur me donne une erreur 10038 (opération WSAENOTSOCK Socket sur nonsocket). Avez-vous des suggestions? qu'est-ce qui pourrait causer ce problème?SSL_connect() échoue sur WinCE 5.0
Merci à l'avance
Voici le code:
SSL_library_init()
OPENSSL_add_all_algorithms_noconf()
Dim sslCtx As IntPtr = SSL_CTX_new(SSLv23_client_method())
Dim ssl_socket As IntPtr = SSL_new(sslCtx)
Dim sbioPtr As IntPtr = BIO_new_socket(mySocket.Handle, 0)
SSL_set_bio(ssl_socket, sbioPtr, sbioPtr)
Dim connOK As Integer = SSL_connect(ssl_socket)
If connOK = 1 Then
.....
Else
MsgBox("OpenSSL's SSL_connect() failed")
Dim errcode As Integer = SSL_get_error(ssl_socket, connOK)
MsgBox("SSL Error: " + errcode.ToString)
If errcode = 5 Then
MsgBox("GLE = " + Runtime.InteropServices.Marshal.GetLastWin32Error.ToString)
End If
End If
mySocket.Close()
Else
MsgBox("Socket's connect() failed")
End If
Le L'erreur est sur SSL_set_bio (ssl_socket, sbioPtr, sbioPtr). a) code manquant, b) utilisé. wrapper net c) SSL recompilé pour WinCE? Vous ne pouvez pas utiliser le même code pour le bureau et WinCE (sauf pour les choses simples). – josef
Merci! J'ai recompilé OpenSSL pour le bureau de plate-forme et le périphérique WinCE. –