Hi at muscle,

a new version of the musclecard applet loader for Schlumberger/Axalto Cyberflex Access cards has been released today.

The number of supported cards has been dramatically increased; basically
to all documented Cyberflex Access card's softmask versions. The ATRs are validated by ATR-mask: (atr & mask) == (atr' & mask), where atr' is the set of example values, which come with the Cyberflex Access card documentation.


Special thanks to Rafael Aggeler, who implemented DAP-Verification for
security level 1 cards, like branded Access e-gate cards from RSA, which
had the luck to cross his way. Rafael also successfully tested a 64K v1
card with the loader.

Martin

@David: please update the version and the size hint for the loader at
[1], it's now about 559K, because all support libraries are included
now, except the M$ OCF-PC/SC-Bridge..

@Ludovic: If you find the time please add
another
32K e-gate: 3B 75 94 00 00 62 02 02 03 01
and also
64K v1:     3B 75 12 00 00 29 05 01 04 01

to http://cvs.alioth.debian.org/cgi-bin/cvsweb.cgi/MCardPlugin/src/mscMuscleCard.bundle/Contents/Info.plist?rev=1.7&content-type=text/x-cvsweb-markup&cvsroot=muscleplugins
since they are tested now. ATR mask validation would also be a nice solution for Info.plist's ATRs.


[1] http://musclecard.com/musclecard/index.html

-----------------------------------------------------------------------

Usage: java smartcard.OCF.app.LoadCFlexAccess32 [OPTIONS]

Global options:
        -auth_enc KEY           Authentication/Encoding key (default 
404142434445464748494A4B4C4D4E4F)
        -mac KEY                MAC key for DAP verification (default 
404142434445464748494A4B4C4D4E4F)

Load command:
        -load CAPFILE           load transformed CAP file
        -statics STATICSSIZE    statics size for loadfile installation (default 
6)

Install command:
        -install INSTANCESIZE   allocation size for applet instance (default 
21000)

Setup command:
        -setup OBJECTSIZE       allocation size for objects and keys of 
CardEdge applet (default 10500)
Setup options:
        -transport_key KEY      transport key of CardEdge instance (default 
Muscle00)
        -chv0 KEY               CHV0 (PIN 0) of CardEdge instance (default 
Muscle00)
        -ublk_chv0 KEY          unblock CHV0 (PIN 0) of CardEdge instance 
(default Muscle00)
        -chv1 KEY               CHV1 (PIN 1 or 'User PIN') of CardEdge instance 
 (default 00000000)
        -ublk_chv1 KEY          unblock CHV1 (PIN 1) of CardEdge instance 
(default 11111111)

Other commands:
        -status TYPE            dispaly status APDU (default 32)
        -delete AID             delete an instance or package (no default)


#####################
###### H O W T O ####
#####################

1. Compile time requirements
- JDK1.3 (http://java.sun.com/products/j2se)
- OCF1.2 (http://www.opencard.org)
- Cryptix JCE (http://www.cryptix.org)
(OCF and Cryptix libs are packaged for convenience)

2. Additional runtime requirements:
- CardEdge.bin (included in this loader package)
- Cyberflex Access card
- CAD + drivers installed (i.e. http://www.towitoko.de)

and if you use PC/SC under WIN32
 - OCF native library Ocfpcsc1.dll installed in %JAVA_HOME%\jre\bin

otherwise use
 - PCSCLite (http://www.linuxnet.com)
 - OCF native library libOCFPCSC1.so 
(http://www.linuxnet.com/middleware/files/OCFPCSC1-0.0.1.tar.gz) i.e. installed 
in $JAVA_HOME/jre/bin
or 
- just try the included ./lib/libOCFPCSC1.so

3. Running the loader:
java smartcard.OCF.app.LoadCFlexAccess32 -load CardEdge.bin -statics 6

4. Installing the applet instance:
java smartcard.OCF.app.LoadCFlexAccess32 -install 21000 (or 18432 for 
Developercards)

5. Setting up a musclecard (optional, alternatives: xcard or muscleTool format 
option):
java smartcard.OCF.app.LoadCFlexAccess32 -setup 10500 (or 9216 for Developer 
cards) 

Congratulations, now you can use your card as cryptographic token i.e. for the 
muscleframework.

[EMAIL PROTECTED]
2005/04/16

#####################################
###### OPTIONAL #####################
#####################################

Create your own load files:

1. Use the converter tool from Java Card Development Kit 2.1.2

CardEdge.opt may look like this:
-----8<----------------
-out EXP JCA CAP
-exportpath .
-applet  0xa0:0x0:0x0:0x0:0x1:0x1 com.sun.javacard.samples.CardEdge.CardEdge
com.sun.javacard.samples.CardEdge
0xa0:0x0:0x0:0x0:0x1 1.0
->8--------------------

1a. (Mandatory for e-gate cards) java -jar captransf.jar lang.exp framework.exp 
security.exp cryto.exp -noint CardEdge.cap

2. Unjar the generated *.cap file: jar xvf CardEdge.cap.transf

3. Concatenate CAP files to one load file in reference order [2]: 

- copy Header.cap + Directory.cap + Import.cap + Applet.cap + Class.cap + 
Method.cap + StaticField.cap + ConstantPool.cap + RefLocation.cap + 
Descriptor.cap  CardEdge.bin

or with cat 
- cat Header.cap Directory.cap Import.cap Applet.cap Class.cap Method.cap 
StaticField.cap ConstantPool.cap RefLocation.cap Descriptor.cap > CardEdge.bin

[2] http://java.sun.com/products/javacard/specs.html

_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to