anchor.diff:  				PublicKeyInfo});
   rsa_key_exchange(_, _) ->
       throw (?ALERT_REC(?FATAL,?HANDSHAKE_FAILURE)).
  -
  -%% Uncomment if we decide to support cipher suites with key_algorithm
  -%% dh_rsa and dh_dss.  Could also be removed if we decide support for
  -%% this will not be needed. Not supported by openssl!
  -%% dh_key_exchange(OwnCert, DhKeys, true) ->
  -%%     case public_key:pkix_is_fixed_dh_cert(OwnCert) of
  -%% 	true ->
  -%% 	    ssl_handshake:key_exchange(client, fixed_diffie_hellman);
  -%% 	false ->
  -%% 	    {DhPubKey, _} = DhKeys,
  -%% 	    ssl_handshake:key_exchange(client, {dh, DhPubKey})
  -%%     end;
  -%% dh_key_exchange(_, {DhPubKey, _}, false) ->
  -%%     ssl_handshake:key_exchange(client, {dh, DhPubKey}).
   
   request_client_cert(#state{ssl_options = #ssl_options{verify = verify_peer},
   			   connection_states = ConnectionStates0,
  
positive.code: 
      case ssl_handshake:hello(Hello, SslOptions, ConnectionStates0, Renegotiation) of
  	{Version, NewId, ConnectionStates1} ->
  	    {KeyAlgorithm, _, _, _} = 
  		ssl_cipher:suite_definition(CipherSuite),
  	    
  	    PremasterSecret = make_premaster_secret(ReqVersion, KeyAlgorithm),
  
negative.code:     case ssl_manager:connection_init(CACertFile, Role) of
  	{ok, CertDbRef, CacheRef} ->
  	    init_certificates(CertDbRef, CacheRef, CertFile, Role);
  	{error, {badmatch, Reason}} ->
  	    handle_file_error(error, Reason, CACertFile, ecacertfile);
  	{error, Reason} ->
  	    handle_file_error(error, Reason, CACertFile, ecacertfile)
      end.
  
  init_certificates(CertDbRef, CacheRef, CertFile, client) -> 
  