On 14.01.2011 18:36, Andre Zepezauer wrote: > On Fri, 2011-01-14 at 18:31 +0100, Viktor TARASOV wrote: >> On 14.01.2011 17:53, Andre Zepezauer wrote: >>> On Fri, 2011-01-14 at 17:31 +0100, Viktor TARASOV wrote: >>>> On 14.01.2011 16:51, Andre Zepezauer wrote: >>>>> On Fri, 2011-01-14 at 16:00 +0100, Viktor TARASOV wrote: >>>>>> On 14.01.2011 15:17, Andre Zepezauer wrote: >>>>>>> On Fri, 2011-01-14 at 14:14 +0100, Viktor TARASOV wrote: >>>>>>>> On 14.01.2011 13:37, Andre Zepezauer wrote: >>>>>>>>> On Fri, 2011-01-14 at 10:20 +0100, Viktor TARASOV wrote: >>>>>>>>>> Hello Andre, >>>>>>>>>> >>>>>>>>>> On 14.01.2011 04:24, Andre Zepezauer wrote: >>>>>>>>>>> please have a look at PKCS#15 "6.8.2 Pin objects" for the >>>>>>>>>>> definition of >>>>>>>>>>> local and global PIN objects. There is no mention of storage >>>>>>>>>>> location. >>>>>>>>>> There is mention of 'path'. >>>>>>>>>> The difference between 'global' and 'local' is that the first one >>>>>>>>>> can be verified from any location on the card, >>>>>>>>>> the second one is 'visible' only from somewhere under the DF (or >>>>>>>>>> application) where it's defined. >>>>>>>>>> >>>>>>>>>> So, we need (or, if you like, it's useful) to have 'path' defined >>>>>>>>>> for the local PINs, to be able to select it's path before >>>>>>>>>> verification. >>>>>>>> My previous assumptions comes from this citation. >>>>>>>> It seems that I am terribly missing something. Can you give more >>>>>>>> details? >>>>>>>> >>>>>>>> >>>>>>>>>> From PKCS#15 6.8.2 Pin objects: >>>>>>>>> "PinAttributes.path: Path to the DF in which the PIN resides. >>>>>>>>> The path shall be selected >>>>>>>>> by a host application before doing a PIN operation, in order >>>>>>>>> to enable a suitable >>>>>>>>> authentication context for the PIN operation. >>>>>>>> That's 'local' PIN. >>>>>>>> >>>>>>>>> If not present, a card-holder verification >>>>>>>>> must always be possible to perform without a prior `SELECT' >>>>>>>>> operation." >>>>>>>> That's the global one. >>>>>>>> >>>>>>>> >>>>>>>> So we desperately need the 'path' for the local PINs. So that 'host >>>>>>>> application' can select the path >>>>>>>> 'before doing a PIN operation'. >>>>>>>> You probably know another way to do verification from the random >>>>>>>> location on the card ? >>>>>>> Take Java Card with PKI applet as an example. Once the applet is >>>>>>> selected, it is possible to perform the VERIFY command from every >>>>>>> location within that applet. That's 'local' PIN too. Because it's only >>>>>>> valid for that applet but not for the whole card. >>>>>> OK, let us adjust the terminology. >>>>>> I am talking about the PKCS#15 card. This card starts from some MF, >>>>>> where exist EF.DIR, probably EF.ATR, ..., as well as application DFs. >>>>>> The AID of application DFs are present in the EF.DIR records. >>>>>> The global PINs are defined at the MF level or above, the local ones are >>>>>> defined in application DFs. >>>>>> >>>>>> In my comprehension to create/use the PKCS#15 objects you don't need to >>>>>> jump higher then MF, and thus to reset status of 'global' PINs. >>>>>> You have another vision, examples ? >>>>>> >>>>>> >>>>>>> BTW care must be take with re-selecting an applet in Java Cards, because >>>>>>> it may invalidate all previously verified PINs. >>>>>> The AIDs of the applets of your Java Card, are they present in some >>>>>> EF.DIR ? >>>>>> Can its be discovered by the procedure previewed by PKCS#15 ? >>>>> You only need to have a default applet that can handle "SELECT 2F00" and >>>>> "READ BINARY" to dump EF.DIR. The next command would be a "SELECT BY >>>>> NAME", which is handled by the runtime environment and switches form one >>>>> applet to another. Now you can proceed with 5031 and 5032. >>>> Well, it seems that we are talking about the same thing. >>>> >>>> We've gone away from the original item. >>>> Do you have something against committed proposal to complete the missing >>>> 'path' for the local PINs when decoding AODF ? >>> Yes, the patch you have committed is a fix for cards not following >>> PKCS#15 and ISO 7816-15. Therefore it is placed wrong. Your current >>> proposal effects every card not only the broken ones. >> >> Explain me please how it effects the other cards. >> >> The other 'normal' cards >> - for the local PINs they have 'local' set in their pinFlags and have the >> 'path' in pinAttributes; >> - for the global PIN they have no 'local' in pinFlags and have no path in >> pinAttributes. >> >> >> There are 'anormal' cards that for the local PINs have flag 'local' in >> pinFlags, but have no 'path' in pinAttributes. >> My proposal concerns these ones. >> >> >> Please, give me a detailed description of the PinAttributes that can be >> effected by this proposal. > Local PIN with no path required.
1. If no path required, it means that it can be verified from every where in the card -- it's the global PIN. 2. Have you seen such a card ? Can you post here it's AODF ? 3. Finally, if no path required, selection of some path will not a effect it's verification. -- Viktor Tarasov <viktor.tara...@opentrust.com> _______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel