! "# $
$ % & & $ $ # ' " & % " ' (() ( ( ) !* )( ) ( ! "" "& " " $ (()* )( % + "& ' & $& $ "& " ,(() -" . / ( $ (()* )(% "
'$# " " 0 &$& (()* )(% " ' &$& 123 1 2 3! " $" $ & # " &% ( ( ) (()! ) ( )(!
! "#$%&' ())) * # + ! ! *'%(& # ,*%-& .** # # %&' /. + ! ! .'
# 0 "1$ * !* !2 0* + * ** * 0 + !. 3' 4!* "4$ 2 *' 56 5 . *6+ *2 0* * !. 3 .** ** 56 5' # ** 56 5 . 4 + 2 + * 3 * 7,1' # # * 82 1 !* *. 9 7,1 2' # 22 ! * # . 0 2 *2 +'
* 2 ! *+' 0 2 +*2 # !* . *.' ** *.
4
.** * #' 2 9 # * !* "2$ !* ' : + * +* # **2 2 .' : !* !. * . ' # 9 !2 + ! +* 9 29' , 8* ! # # "##$ # ,* "#,$ ! 9 7,; <)%& ! ,'
* 2 !* . # +' . + +* = ; "=;$ . !* =; !* + . !* . =; ' . 0 2 ! *+ * # . 5 !* # 2 56 5' # 82 5 ' , *2 # # "##$ # 5 . + 56 5 *. *9' * . 4#; *! 2 ** 2 *! ! + 2 * ' *
4 + 8 * 5 . ## #' ,** =; " = ;$ # !* !* 2 + # +*'
%& ! 0 "1$ !* ' # +2 22 + 82 !* ' +* !* 2 !* + ! 2 *2 *2 ' + ** 8* . !2 !. !* 1' ! !* 0' ! ! " ** 1 *$ !* ' 1 !* . !2 !. !* 1'
2 # . . * *9 #' ())) *' *9 * ! 82 2 !* 2%(&' # ,* .** # # # 2 !* 2%- &' : *' = *' + * #' ** ! ! 2 >'
* # . ? 9 # * 3 * +* # ' +* 9 29 + # * 3' 4-@-'- 9 ! 2 3 2 2' 6; <@ < ** + ! 2 9' , #, ## 9 7,; <)%& * = ; "=;$ # 6AA * 9 7,; <) <)% )&' *' =; 7,; '
* 2 ;B ()) ! 2 '
7,; <)%& 0 #, ## /' " ! 8 / $ !* + ' * ** + 2 ' 7,; <) ** + ¾ C ¿ D + " ( $ ' A0 2 + '
/' ## !* ## + '
! 3 2 17 "12 2 7*$' ! 3 2 ! # @'
!" 7,; <)%& 0 . # ' * +* =; * 0' . 0 =;? 4!* 4 5 4+ 73 4*'
. 8 ** =; # + ! !* =; 2 +' 7,; <) 0 !* * 2 82 4 .' 4!* * 3 ! *' ;* *
4 " 8 4*$ = 3 * ! + 5 " 5 $' ;* 5 '( ' 4!* ! ! /' ! 3 2 17' # 3 2 ! # @' AA * !* * ! *6! ' *2 !*41 #4!*4 2 ; 7/= * 0 # *2' /' ## 0 7,; <)'
5 4+ 73 4* "474$ * !. * + 36 + +2 2+ 0 "1$ '
3 + *
4 4 + * 2 5' * 5 '( ' 4 EA5 ! * AA ! *6! 3D8*' *21 EA5 # @ ! . 17 ! 0 "1$' , ! * # @ ! . 17 /' '
3 + =; *' # =; *
4 # *
4 12 ' ! 1 !+ EA5 * ' =; * * . 3 + . '
+ 7,; <) ",2' $' #)) . 3 + ** #-) . * *' EA5 '
123 6 3 6+3 5 6 7# 3 18 +,)),9( 6(6:; 4 +,)),9 <6,)) 6 (8( 7 66,6 <:-); 6= ( 3)< , (,) 5 - .,6>- ,< ;<;
+ EA5 #)) # @ ! . 17 /' ' # /' ! 3 ' /' 0 F2 *2G ! ! 2 F2 *2G' 2 1 #4+ 7* 0 ;
7/=' 0 #, ## 7,; <)' 7,; <) ! + 2 #, ## ; 2 A2 8 ";A$ ' ** ! 0 + 2 H * 0' !
5 " 5$ * + * !. . ' 2 ! * ' 12 * + ; ! 82 *2 *2 2 "A ;$ *2 "47,$' 82 *2 !* 8* 7 1ÆI ** ;1 ' *2 3 !* 0 ! !* . 1' 9 ## *2 . 82 *2 7,; <) ! . 7,; <) . 9 ## ' !* ( . '
/ 3" ( 3" ( 1 ?"# - " 3" ;# ;(3 3(.- 1?@ - @ @;(A! 7@(.- -(4(.1?@ - @ @-(4! 7@(.- -(4A(.1?@ - @ @-(4A! 7@(.- ;(3 3(.-4A 1?@ - @ @;(A! 7@(.-4A -(4(.-4A 1?@ - @ @-(4! 7@(.-4A -(4A(.-4A 1?@ - @ @-(4A! 7@(.-4A
# ## . !* 0 3 !* 0' ,2 ! 4 ,2 ( 2 #' 8 + * +' ;* ' !! " #
*9 # 5 !* 56 5 . * 5' 5 + 56 5 * . 5 # . 2+ * .*. . +* #'
!2 ! *! ** 2 ! . + +* 2 ** + 9 0*' * * 2 2 2 ! 22 *! * +*' *! . * # 5 !* 5 8*'
A Client
Server
Client
Server
ClientHello ServerHello Certificate ServerKeyExchange CertificateRequest ServerHelloDone Certificate ClientKeyExchange CertificateVerify ChangeCipherSpec Finished ChangeCipherSpec Finished
ClientHello ServerHello Certificate ServerKeyExchange CertificateRequest ServerHelloDone Certificate ClientKeyExchange CertificateVerify ChangeCipherSpec Finished ChangeCipherSpec Finished
Application Data
Application Data
)( ." /1
)( ." #
! #
5 * 56 5 * +* ! 5 4' *! + *. .! +
4 + 56 5 ' J * *! +* . ;' 5 ')')' *' $%%#
42 # ; 2 5 ! "4#; 5! $ ; *! !* =A4 *! ' + ** + 2 ** + 2 ' ! )'<' *'
*! 2 3 2 2 ' , >+ 2 ' **.2 ? & '( ' ) #
*
* *
0 0* C - "<(!$ K)K)K@@--(<((-KKK<)<)@-()()(@<--(@@K<@))(((
** + ? ¾ C ¿ D
** + B " $ C D
!
+ ( + $%%#
## 5 . * * 8 + * '
## * + 5 9 !* + ' .** 3 =; + 2 + ' . * . 0* ! * 5 0*'
!!' 0* . * . . !* 5 . 4#; 5! . +*' **.2 * 2+ 2 8* 2' (( +
*
L2
*
L2 8*
M
M M M
+ ,- , - , - ,. - ,/ - ,)
'- , ) '- , '- , ) '- , )0 '- , 1+ - , 1+ - , / 1+ - , - , 1+ , 1+ - , 1+ - , ' 1+ - , - , + 2 '
!* 0* F!'G =; + 2 ' * ! =; +' + / 2 + 2 )2 '
!* 0* . *'8' '8' + . / 2 / 2 '
+0 + 2 1 '
+ / ) 333333333333 ) 433343333' . / 2 ) )' )0 )'
3 H + =; +' * ' 2 ' ) . + * + !* ! 56 5 ' * 56 5 * 2 ! 56 5 !* +' + ! 56 5 !* + 2 ! 2 * . !*2 2 !222 56 5
*' 8 # ! 2 0* - *!' - +' - *' 0* * * 5 0*' + * + . F## ( G + F G * ' + F !!G * !* F !! G * + ' * * F !!G 8* !* ! * ' 2 8* **.' M + + )5 ) ((6% "%76 M + . + / . / 2
$ !! " % &' (
4 + " $ .! + . . +* ! . ,' + ! / ;7 ,
+ + <N ** .! () ' 56 5 2 * . H *' * + 5 +(6+- 5 +
4 +' * 5 + 2 *' : 56 5 !* + + H 02 0* " 8* ' *'$ 0*H ' .+ * * 7 1 82 *2'
* . !! 2 !! !* 5'
* * !* **.2 +' !! !* 56 5 ! 2 '
) * ( + , -
# + =; !* !* + # ' =; . ? !* * + 3' 7,; =; . * :! * ' =; + ! !* 7,; !* + '
B 8 & + +/
7,; !* !* =; + + 56 5 2 4 8* F?66OOOOOO6##!*'G'
+ AA *6! !* ' *
4 = ' * 5 + 2 !* =; 2 F.2G . 2 +2 0* 2
4
4 , 4 .* * +* ! =/L' * * 2 ! * * # 5 !* 5 ** 2 * + * ' 8
& . /
+ 2 * . * =; + 8 * F?66OOOOOO62'2G' * * . * # 5 !* 5 4#; *! ' *
4 4 * 3 EA5 0 ! 7,; <) 3 AA ! F*6! 3D8*G' * =; *H 3' 3 =; *H + *H 1 EA5 2 #)) 0 ! 7,; <)'
* AA ! F*6! 2 * D8*G' * # 5 !* 5 # 5 !*
4 + + F3G ## !* 5' L2 + 7,; 3 =; + 2 . + ' . (
**.2 + . +* * # 5 !* 5 # 5 !* =;? * ++
* # !* 5
. * * ; ( 1 @@)) "(' = 9$ ;4L ( =# 7 A'
L!)') . 58 * + ('@'-< (<'
* +.
+ # 5 !* 5 '
+* 2 * E "-')) = 9$ <@) +2 <( A# 7 A + '
* +/'
7,; =; +
+* 2 * E "-')) = 9$ <@) +2 <( A# 7 A + '
!* + * !* 2 L75 !*.' # 1 4 F2G ' 4!* ? ?66!*26' 4+ *? ?66!*262 !62'2
9 : $%%#
*6 + . 5 !. + *' + * 5 2 2+ ? *
!*+
*
!**
C '# "D**$#*&5&%& C $ E $ " $# " *#*&5#%#
%? " " # "' " # C $ 55 & &5&%& %? C $ $ $D55 "
-(4(.-
+2 2 * . !* - . 2 . 56 5 2 2 5' !* - F !* G =; . . * !* +H * .* +* ' * ## !* *. ' ## . 2 2P 2 2 ! < +* 2 4#; *! ' # 2 ** 2 ** * ** 8' *2 2 * *. * ' * 3 5 2 2 82 0 #' . * 2 ** . ** * %&' * .** ! < ' . ! *9 # !* 56 5 ' 2 ! ! 92 '
,(() 3" ( &F&G -(4(.A4% -(4(.- $ &! % -(4A(.A4% -(4A(.- $ &! % ;.6(--(4A(.4%5 3;.6(--(4A(.% 9
: 6 )
. 0* + # 5 !* + !*+ !*+ 2 # 5 !* 5' !*+ .!2 G'*G '
+2 2 * . !* ' +2 . 2 ! . * !2
4 +' * !*+
*
C '# "D**$#*&5&%& C $ E $ " $# " *#*&5#%#
%? " " # "' " # 0# "$% 0$! C %*" H
!**
C $ $ $D55 " C 2 %*%"&$
-(4(.-
-" 3" ( & F&G -(4(.4%5 -(4A(.% ;.6(--(4A(.- 4%B
/
. . 5 "5$6 5 " 5 $ !* ! "#$ 2 56 5' . *
4
5 "# 5 !* 5$
4 + # 5 !* 5' .** 7,; =; +*'
* # 5 !* 5 !** 0 7,; . # !* 56 5 ' * # !* 56 5 2 * . * * 5' * 2 7,; !* + =; 2 7,; 3'
2 * *. * 82 ! ** !* * ! 92 ' .** # 3 !* 0 2 !* 0 !0 '
% -% ("& I & # "&I / # 368/ 5 % 5 B5 4% 6% ( 1% ,"#" 7% 1" I3 & /#I / #
" 4 ( & & 3 #" & ( ( & & (3(4! 34 4% % ;% " 7% +$ I & " 9$ #I 368/ , 4 )<3( 4B (# :$# % 444B 4% 5% ;% " H% IÆ $; '"
& $I 6,368/ 45 )<3( 4 (#:$# % 444 45% % 3% 2 3% / :% : " I
" $ ' #" I ( ,3 4 %B4A 4 A% I /A%D / $ 1 3 #" I "D**#
%% #*#
*A* 3*?%"&$ % (,*3 B5A & " $ # ( "E 3 #" "E $$ / D $$ # 4B% % H% )% 7 I 3 #" ( 3(! JD ( # $ 3 &$& " + 3 & I 6E 3 &&D B + 4 B% 2% -K$$ )% 7 7% ("$ I -" ( # ; ( I 6E 3 &&D 5 + 4B % )% 7 7% ("$ I # " "+$ " -$# "& '" " 3 #" 7# ( ? 37(!I 6E 3 &&D 5B + 4B % 2% / 3% % 7"$$ I ' $ /1 ; I % 4 4% ;%1% (& 2% ; D ; & -& 3 & ( &$ /(3 % 444B 4
% ) " 7% ("% % # % ,& I- -$# "& " Ì /# 3$ $ 3" " .' &$& I / #
" " ( & & 3 & -"& %B5 4 5% ) " % % 2 K$K;K (% 7 % ,& +% 6 # K .E K % I.#"( ( ' &$& " ,&$ - /# <"# 3 I / # " 5" $ 3 /# 3 #" /# 4! %4B 4