Package org.jmrtd

Interface APDULevelEACTACapable

  • All Known Implementing Classes:
    EACTAAPDUSender

    public interface APDULevelEACTACapable
    The low-level capability of sending APDUs for the (EAC) Terminal Authentication protocol.
    Version:
    $Revision: 1781 $
    Author:
    The JMRTD team ([email protected])
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      byte[] sendGetChallenge​(net.sf.scuba.smartcards.APDUWrapper wrapper)
      Sends a GET CHALLENGE command to the passport.
      void sendMSESetATExtAuth​(net.sf.scuba.smartcards.APDUWrapper wrapper, byte[] data)
      The MSE Set AT APDU for TA, see EAC 1.11 spec, Section B.2.
      void sendMSESetDST​(net.sf.scuba.smartcards.APDUWrapper wrapper, byte[] data)
      The MSE DST APDU, see EAC 1.11 spec, Section B.2.
      void sendMutualAuthenticate​(net.sf.scuba.smartcards.APDUWrapper wrapper, byte[] signature)
      Sends the EXTERNAL AUTHENTICATE command.
      void sendPSOExtendedLengthMode​(net.sf.scuba.smartcards.APDUWrapper wrapper, byte[] certBodyData, byte[] certSignatureData)
      Sends a perform security operation command in extended length mode.
    • Method Detail

      • sendMSESetDST

        void sendMSESetDST​(net.sf.scuba.smartcards.APDUWrapper wrapper,
                           byte[] data)
                    throws net.sf.scuba.smartcards.CardServiceException
        The MSE DST APDU, see EAC 1.11 spec, Section B.2.
        Parameters:
        wrapper - secure messaging wrapper
        data - public key reference data object (tag 0x83)
        Throws:
        net.sf.scuba.smartcards.CardServiceException - on error
      • sendPSOExtendedLengthMode

        void sendPSOExtendedLengthMode​(net.sf.scuba.smartcards.APDUWrapper wrapper,
                                       byte[] certBodyData,
                                       byte[] certSignatureData)
                                throws net.sf.scuba.smartcards.CardServiceException
        Sends a perform security operation command in extended length mode.
        Parameters:
        wrapper - secure messaging wrapper
        certBodyData - the certificate body
        certSignatureData - signature data
        Throws:
        net.sf.scuba.smartcards.CardServiceException - on error communicating over the service
      • sendMSESetATExtAuth

        void sendMSESetATExtAuth​(net.sf.scuba.smartcards.APDUWrapper wrapper,
                                 byte[] data)
                          throws net.sf.scuba.smartcards.CardServiceException
        The MSE Set AT APDU for TA, see EAC 1.11 spec, Section B.2. MANAGE SECURITY ENVIRONMENT command with SET Authentication Template function. Note that caller is responsible for prefixing the byte[] params with specified tags.
        Parameters:
        wrapper - secure messaging wrapper
        data - public key reference data object (should already be prefixed with tag 0x83)
        Throws:
        net.sf.scuba.smartcards.CardServiceException - on error
      • sendGetChallenge

        byte[] sendGetChallenge​(net.sf.scuba.smartcards.APDUWrapper wrapper)
                         throws net.sf.scuba.smartcards.CardServiceException
        Sends a GET CHALLENGE command to the passport.
        Parameters:
        wrapper - secure messaging wrapper
        Returns:
        a byte array of length 8 containing the challenge
        Throws:
        net.sf.scuba.smartcards.CardServiceException - on tranceive error
      • sendMutualAuthenticate

        void sendMutualAuthenticate​(net.sf.scuba.smartcards.APDUWrapper wrapper,
                                    byte[] signature)
                             throws net.sf.scuba.smartcards.CardServiceException
        Sends the EXTERNAL AUTHENTICATE command. This is used in EAC-TA.
        Parameters:
        wrapper - secure messaging wrapper
        signature - terminal signature
        Throws:
        net.sf.scuba.smartcards.CardServiceException - if the resulting status word different from 9000