Class eIDCommandInterpreter
				
				
			
				Class implementing a command interpreter that handles ISO 7816-4 command APDUs
				
				
					
Defined in:  eidcommandinterpreter.js.
				
			
| Constructor Attributes | Constructor Name and Description | 
|---|---|
| 
								eIDCommandInterpreter(fileSelector)
							 Create a command interpreter | 
| Method Attributes | Method Name and Description | 
|---|---|
| Performs a COMPUTE DIGITAL SIGNATURE command | |
| determinePINStatus(the)
								 Intercept MANAGE SE for PACE to determine status of PIN | |
| dispatch(apdu, ins)
								 Dispatch to command handler based in INS byte in APDU | |
| externalAuthenticate(the)
								 Performs an EXTERNAL AUTHENTICATE command | |
| Performs an EXTERNAL AUTHENTICATE command for BAC | |
| externalAuthenticateForTA(the, se)
								 Process EXTERNAL AUTHENTICATE command to perform terminal authentication | |
| generalAuthenticate(the)
								 Process GENERAL AUTHENTICATE command | |
| Performs a TERMINATE(Key) command | |
| getChallenge(the)
								 Process GET CHALLENGE command | |
| getDate()
								 Determine the current date | |
| Return terminal role from CHAT | |
| Determine if the terminal has been authenticated | |
| locatePublicKey(keyid)
								 Locate public key either in trust anchor, trusted DVCA or trusted terminal | |
| manageActiveState(the)
								 Performs an ACTIVATE/DEACTIVATE command | |
| Process GENERAL AUTHENTICATE command to perform chip authentication in version 1 | |
| Process GENERAL AUTHENTICATE command to perform chip authentication in version 2 | |
| performPACE(the)
								 Process GENERAL AUTHENTICATE command to perform PACE | |
| Process GENERAL AUTHENTICATE command to perform restricted identification | |
| Performs a RESET RETRY COUNTER command for PACE keys | |
| setDate(date)
								 Set the current date | |
| terminate(the)
								 Performs a TERMINATE command | |
| terminateKey(the)
								 Performs a TERMINATE(Key) command | |
| terminatePIN(the)
								 Performs a TERMINATE(PIN) command | |
| updateEFCVCA(date)
								 Update EF.CVCA to indicate new trust anchor for id-IS | |
| verifyAuxiliaryData(the)
								 Process VERIFY(AD) | |
| verifyCertificate(the)
								 Process PSO VERIFY CERTIFICATE command | 
					Class Detail
				
				
				
						eIDCommandInterpreter(fileSelector)
				
				
				
					Create a command interpreter
					
				
				
				
				
				
					
						- Parameters:
- {FileSelector} fileSelector
- the file selector object
					Method Detail
				
				
					 
					
					
					
					computeDigitalSignature(the)
					
					
					
						Performs a COMPUTE DIGITAL SIGNATURE command
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					determinePINStatus(the)
					
					
					
						Intercept MANAGE SE for PACE to determine status of PIN
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					dispatch(apdu, ins)
					
					
					
						Dispatch to command handler based in INS byte in APDU
						
						
					
					
					
					
						
							- Parameters:
- {APDU} apdu
- the apdu
- {Number} ins
- the normalized instruction code
					
					
					externalAuthenticate(the)
					
					
					
						Performs an EXTERNAL AUTHENTICATE command
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					externalAuthenticateForBAC(the)
					
					
					
						Performs an EXTERNAL AUTHENTICATE command for BAC
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					externalAuthenticateForTA(the, se)
					
					
					
						Process EXTERNAL AUTHENTICATE command to perform terminal authentication
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
- {SecurityEnvironment} se
- the security environment for external authentication
					
					
					generalAuthenticate(the)
					
					
					
						Process GENERAL AUTHENTICATE command
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					generateAsymmetricKeyPair(the)
					
					
					
						Performs a TERMINATE(Key) command
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					getChallenge(the)
					
					
					
						Process GET CHALLENGE command
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					{Date}
					getDate()
					
					
					
						Determine the current date
						
						
					
					
					
					
						
						
						
						
						
							- Returns:
- the current Date
					
					{ByteString}
					getTerminalRole()
					
					
					
						Return terminal role from CHAT
						
						
					
					
					
					
						
						
						
						
						
							- Returns:
- the object identifier value
					
					{boolean}
					isAuthenticatedTerminal()
					
					
					
						Determine if the terminal has been authenticated
						
						
					
					
					
					
						
						
						
						
						
							- Returns:
- true if authenticated
					
					{object}
					locatePublicKey(keyid)
					
					
					
						Locate public key either in trust anchor, trusted DVCA or trusted terminal
						
						
					
					
					
					
						
							- Parameters:
- {PublicKeyReference} keyid
- the public key reference to look for
- Returns:
- object with properties level (issuer is 0-CVCA, 1-DVCA or 2-Terminal) and anchor (Trust Anchor)
					
					
					manageActiveState(the)
					
					
					
						Performs an ACTIVATE/DEACTIVATE command
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					performChipAuthenticationV1(the)
					
					
					
						Process GENERAL AUTHENTICATE command to perform chip authentication in version 1
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					performChipAuthenticationV2(the)
					
					
					
						Process GENERAL AUTHENTICATE command to perform chip authentication in version 2
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					performPACE(the)
					
					
					
						Process GENERAL AUTHENTICATE command to perform PACE
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					performRestrictedIdentification(the)
					
					
					
						Process GENERAL AUTHENTICATE command to perform restricted identification
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					resetRetryCounterPACE(the)
					
					
					
						Performs a RESET RETRY COUNTER command for PACE keys
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					setDate(date)
					
					
					
						Set the current date
						
						
					
					
					
					
						
							- Parameters:
- {Date} date
- the new date
					
					
					terminate(the)
					
					
					
						Performs a TERMINATE command
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					terminateKey(the)
					
					
					
						Performs a TERMINATE(Key) command
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					terminatePIN(the)
					
					
					
						Performs a TERMINATE(PIN) command
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					updateEFCVCA(date)
					
					
					
						Update EF.CVCA to indicate new trust anchor for id-IS
						
						
					
					
					
					
						
							- Parameters:
- {Date} date
- the new date
					
					
					verifyAuxiliaryData(the)
					
					
					
						Process VERIFY(AD)
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu
					
					
					verifyCertificate(the)
					
					
					
						Process PSO VERIFY CERTIFICATE command
						
						
					
					
					
					
						
							- Parameters:
- {APDU} the
- apdu