Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
public:smartcard [2011-08-31 20:32] – [Writing Microsoft Smart card minidriver] petrspublic:smartcard [2014-10-09 12:57] petrs
Line 1: Line 1:
- 
 ====== Smart cards info ====== ====== Smart cards info ======
  
  
 [[public:smartcard:JavaCardCompilation|JavaCard applet compilation (NetBeans, JC2.2.2, Java SDK 1.3)]] [[public:smartcard:JavaCardCompilation|JavaCard applet compilation (NetBeans, JC2.2.2, Java SDK 1.3)]]
 +
 +[[private:sc:JavaCardCompilation|JavaCard applet compilation with PRGMaker]]
  
 [[public:smartcard:GPShell|GPShell documentation and usable scripts]] [[public:smartcard:GPShell|GPShell documentation and usable scripts]]
 +
 +[[public:smartcard:TutorialEuropen|Tutorial preparation (Europen 2011)]]
 +
 +[[public:smartcard:JCOPTools| JCOP Tools]]
 +
 +[[public:smartcard:Mifare| Mifare cards]]
 +
 +[[public:smartcard:cesta| CesTa project]]
 +
 +====== Various links ======
 +
 +  * JavaCard applet programming guideline: http://ruimtools.com/doc.php?doc=jc_best
 +  * JavaCard history: http://javacard.vetilles.com/2012/09/20/chip-to-cloud-day-2-java-card-15-years-later/
 +  * Report on JavaCard 3.0 vulnerabilities (Royal Holloway) http://www.ma.rhul.ac.uk/static/techrep/2013/MA-2013-04.pdf
 +====== Handy smart card tools ======
 +  * Cardpeek, Reader of smart card content: http://code.google.com/p/cardpeek/
 +  * GPShell, JavaCard applets and keys manager: http://sourceforge.net/projects/globalplatform/
 +  * jcManager, JavaCard applets and keys manager: http://www.brokenmill.com/2010/03/java-secure-card-manager/
 +  * List of smart cards with ATR: http://ludovic.rousseau.free.fr/softwares/pcsc-tools/smartcard_list.txt
 +  * Online ATR parsers: http://ruimtools.com/atr.php
 +
  
 ====== PKCS#11/PKCS#15 with JavaCard on Windows ====== ====== PKCS#11/PKCS#15 with JavaCard on Windows ======
Line 65: Line 87:
  
 ====== Generate self-signed X.509 certificates with OpenSSL====== ====== Generate self-signed X.509 certificates with OpenSSL======
 +
 +  * Complete Linux Tutorial: http://www.howtoforge.com/how-to-encrypt-mails-with-ssl-certificates-s-mime
 +
 +
   * openssl genrsa -out my.key 2048   * openssl genrsa -out my.key 2048
     * (unable to write 'random state' may appear - not important)      * (unable to write 'random state' may appear - not important) 
Line 71: Line 97:
     * fill in certificate parameters     * fill in certificate parameters
     * you may prefill required info into file and 'openssl req -new -x509 -days 365 -key my.key -out my.crt -sha512 < certificate_info.txt'      * you may prefill required info into file and 'openssl req -new -x509 -days 365 -key my.key -out my.crt -sha512 < certificate_info.txt' 
 +    * error: Unable to load config info from /usr/local/ssl/openssl.cnf
 +      * https://stackoverflow.com/questions/14459078/unable-to-load-config-info-from-usr-local-ssl-openssl-cnf-windows
 +      * set environmental variable OPENSSL_CONF=c:/libs/openssl-0.9.8k/openssl.cnf
   * openssl pkcs12 -export -out my.p12 -in my.crt -inkey my.key   * openssl pkcs12 -export -out my.p12 -in my.crt -inkey my.key
     * export your private and public key into single my.p12 file     * export your private and public key into single my.p12 file
Line 139: Line 168:
   * Remove all structures/enums/constants definitions found in cardmod.h from SCMD.cpp (it will stay in cardmod.h)   * Remove all structures/enums/constants definitions found in cardmod.h from SCMD.cpp (it will stay in cardmod.h)
   * Build the project to produce DLL   * Build the project to produce DLL
-  * Create INF file containing minidriver description+  * Create INF file containing minidriver description (see [[http://msdn.microsoft.com/en-us/windows/hardware/gg487500.aspx|Smart card minidriver specification]] for example)