Class EAC20

Object
   |
   +--EAC20

class EAC20


Class implementing support for Extended Access Control V2
Defined in eac20.js


Field Summary
 Object CADPs
          
 Object CAInfos
          
 Object CAPublicKeys
          
 Object card
          
 Object crypto
          
 Object includeDPinAuthToken
          
 Object maxCData
          
 Object maxRData
          
 Object PACEDPs
          
 Object PACEInfos
          
 Object readCardInfo
          
 Object RIInfos
          
 Object selectADFwithoutSM
          
 Object sm
          
 Object useFID
          
 Object verbose
          
<static>  Object AID_eID
          
<static>  Object AID_eSign
          
<static>  Object AID_LDS
          
<static>  Object ID_CAN
          PACE PWD is the CAN
<static>  Object ID_MRZ
          PACE PWD is the hashed MRZ
<static>  Object ID_PIN
          PACE PWD is the PIN
<static>  Object ID_PUK
          PACE PWD is the PUK
<static>  Object SFI_CardAccess
          
<static>  Object SFI_CardSecurity
          
<static>  Object SFI_ChipSecurity
          
<static>  Object SFI_COM
          
<static>  Object SFI_CVCA
          
 
Constructor Summary
EAC20(<Crypto> crypto, <Card> card)
            Create a protocol object for EAC
 
Method Summary
 Key calculateBACKey(<String> mrz, <Number> keyno)
           Calculate the Basic Access Control (BAC) key from the MRZ
 ChipAuthenticationDomainParameterInfo[] getCADomainParameterInfos()
           Return the list of ChipAuthenticationDomainParameterInfo objects
 ChipAuthenticationInfo[] getCAInfos()
           Return the list of ChipAuthenticationInfo objects
  getCAKeyId(privileged)
           Return the key id of the chip authentication key
 PACEDomainParameterInfo[] getPACEDomainParameterInfos()
           Return the list of PACEDomainParameterInfo objects
 PACEInfo[] getPACEInfos()
           Return the list of PACEInfo objects
  getRIKeyId(<boolean> authOnly)
           Return the key id of the restricted identification key
 PublicKeyReference getTrustAnchorCAR(<boolean> previous)
           Return the trust anchor's CAR as indicated by the card in the PACE protocol
 ByteString hashMRZ(<String> mrz)
           Calculate the hash over document number, date of birth and date of expiration from 2 or 3 line MRZ
 void log(str)
          
 void performBAC(<Key> kenc, <Key> kmac)
           Perform BAC using the provided Kenc and Kmac values.
 void performBACWithMRZ(mrz)
           Perform BAC using the provided Kenc and Kmac values.
 boolean performChipAuthentication(<Number> keyid)
           Perform chip authentication and establish a secure channel
 boolean performChipAuthenticationV1(keyid)
           Perform chip authentication in version 1 and establish a secure channel
 boolean performChipAuthenticationV2()
           Perform chip authentication in version 2 and establish a secure channel
 void performPACE(<Number> parameterId, <Number> pwdid, <ByteString> pwd, <ASN1> chat)
           Perform PACE using the indicated parameter set, the identified password, the password value and an optional cardholder authentication template.
 ByteString performRestrictedIdentification(<Number> keyId, <ByteString> sectorPublicKey, <Number> sectorPublicKeyIndex)
           Perform restricted identification
 void performTerminalAuthentication(<Key> termkey, <ByteString> auxdata, <Crypto> crypto)
           Perform terminal authentication using a given terminal key
 void performTerminalAuthenticationFinal(<ByteString> signature)
           Complete terminal authentication by submitting the signature to the card
 Object performTerminalAuthenticationSetup(<ByteString> auxdata)
           Prepare terminal authentication by setting the required security environment
 void prepareChipAuthentication(<Number> keyId)
           Prepare chip authentication by generating the ephemeral key pair
 void processSecurityInfos(<ASN1> si, <boolean> fromCardSecurity)
           Process a list of security infos from EF.CardInfo, EF.CardSecurity or EF.ChipSecurity
 void readCardAccess()
           Read EF.CardAccess and process security infos
 void readCardSecurity()
           Read EF.CardSecurity and process security infos
 void readChipSecurity()
           Read EF.ChipSecurity and process security infos
 void readCVCA()
           Read EF.CVCA and process contained CARs
 void readDG14()
           Read EF.DG14 and process security infos
 ByteString readEFwithFID(<ByteString> fid)
           Select EF using FID and read elementary file
 ByteString readEFwithSFI(sfi)
           Select and read EF using SFI
 void select_eID()
           Select eID Application
 void select_eSign()
           Select eSign Application
 void selectADF(<ByteString> aid)
           Select application DF
 void selectLDS()
           Select ePass LDS Application
 void setIDPICC(idPICC)
           Set the ID_PICC used for terminal authentication in EAC 1.11
 void updateEFwithFID(<ByteString> fid, <ByteString> data)
           Select EF using FID and update content
 Object updateEFwithSFI(sfi, <ByteString> data)
           Select EF using SFI and update content
 boolean verifyAuxiliaryData(<ByteString> oid)
           Verify authenticated auxiliary data
 void verifyCertificateChain(<CVC[]> cvcchain)
           Submit a list of certificates to the card for verification
