Hi!

> IIRC the original discussion had a few combined aspects:
>  * splitting sc_transmit into an APDU version and byte array version (yes)
>  * exporting the byte array version to libopensc (libopensc "removal"
> from exported interfaces was to discourage relentless linking against
> libopensc for "smart card support" a la linking against OpenSSL if you
> only need sha1.c)

I don't agree on this point. The OpenSSL guys know what they are doing
and this is the most important thing when you are programming security
related software. Implementing SHA-1 yourself feeling self-confident
only because you read "Applied Cryptography" is not a good idea...

>  * removing the "control" piggybacking from sc_transmit (and exporting
> the outcome)
> 
> Given the goal of OpenSC (to provide applications access to on-card
> cryptographic keys through standard interfaces) the implementation of
> tricks (like using SCardControl to start secure PIN entry) is supposed
> to happen inside OpenSC. Also, the focus should be on PC/SC (unless
> you have other requirements)
> 
> 
> > I would prefer the one-function-each-operation-approach, meaning that I
> > just add `execute_pace` to `sc_reader_operations`. What is your opinion?
> 
> Internally, the API should facilitate re-use by OpenSC components and
> card drivers. Sorry, I have not had the time to learn about PACE more
> than the generic overviews, nor how it fits into the
> cards-and-readers-and-current-software-stack bigger picture. Given
> that what you want to do can be done above PC/SC, extending the reader
> callbacks structure with only a "control" function should be enough.
> The rest should either fit into a card driver (if it makes no sense as
> a generic function) or implemented/triggered by a layer different from
> the card driver (like current pinpad code, inside reader-pcsc.c or in
> some new file in src/libopensc)

As said, I added execute_pace to sc_reader_operations and implemented
everything for the PC/SC reader driver. The npa-tool can be used to
actually execute PACE on the reader. Next week I can test with Reiner
SCT's readers. So far it works fine with the ccid-emulator. Source code
is more or less derived from
http://vsmartcard.sourceforge.net/
and can be found here
https://github.com/frankmorgner/OpenSC

> > By the way, who knows where I can find information about CT-API
> > extensions (not the CT-API itself) such as the CTBCS commands from
> > OpenSC?
> 
> No idea. I'd suspect the specs are in German anyway.

Fine with me, if someone comes up with such a document... ;)

Cheers, Frank.

Attachment: pgpvlUnlfZhDV.pgp
Description: PGP signature

_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to