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/

Reply via email to