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: 			 certificate_authorities = CertAuths};
  dec_hs(_Version, ?SERVER_HELLO_DONE, <<>>) ->
      #server_hello_done{};
  dec_hs(_Version, ?CERTIFICATE_VERIFY,<<?UINT16(SignLen), Signature:SignLen/binary>>)->
      #certificate_verify{hashsign_algorithm = {unknown, unknown}, signature = Signature};
  dec_hs(_Version, ?CLIENT_KEY_EXCHANGE, PKEPMS) ->
  
negative.code: certificate_verify(Signature, {?'id-dsa', PublicKey, PublicKeyParams}, Version,
  		   {HashAlgo, _SignAlgo}, MasterSecret, {_, Handshake}) ->
      Hashes = calc_certificate_verify(Version, HashAlgo, MasterSecret, Handshake),
      case public_key:verify({digest, Hashes}, sha, Signature, {PublicKey, PublicKeyParams}) of
  	true ->
  	    valid;
  	false ->
      	    ?ALERT_REC(?FATAL, ?BAD_CERTIFICATE)
      end.
  
  