Why the exception is 0x6982 and not 0x6985?

84 Views Asked by At

I am sending a DAP block to the SD. That SD doesn't have Mandated DAP Verification Privilege nor DAP Verification Privilege. But is in personalize state.

I have this scenario:

  • Install for load an SD to the card without privileges to the ISD.
  • Select the SD and authenticate
  • Load a DAP Block knowing the SD doesn't have a DAP Verification Privilege.
  • Load command throws exception 0x6982.

I have this other scenario:

  • Install the SD without privileges to the ISD
  • Select the SD and authenticate
  • Extradited the SD to itself
  • Select the SD and authenticate
  • Load a DAP Block to the SD
  • Load command throws exception 0x6982

As far I know, 0x6982 exception is SECURITY_STATUS_NOT_SAISFIED and 0x6985 is CONDITIONS_NOT SATISFIED from GlobalPlatform Specifications v2.3.1. Form it could be both.

I have a method called hasAnyDAPPrivileges(SecurityDomain sd) that throws 0x6982 if the SD (as specified in GP Specifications v2.3.1.):

  • Is not an SD o ISD or
  • Is not in a personalization state and
  • Doesn't have Mandated DAP or DAP Verification Privilege

I didn't find anywhere which exception is and why. I'm asking for help if you find it. Thanks in advance!

0

There are 0 best solutions below