openssl adapter in WebRTC

Table of Contents

Overview

DTLS Flow

   Client                                          Server
   ------                                          ------

   ClientHello             -------->                           Flight 1

                           <-------    HelloVerifyRequest      Flight 2

   ClientHello             -------->                           Flight 3

                                              ServerHello    \
                                             Certificate*     \
                                       ServerKeyExchange*      Flight 4
                                      CertificateRequest*     /
                           <--------      ServerHelloDone    /

   Certificate*                                              \
   ClientKeyExchange                                          \
   CertificateVerify*                                          Flight 5
   [ChangeCipherSpec]                                         /
   Finished                -------->                         /

                                       [ChangeCipherSpec]    \ Flight 6
                           <--------             Finished    /

TLS with session ticket

         Client                                               Server

         ClientHello
         (SessionTicket extension) -------->
                                                         ServerHello
                                     (empty SessionTicket extension)
                                                        Certificate*
                                                  ServerKeyExchange*
                                                 CertificateRequest*
                                  <--------          ServerHelloDone
         Certificate*
         ClientKeyExchange
         CertificateVerify*
         [ChangeCipherSpec]
         Finished                 -------->
                                                    NewSessionTicket
                                                  [ChangeCipherSpec]
                                  <--------                 Finished
         Application Data         <------->         Application Data

WebRTC log

[38367:49923:0619/142032.886764:VERBOSE1:p2p_transport_channel.cc(2261)] Channel[0|1|__]: Changed writable_ to 1
[38367:49923:0619/142032.886786:VERBOSE1:dtls_transport.cc(532)] DtlsTransport[0|1|__]: ice_transport writable state changed to 1
[38367:49923:0619/142032.886806:INFO:dtls_transport.cc(859)] DtlsTransport[0|1|__]: configuring DTLS handshake timeout 54 based on ICE RTT 27
[38367:49923:0619/142032.886990:INFO:openssl_adapter.cc(833)] handshake_start TLS client start_connect
[38367:49923:0619/142032.887068:INFO:openssl_adapter.cc(833)] connect_loop TLS client enter_early_data
[38367:49923:0619/142032.887117:INFO:openssl_adapter.cc(833)] connect_loop TLS client read_hello_verify_request
[38367:49923:0619/142032.887154:INFO:openssl_adapter.cc(833)] connect_exit TLS client read_hello_verify_request
[38367:49923:0619/142032.887183:INFO:dtls_transport.cc(761)] DtlsTransport[0|1|__]: DtlsTransport: Started DTLS handshake active=1
[38367:49923:0619/142032.887208:VERBOSE1:dtls_transport.cc(840)] DtlsTransport[0|1|__]: set_dtls_state from:0 to 1
[38367:49923:0619/142032.887236:INFO:srtp_transport.cc(360)] The params in SRTP transport are reset.
[38367:49923:0619/142032.887266:VERBOSE1:dtls_transport.cc(575)] DtlsTransport[0|1|__]: ice_transport receiving state changed to 1
[38367:49923:0619/142032.887290:INFO:p2p_transport_channel.cc(1902)] Channel[0|1|RW]: Transport channel state changed from 1 to 2

Comments |0|

Legend *) Required fields are marked
**) You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Category: Uncategorized