Thanks. It would be nicer if you provided C++ code though! Will try this ASAP and let you know.
On Mon, Feb 16, 2009 at 12:57 PM, Arno Garrels <arno.garr...@gmx.de> wrote: > You have to use FMyExternalSslSessionCache->GetSvrSession() and > FMyExternalSslSessionCache->CacheSvrSession()! > It is also required to set the SslContest.SslSessionCacheModes properly: > > [sslSESS_CACHE_SERVER,sslSESS_CACHE_NO_INTERNAL_LOOKUP,sslSESS_CACHE_NO_INTERNAL_STORE] > > Delphi code: > > {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > *} > procedure TSslWebServForm.SslHttpServer1SslSetSessionIDContext( > Sender : TObject; > var SessionIDContext : String); > begin > { Tell Openssl a Session_ID_Context. > } > { Openssl uses this data to tag a session before it's cached. > } > { It's an arbitrary custom string > } > SessionIDContext := Ssl_Session_ID_Context; > end; > > > {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > *} > procedure TSslWebServForm.SslHttpServer1SslSvrGetSession( > Sender : TObject; > var SslSession : Pointer; > SessId : Pointer; > Idlen : Integer; > var IncRefCount : Boolean); > var > LookupKey : string; > begin > SetLength(LookupKey, IDLen); > Move(SessId^, Pointer(LookupKey)^, IDLen); > SslSession := SslAvlSessionCache1.GetSvrSession(LookupKey + > Ssl_Session_ID_Context, > IncRefCount); > end; > > > {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > *} > procedure TSslWebServForm.SslHttpServer1SslSvrNewSession( > Sender : TObject; > SslSession, > SessId : Pointer; > Idlen : Integer; > var AddToInternalCache : Boolean); > var > LookupKey : string; > begin > SetLength(LookupKey, IDLen); > Move(SessId^, Pointer(LookupKey)^, IDLen); > SslAvlSessionCache1.CacheSvrSession(SslSession, > LookupKey + Ssl_Session_ID_Context, > AddToInternalCache); > if DisplaySslInfoCheckBox.Checked then > Display('[' + FormatDateTime('HH:NN:SS', Now) + ' ' + > TWSocket(Sender).GetPeerAddr + '] New SSL session created > and ' + > 'cached in external cache class.'); > end; > > > {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > *} > > -- > Arno Garrels > > -- > -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be