{"id":972,"date":"2023-06-25T08:41:05","date_gmt":"2023-06-25T00:41:05","guid":{"rendered":"https:\/\/www.fanyamin.com\/wordpress\/?p=972"},"modified":"2023-06-25T08:41:05","modified_gmt":"2023-06-25T00:41:05","slug":"openssl-adapter-in-webrtc","status":"publish","type":"post","link":"https:\/\/www.fanyamin.com\/wordpress\/?p=972","title":{"rendered":"openssl adapter in WebRTC"},"content":{"rendered":"<h1>Overview<\/h1>\n<h1>DTLS Flow<\/h1>\n<pre><code>   Client                                          Server\n   ------                                          ------\n\n   ClientHello             --------&gt;                           Flight 1\n\n                           &lt;-------    HelloVerifyRequest      Flight 2\n\n   ClientHello             --------&gt;                           Flight 3\n\n                                              ServerHello    \\\n                                             Certificate*     \\\n                                       ServerKeyExchange*      Flight 4\n                                      CertificateRequest*     \/\n                           &lt;--------      ServerHelloDone    \/\n\n   Certificate*                                              \\\n   ClientKeyExchange                                          \\\n   CertificateVerify*                                          Flight 5\n   [ChangeCipherSpec]                                         \/\n   Finished                --------&gt;                         \/\n\n                                       [ChangeCipherSpec]    \\ Flight 6\n                           &lt;--------             Finished    \/\n<\/code><\/pre>\n<h1>TLS  with session ticket<\/h1>\n<pre><code>         Client                                               Server\n\n         ClientHello\n         (SessionTicket extension) --------&gt;\n                                                         ServerHello\n                                     (empty SessionTicket extension)\n                                                        Certificate*\n                                                  ServerKeyExchange*\n                                                 CertificateRequest*\n                                  &lt;--------          ServerHelloDone\n         Certificate*\n         ClientKeyExchange\n         CertificateVerify*\n         [ChangeCipherSpec]\n         Finished                 --------&gt;\n                                                    NewSessionTicket\n                                                  [ChangeCipherSpec]\n                                  &lt;--------                 Finished\n         Application Data         &lt;-------&gt;         Application Data<\/code><\/pre>\n<h1>WebRTC log<\/h1>\n<pre><code>[38367:49923:0619\/142032.886764:VERBOSE1:p2p_transport_channel.cc(2261)] Channel[0|1|__]: Changed writable_ to 1\n[38367:49923:0619\/142032.886786:VERBOSE1:dtls_transport.cc(532)] DtlsTransport[0|1|__]: ice_transport writable state changed to 1\n[38367:49923:0619\/142032.886806:INFO:dtls_transport.cc(859)] DtlsTransport[0|1|__]: configuring DTLS handshake timeout 54 based on ICE RTT 27\n[38367:49923:0619\/142032.886990:INFO:openssl_adapter.cc(833)] handshake_start TLS client start_connect\n[38367:49923:0619\/142032.887068:INFO:openssl_adapter.cc(833)] connect_loop TLS client enter_early_data\n[38367:49923:0619\/142032.887117:INFO:openssl_adapter.cc(833)] connect_loop TLS client read_hello_verify_request\n[38367:49923:0619\/142032.887154:INFO:openssl_adapter.cc(833)] connect_exit TLS client read_hello_verify_request\n[38367:49923:0619\/142032.887183:INFO:dtls_transport.cc(761)] DtlsTransport[0|1|__]: DtlsTransport: Started DTLS handshake active=1\n[38367:49923:0619\/142032.887208:VERBOSE1:dtls_transport.cc(840)] DtlsTransport[0|1|__]: set_dtls_state from:0 to 1\n[38367:49923:0619\/142032.887236:INFO:srtp_transport.cc(360)] The params in SRTP transport are reset.\n[38367:49923:0619\/142032.887266:VERBOSE1:dtls_transport.cc(575)] DtlsTransport[0|1|__]: ice_transport receiving state changed to 1\n[38367:49923:0619\/142032.887290:INFO:p2p_transport_channel.cc(1902)] Channel[0|1|RW]: Transport channel state changed from 1 to 2\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Overview DTLS Flow Client Server &#8212;&#8212; &#8212;&#8212; ClientHello &#8212;&#8212;&#8211;&gt; Flight 1 &lt;&#8212;&#8212;- HelloVerifyRequest Flight 2 ClientHello &#8212;&#8212;&#8211;&gt; Flight 3 ServerHello \\ Certificate* \\ ServerKeyExchange* Flight 4 CertificateRequest* \/ &lt;&#8212;&#8212;&#8211; ServerHelloDone \/ Certificate* \\ ClientKeyExchange \\ CertificateVerify* Flight 5 [ChangeCipherSpec] \/ Finished &#8212;&#8212;&#8211;&gt; \/ [ChangeCipherSpec] \\ Flight 6 &lt;&#8212;&#8212;&#8211; Finished \/ TLS with session ticket Client [&hellip;] <a class=\"read-more\" href=\"https:\/\/www.fanyamin.com\/wordpress\/?p=972\" title=\"Permanent Link to: openssl adapter in WebRTC\">&rarr;Read&nbsp;more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-972","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.fanyamin.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/972"}],"collection":[{"href":"https:\/\/www.fanyamin.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fanyamin.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fanyamin.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fanyamin.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=972"}],"version-history":[{"count":1,"href":"https:\/\/www.fanyamin.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/972\/revisions"}],"predecessor-version":[{"id":973,"href":"https:\/\/www.fanyamin.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/972\/revisions\/973"}],"wp:attachment":[{"href":"https:\/\/www.fanyamin.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fanyamin.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fanyamin.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}