Project

General

Profile

Control Interface » History » Revision 8

Revision 7 (Moritz Horsch, 08/08/2012 09:54 AM) → Revision 8/40 (Tobias Wich, 09/17/2012 04:33 PM)

h1. Client Control Activation 

 h2. Interface 

 | *URL*    |\3. @http://127.0.0.1:24727/eID-Client@ | 
 | *Description* |\3. The Client Control Interface is http based. interface can be used to start the eID application. The webserver of parameters ifdName, contextHandle, and slotHandle address a particular eCard. If the parameters are absent, the eID application should ask the user to select an eCard client is available only under http://localhost:24724. 


 h2. Activation 

 *URL* 
 @http://127.0.0.1:24727/eID-Client@ 

 if multiple cards are present. |  
 | *Method*    |\3. GET | 
 GET 

 |/4. *Query* 
     | tcTokenURL         | The URL determines where the client can retrieve the TC Token. See TR-03112-7, section 3.2 | Mandatory |  
 | ifdName            | The ifdName determines the card terminal.|    Optional[1] Optional; Not specified yet |  
 | contextHandle    | The contextHandle addresses a specific IFD. | Optional[1]    Optional; Not specified yet |  
 | slotHandle         | The slotHandle SlotHandle determines a connected eCard. See TR-03112-6, section 3.2.1. | Optional[1] Optional; Not specified yet |  
 | cardType        | The cardType determines the type of card which must be selected. | Optional[1] | 

 |/4. *Returns* 
 | 200 OK                      | |\2. The refresh address is comprised in the Message Body (Hack for Mac OS Safari). | 
 | 303 See Other               | |\2. The Location field in the response should contain the refresh address. | 
 | 400 Bad Request             | |\2. Malformed GET request, e.g. parameters are missing. | 
 | 500 Internal Server Error | |\2. Other errors. | 

 
 |/2. *Content-Types* | text/plain |\2. All content should be encoded in text/plain or text/html. | 
 | text/html    |\2. | Webpage with user evaluatable content. E.g. error page, manual redirect, ... 
 | 


 *Description* 
 The interface can be used to start the eID application. 

 The parameters ifdName, contextHandle, slotHandle and cardType address a particular eCard, or a type of card. 
 There are three meaningful combinations of the optional parameters: 
 * _none_ 
  Use the fist nPa available. Display a "Please insert nPa" dialog if needed. This is the behaviour of the AusweisApp. 
 * _cardType_ 
  Use the fist card of the specified type which is available. Display a "Please insert <cardType>" dialog if needed. 
 * _ifdName_, _contextHandle_, _slotHandle_ 
  Use exactly the card matching the parameters. 


 *Notes* |\3. | 

 <pre> 
 TODO 
 * What happens if the Client Activator cannot start an application? 
 * What happens if the Client Activator cannot fetch a TC Token from the given TCTokenURL? Should that result in a 400 or 404? 
 </pre> 




 h2. GetStatus[1] 

 | *URL*    |\2. @http://127.0.0.1:24727/status@ | 
 @http://127.0.0.1:24727/getStatus@ 

 | *Description* |\2. |  
 | *Method* 
    |\2. GET 

 *Query* | 
 | session *Query*     | The session parameter establishes an event queue for further requests with waitforChange. | Optional |  

  
 |/4. *Returns* 
 | 200 OK                      | Status element (see below). | 
 | 500 Internal Server Error 400 Bad Request | Errors in the smartcard stack or the webserver. | 

 <pre>TODO: define Status element</pre> 

 *Content-Types* 
 | text/xml    406 Not Acceptable | The Status element. | 
 | text/html | Error message in case of a 500 status code. | 


 *Description* 
 The interface can be used to request information about the eID application and its current state. 




 h2. WaitForChange 

 *URL* 
 @http://127.0.0.1:24727/waitForChange@ 

 *Method* 
 GET 

 *Query* 
 | session | The session of a previously set up event queue (see [[#WaitForChange]] ). | Mandatory |  

 *Returns* 
 | 200 OK                      | StatusChange element (see below). | 
 | 500 Internal Server Error | Errors in the smartcard stack or the webserver. | 

 <pre>TODO: define StatusChange element</pre> 

 
 |/3. *Content-Types* 
 | text/xml    text/html | The StatusChange element. Should be used for a HTML website with human readable content. | 
 | text/html application/xml | Error message Should be used to represent a ConnectionHandle in case of a 500 status code. machine readable XML format. | 


 *Description* 
 The interface can be used to request status change information after an initial GetStatus call. 


 --- 

 fn1. Openecard proposal: This parameter/interface is an Open eCard specific extension. It is not part of | application/json | Same as XML but the official eCard specification. 
 data should encoded in a JSON format.|