help-gnutls
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-gnutls] How to resume a previous session


From: liuxiaoyu
Subject: [Help-gnutls] How to resume a previous session
Date: Fri, 20 Feb 2009 21:20:04 +0800

Hi,
 
I notice that there is a procedure described in RFC 4346 Page 33 that a session can be resummed by reusing the previous Session ID. The orginal text is as following:
 
"When the client and server decide to resume a previous session or
duplicate an existing session (instead of negotiating new security
parameters), the message flow is as follows:


The client sends a ClientHello using the Session ID of the session to
be resumed. The server then checks its session cache for a match.

 
If a match is found, and the server is willing to re-establish the
connection under the specified session state, it will send a
ServerHello with the same Session ID value. At this point, both
client and server MUST send change cipher spec messages and proceed
directly to finished messages. Once the re-establishment is
complete, the client and server MAY begin to exchange application
layer data. (See flow chart below.) If a Session ID match is not
found, the server generates a new session ID and the TLS client and
server perform a full handshake.


Client                                            Server
ClientHello             -------->
                                                   ServerHello
                                                   [ChangeCipherSpec]
                          <--------            Finished
[ChangeCipherSpec]
Finished                -------->
Application Data     <------->           Application Data


Fig. 2. Message flow for an abbreviated handshake

The contents and significance of each message will be presented in
detail in the following sections."

 
I am using GnuTls 2.6.3. I tried it this way: first initialize a TLS session, and then perform 2 handshakes continuously before deinitializing the TLS session. The result is the second handshake will be failed.
 
So I am wondering whether the procedure described above has been supported by GnuTls 2.6.3. If Yes, how can I make it happen by using GnuTls?
 
Thanks and Regards,
 
Sean
 
 


使用新一代 Windows Live Messenger 轻松交流和共享! 立刻下载!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]