<static> String decodeDocumentNumber(<String> mrz)
           Decode document number from 2 or 3 line MRZ

Field Detail

CADPs

Object CADPs

CAInfos

Object CAInfos

CAPublicKeys

Object CAPublicKeys

card

Object card

crypto

Object crypto

includeDPinAuthToken

Object includeDPinAuthToken

maxCData

Object maxCData

maxRData

Object maxRData

PACEDPs

Object PACEDPs

PACEInfos

Object PACEInfos

readCardInfo

Object readCardInfo

RIInfos

Object RIInfos

selectADFwithoutSM

Object selectADFwithoutSM

sm

Object sm

useFID

Object useFID

verbose

Object verbose

AID_eID

<static> Object AID_eID

AID_eSign

<static> Object AID_eSign

AID_LDS

<static> Object AID_LDS

ID_CAN

<static> Object ID_CAN

ID_MRZ

<static> Object ID_MRZ

ID_PIN

<static> Object ID_PIN

ID_PUK

<static> Object ID_PUK

SFI_CardAccess

<static> Object SFI_CardAccess

SFI_CardSecurity

<static> Object SFI_CardSecurity

SFI_ChipSecurity

<static> Object SFI_ChipSecurity

SFI_COM

<static> Object SFI_COM

SFI_CVCA

<static> Object SFI_CVCA

Constructor Detail

EAC20

EAC20(<Crypto> crypto, <Card> card)

Method Detail

calculateBACKey

Key calculateBACKey(<String> mrz, <Number> keyno)

getCADomainParameterInfos

ChipAuthenticationDomainParameterInfo[] getCADomainParameterInfos()

getCAInfos

ChipAuthenticationInfo[] getCAInfos()

getCAKeyId

 getCAKeyId(privileged)

getPACEDomainParameterInfos

PACEDomainParameterInfo[] getPACEDomainParameterInfos()

getPACEInfos

PACEInfo[] getPACEInfos()

getRIKeyId

 getRIKeyId(<boolean> authOnly)

getTrustAnchorCAR

PublicKeyReference getTrustAnchorCAR(<boolean> previous)

hashMRZ

ByteString hashMRZ(<String> mrz)

log

void log(str)

performBAC

void performBAC(<Key> kenc, <Key> kmac)

performBACWithMRZ

void performBACWithMRZ(mrz)

performChipAuthentication

boolean performChipAuthentication(<Number> keyid)

performChipAuthenticationV1

boolean performChipAuthenticationV1(keyid)

performChipAuthenticationV2

boolean performChipAuthenticationV2()

performPACE

void performPACE(<Number> parameterId, <Number> pwdid, <ByteString> pwd, <ASN1> chat)

performRestrictedIdentification

ByteString performRestrictedIdentification(<Number> keyId, <ByteString> sectorPublicKey, <Number> sectorPublicKeyIndex)

performTerminalAuthentication

void performTerminalAuthentication(<Key> termkey, <ByteString> auxdata, <Crypto> crypto)

performTerminalAuthenticationFinal

void performTerminalAuthenticationFinal(<ByteString> signature)

performTerminalAuthenticationSetup

Object performTerminalAuthenticationSetup(<ByteString> auxdata)

prepareChipAuthentication

void prepareChipAuthentication(<Number> keyId)

processSecurityInfos

void processSecurityInfos(<ASN1> si, <boolean> fromCardSecurity)

readCardAccess

void readCardAccess()

readCardSecurity

void readCardSecurity()

readChipSecurity

void readChipSecurity()

readCVCA

void readCVCA()

readDG14

void readDG14()

readEFwithFID

ByteString readEFwithFID(<ByteString> fid)

readEFwithSFI

ByteString readEFwithSFI(sfi)

select_eID

void select_eID()

select_eSign

void select_eSign()

selectADF

void selectADF(<ByteString> aid)

selectLDS

void selectLDS()

setIDPICC

void setIDPICC(idPICC)

updateEFwithFID

void updateEFwithFID(<ByteString> fid, <ByteString> data)

updateEFwithSFI

Object updateEFwithSFI(sfi, <ByteString> data)

verifyAuxiliaryData

boolean verifyAuxiliaryData(<ByteString> oid)

verifyCertificateChain

void verifyCertificateChain(<CVC[]> cvcchain)

decodeDocumentNumber

<static> String decodeDocumentNumber(<String> mrz)


Documentation generated by JSDoc on Tue Sep 3 22:29:38 2013