Commit 591fc793 authored by Sebastian Hans's avatar Sebastian Hans
Browse files

CR 55 SET(22)000131r1 Allowances for SCP80 in admin methods

-Annex D part of the CR
parent 3371b67c
Loading
Loading
Loading
Loading
+78 −5
Original line number Diff line number Diff line
@@ -23,7 +23,24 @@ public interface UiccApplicationManagementService {
     * @param UICC System Specific TLV as defined in 102 226 specification, as String
     * @return ResponseAPDU Object, corresponding to the GlobalPlatform command response.
     */
    public APDUResponse installApplet(String capFilePath, String classAID, String appAID, String uiccSystemSpecificParameters);
    default APDUResponse installApplet(String capFilePath, String classAID, String appAID, String uiccSystemSpecificParameters)
    {
        return installApplet(capFilePath, classAID, appAID, uiccSystemSpecificParameters, false);
    }

    /**
     * install and makeSelectable an instance in the card
     * @param relative path of the cap file, as String
     * @param Aid of the class, as String
     * @param Aid of the instance, as String
     * @param UICC System Specific TLV as defined in 102 226 specification, as String
     * @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation.
     *                              If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80,
     *                              to NOT fetch the corresponding proactive command,
     *                              as it is expected to occur subsequently in the test case.
     * @return ResponseAPDU Object, corresponding to the GlobalPlatform command response.
     */
    APDUResponse installApplet(String capFilePath, String classAID, String appAID, String uiccSystemSpecificParameters, boolean immediate91XXExpected);

    /**
     * install an applet in installed state
@@ -40,7 +57,21 @@ public interface UiccApplicationManagementService {
     * @param AID of the instance, as String
     * @return ResponseAPDU Object, corresponding to the GlobalPlatform command response.
     */
    public APDUResponse makeSelectableApplet(String appAID);
    default APDUResponse makeSelectableApplet(String appAID)
    {
        return makeSelectableApplet(appAID, false);
    }
    
    /**
     * make an applet selectable (install for make selectable)
     * @param AID of the instance, as String
     * @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation.
     *                              If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80,
     *                              to NOT fetch the corresponding proactive command,
     *                              as it is expected to occur subsequently in the test case.
     * @return ResponseAPDU Object, corresponding to the GlobalPlatform command response.
     */
    APDUResponse makeSelectableApplet(String appAID, boolean immediate91XXExpected);
    
    /**
     * perform a SelectApplication APDU command
@@ -56,21 +87,63 @@ public interface UiccApplicationManagementService {
     * @param AID of application, as String
     * @return ResponseAPDU Object, containing the application response
     */
    public APDUResponse lockApplication(String appletAid);
    default APDUResponse lockApplication(String appletAid)
    {
        return lockApplication(appletAid, false);
    }

    /**
     * lock an application
     * @param AID of application, as String
     * @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation.
     *                              If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80,
     *                              to NOT fetch the corresponding proactive command,
     *                              as it is expected to occur subsequently in the test case.
     * @return ResponseAPDU Object, containing the application response
     */
    APDUResponse lockApplication(String appletAid, boolean immediate91XXExpected);

    /**
     * unlock an application
     * @param AID of application, as String
     * @return ResponseAPDU Object, containing the application response
     */
    public APDUResponse unlockApplication(String appletAid);
    default APDUResponse unlockApplication(String appletAid)
    {
        return unlockApplication(appletAid, false);
    }

    /**
     * unlock an application
     * @param AID of application, as String
     * @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation.
     *                              If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80,
     *                              to NOT fetch the corresponding proactive command,
     *                              as it is expected to occur subsequently in the test case.
     * @return ResponseAPDU Object, containing the application response
     */
    APDUResponse unlockApplication(String appletAid, boolean immediate91XXExpected);

    /**
     * delete an applet specified by its AID
     * @param AID of applet, as String
     * @return ResponseAPDU Object
     */
    default APDUResponse deleteApplet(String AID)
    {
        return deleteApplet(AID, false);
    }

    /**
     * delete an applet specified by its AID
     * @param AID of applet, as String
     * @param immediate91XXExpected whether the card is expected to return 91XX immediately after this operation.
     *                              If {@code true}, this parameter is intended as a hint when using an SCP such as SCP80,
     *                              to NOT fetch the corresponding proactive command,
     *                              as it is expected to occur subsequently in the test case.
     * @return ResponseAPDU Object
     */
    public APDUResponse deleteApplet(String AID);
    APDUResponse deleteApplet(String AID, boolean immediate91XXExpected);

    /**
     * delete a package specified by its path