anchor.diff:      #server_key_exchange{params = #server_dh_params{dh_p = P,dh_g = G, 
   						    dh_y = Y},
   			 signed_params = Sig, hashsign = undefined};
  +dec_hs({Major, Minor}, ?CERTIFICATE_REQUEST,
  +       <<?BYTE(CertTypesLen), CertTypes:CertTypesLen/binary,
  +	?UINT16(HashSignsLen), HashSigns:HashSignsLen/binary,
  +	?UINT16(CertAuthsLen), CertAuths:CertAuthsLen/binary>>)
  +  when Major == 3, Minor >= 3 ->
  +    #certificate_request{certificate_types = CertTypes,
  +			 hashsign_algorithms = HashSigns,
  +			 certificate_authorities = CertAuths};
   dec_hs(_Version, ?CERTIFICATE_REQUEST,
          <<?BYTE(CertTypesLen), CertTypes:CertTypesLen/binary,
   	?UINT16(CertAuthsLen), CertAuths:CertAuthsLen/binary>>) ->
  
positive.code:     #server_key_exchange{params = #server_dh_params{dh_p = P,dh_g = G,
  						    dh_y = Y},
  			 signed_params = <<>>, hashsign = {null, anon}};
  dec_hs(_Version, ?SERVER_KEY_EXCHANGE, <<?UINT16(PLen), P:PLen/binary,
  			      ?UINT16(GLen), G:GLen/binary,
  			      ?UINT16(YLen), Y:YLen/binary,
  
negative.code:     Len = byte_size(DHPublic),
      <<?UINT16(Len), DHPublic/binary>>.
  
  enc_sign({HashAlg, SignAlg}, Signature, _Version = {Major, Minor})
    when Major == 3, Minor >= 3->
  	SignLen = byte_size(Signature),
  	HashSign = hashsign_enc(HashAlg, SignAlg),
  	<<HashSign/binary, ?UINT16(SignLen), Signature/binary>>;
  enc_sign(_HashSign, Sign, _Version) ->
  	SignLen = byte_size(Sign),
  	<<?UINT16(SignLen), Sign/binary>>.
  