anchor.diff:  		radius_id :: byte(),
   		req_auth :: [byte()],
   		ssl_socket :: ssl:sslsocket(),
  -		ssl_pid :: pid()}).
  +		ssl_pid :: pid(),
  +		tls_key :: string(),
  +		tls_crt :: string()}).
   
   -define(TIMEOUT, 30000).
   
  
positive.code: %% @private
  %%
  init([Sup, Address, Port, RadiusFsm, Secret, SessionID, AccessRequest] = _Args) ->
  	{ok, _TLSkey} = application:get_env(ocs, tls_key),
  	{ok, _TLScert} = application:get_env(ocs, tls_crt),
  	{ok, _TLSport} = application:get_env(ocs, tls_port),
  	{ok, Hostname} = inet:gethostname(),
  	StateData = #statedata{sup = Sup, address = Address, port = Port,
  			radius_fsm = RadiusFsm, secret = Secret, session_id = SessionID,
  			server_id = list_to_binary(Hostname), start = AccessRequest},
  	process_flag(trap_exit, true),
  	{ok, eap_start, StateData, 0}.
  
  
negative.code: 		id = RadiusID, authenticator = RequestAuthenticator,
  		attributes = Attributes}, radius_fsm = RadiusFsm,
  		eap_id = EapID, session_id = SessionID,
  		secret = Secret, sup = Sup, tls_key = TLSkey, tls_crt = TLScert}
  		= StateData) ->
  	Children = supervisor:which_children(Sup),
  	{_, AaahFsm, _, _} = lists:keyfind(ocs_eap_ttls_aaah_fsm, 1, Children),
  	Options = [{certfile, TLScert}, {keyfile, TLSkey}],
  	{ok, SslSocket} = ocs_eap_ttls_transport:ssl_listen(self(), Options),
  	NewStateData = StateData#statedata{aaah_fsm = AaahFsm,
  			ssl_socket = SslSocket},
  	EapTtls = #eap_ttls{start = true},
  