opensc/src/pkcs15init/setcos.profile

126 lines
3.7 KiB
Plaintext

#
# General purpose PKCS15 profile for SetCOS4.4 cards
#
cardinfo {
max-pin-length = 8;
pin-encoding = ascii-numeric;
pin-pad-char = 0x00;
}
# Additional default settings
option default {
macros {
protected = *=$SOPIN, READ=NONE;
mf_prot = *=NONE, CREATE=$SOPIN; # Allow to delete the MF
p15_prot = *=$SOPIN, SELECT=NONE, FILES=NONE, CREATE=NONE;
pin_prot = *=NEVER, WRITE=$SOPIN, UPDATE=$SOPIN; # WATCH OUT IF YOU CHANGE THESE!!
prkey_prot = *=NEVER, ERASE=$SOPIN, READ=NONE, CRYPTO=$PIN, UPDATE=$SOPIN;
exkey_prot = *=NEVER, ERASE=$SOPIN, READ=$PIN, UPDATE=$SOPIN;
so-pin-flags = initialized, soPin;
}
}
# Additional onepin option settings
option onepin {
macros {
protected = *=$PIN, READ=NONE;
mf_prot = *=NONE, CREATE=$PIN; # Allow to delete the MF
p15_prot = *=$PIN, SELECT=NONE, FILES=NONE, CREATE=NONE;
pin_prot = *=NEVER, WRITE=$PIN, UPDATE=$PIN; # WATCH OUT IF YOU CHANGE THESE!!
prkey_prot = *=NEVER, ERASE=$PIN, READ=NONE, CRYPTO=$PIN, UPDATE=$PIN; # READ: only applies on public key
exkey_prot = *=NEVER, ERASE=$PIN, READ=$PIN, UPDATE=$PIN;
so-pin-flags = initialized;
}
}
# Define reasonable limits for PINs and PUK
PIN user-pin {
attempts = 3;
flags = initialized, needs-padding;
}
PIN user-puk {
attempts = 5;
}
PIN so-pin {
reference = 1;
flags = $so-pin-flags;
}
# Additional filesystem info.
# This is added to the file system info specified in the
# main profile.
filesystem {
DF MF {
ACL = $mf_prot;
size = 42; # size = 2 + 2*(number of sub-files) -> 20 sub-files
# There's 1 pin/key file
EF pinfile {
file-id = 0080; # Recommended by Setec
structure = 0x22; # ISF key-file, Setcos V4.4 specific
record-length = 28;
size = 112; # 28 * 4 = 112 -> 1 SO + 3 user pins/puks
ACL = $pin_prot;
}
DF PKCS15-AppDF {
ACL = *=$SOPIN, SELECT=NONE, FILES=NONE, CREATE=NONE;
size = 82; # size = 2 + 2*(number of sub-files) -> 40 sub-files
EF PKCS15-PrKDF {
file-id = 4402;
size = 480;
acl = $protected;
}
EF PKCS15-PuKDF {
file-id = 4403;
size = 480;
acl = $protected;
}
EF PKCS15-CDF {
file-id = 4404;
size = 960;
acl = $protected;
}
EF PKCS15-DODF {
file-id = 4405;
size = 480;
acl = $protected;
}
EF template-private-key {
file-id = 5100;
type = internal-ef;
size = 512; # enough for a 1024 bit RSA key
ACL = $prkey_prot;
}
EF template-extractable-key {
file-id = 5300;
type = internal-ef;
size = 512; # enough for a 1024 bit RSA key
ACL = $exkey_prot;
}
EF template-public-key {
file-id = 5200;
acl = $protected;
}
EF template-certificate {
file-id = 5500;
acl = $protected;
}
EF template-data {
file-id = 5000;
structure = transparent;
acl = $protected;
}
}
}
}