Hi, i have the Problem to make a POST https request with PalmOS 5.2.1 SSL Lib on Zire 71. everyting works fine to this point:
ret = SslRead(sslRef,...); everytime i get -1 ;-( with sslErrRecordError (3925) and on Apache:OpenSSL: error:1408F10B:lib(20):SSL3_GET_RECORD:wrong version number (on https://www.verysign.com i get Error 392d) here my source: static UInt16 sslRef; static SslLib *my_ssllib; static SslContext *my_sslctx; static SslCallback verifyCallback; err = SysLibFind(kSslDBName,&sslRef); if (err != errNone) { err = SysLibLoad(sysFileTLibrary, kSslLibCreator, &sslRef); if (err != errNone) { return 0; } } err = SslLibOpen(sslRef); if (err != errNone) { return 0; } /* Create an SSL context template */ err = SslLibCreate(sslRef,&my_ssllib); if (err != errNone) { /* Do the cleanup and return*/ mbox.ShowF( msgInfo, "SSL", "Fehler %d beim SslLibCreate", "Weiter",err & 0x00ff ); return 0; } /* Create an SSL context using the SSL context template */ SslLibSet_Mode(sslRef,my_ssllib, sslModeSslClient ); SslLibSet_WbufSize(sslRef,my_ssllib, 1024*8 ); SslLibSet_Compat(sslRef,my_ssllib,sslCompatAll); // SslLibSet_DontSendShutdown(sslRef, my_ssllib,true); // SslLibSet_DontWaitForShutdown(sslRef, my_ssllib, true); err = SslContextCreate(sslRef, my_ssllib,&my_sslctx); if (err != errNone) { return 0; } verifyCallback.callback = fverifyCallback ; verifyCallback.data = NULL; SslContextSet_VerifyCallback(sslRef,my_sslctx,&verifyCallback); SslContextSet_InfoCallback(sslRef,my_sslctx,&verifyCallback); SslContextSet_Compat(sslRef,my_sslctx,sslCompatAll); SslContextSet_ProtocolVersion(sslRef,my_sslctx,sslVersionSSLv3); // SslContextSet_CipherSuites (sslRef,my_sslctx,sslCs_RSA_RC4_40_MD5); // SslLibSet_ProtocolVersion(sslRef,my_sslctx, ( 0x0300 )); // SslContextSetLong (my_sslctx,0x0F252512,0x03000300); if(SslContextSet_Socket(sslRef,my_sslctx,NET.sock)!=errNone){ } err = SslOpen(sslRef,my_sslctx,sslOpenModeSsl | sslOpenUseDefaultTimeout | sslOpenBufferedReuse , 0); if (errNone != err) { // Inform the user about the failure and do the cleanup return 0; } datasslW = SslWrite(sslRef,my_sslctx,NET.SendRequestPtr,len,&err); . . . while ( ( ret = SslRead(sslRef,my_sslctx,NET.ReceiveDataPtr,MEMBUFFER,&err))) { if( ret==-1) { mbox.ShowF( msgInfo, "SSL", "Error %d\n %s", "ok",err ,wrkbuf ); break; }else { mbox.ShowF( msgInfo, "SSL", "SslRead: %d\n%d", "ok",ret ,err); } . . . } some outputs from ssl_engine_log .... [21/Mar/2004 15:22:21 20190] [trace] OpenSSL: Handshake: done [21/Mar/2004 15:22:21 20190] [info] Connection: Client IP: 212.xxx.xxx.xxx, Protocol: SSLv3, Cipher: EXP1024-RC4-SHA (56/128 bits) [21/Mar/2004 15:22:24 20190] [debug] OpenSSL: read 453/34821 bytes from BIO#0879BA78 [mem: 085CFFF0] (BIO dump follows) +-------------------------------------------------------------------------+ | 0000: 50 4f 53 54 20 2f 64 65-6d 6f 74 72 61 64 65 34 POST /demodemov4 | | 0010: 34 31 2f 73 79 6e 63 34-34 31 2e 70 68 70 20 48 40/sync440.php H | | 0020: 54 54 50 2f 31 2e 30 0d-0a 52 65 66 65 72 65 72 TTP/1.0..Referer | | 0030: 3a 20 0d 0a 43 6f 6e 6e-65 63 74 69 6f 6e 3a 20 : ..Connection: | | 0040: 4b 65 65 70 2d 41 6c 69-76 65 0d 0a 55 73 65 72 Keep-Alive..User | | 0050: 2d 41 67 65 6e 74 3a 20-4d 4f 50 61 6c 6d 53 79 -Agent: MyPalmSy | | 0060: 6e 63 0d 0a 48 6f 73 74-3a 20 32 31 32 2e 32 30 nc..Host: 212.11 | ...... [21/Mar/2004 15:22:24 20190] [trace] inside shmcb_remove_session [21/Mar/2004 15:22:24 20190] [trace] id[0]=237, masked index=13 [21/Mar/2004 15:22:24 20190] [trace] entering shmcb_remove_session_id [21/Mar/2004 15:22:24 20190] [trace] loop=0, count=1, curr_pos=0 [21/Mar/2004 15:22:24 20190] [trace] idx->s_id2=54, id[1]=54 [21/Mar/2004 15:22:24 20190] [trace] at index 0, found possible session match [21/Mar/2004 15:22:24 20190] [trace] a match! [21/Mar/2004 15:22:24 20190] [trace] leaving shmcb_remove_session_id [21/Mar/2004 15:22:24 20190] [trace] leaving shmcb_remove_session [21/Mar/2004 15:22:24 20190] [trace] Inter-Process Session Cache: request=REM status=OK id=ED36419C09C1F1DC2E76C4EC885B838872B5A77D1BD9694C78BF5361DA730946 (session dead) [21/Mar/2004 15:22:24 20190] [debug] OpenSSL: write 27/27 bytes to BIO#0879BA78 [mem: 0846F8D0] (BIO dump follows) +-------------------------------------------------------------------------+ | 0000: 15 4f 53 00 16 19 24 32-18 b2 9a 87 72 53 cb 7d .OS...$2....rS.} | | 0010: 45 da e3 6e 95 6b 61 25-0c 8c 67 E..n.ka%..g | +-------------------------------------------------------------------------+ [21/Mar/2004 15:22:24 20190] [trace] OpenSSL: Write: SSL negotiation finished successfully [21/Mar/2004 15:22:24 20190] [error] SSL error on reading data (OpenSSL library error follows) [21/Mar/2004 15:22:24 20190] [error] OpenSSL: error:1408F10B:lib(20):SSL3_GET_RECORD:wrong version number Thank you. Sven -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
