opensc/src/pkcs15init/starcos.profile

139 lines
2.7 KiB
Plaintext

#
# pkcs15 profile for starcos spk 2.3
#
cardinfo {
max-pin-length = 8;
pin-encoding = ascii-numeric;
pin-pad-char = 0x00;
}
option default {
macros {
so-pin-flags = initialized, needs-padding, soPin;
isf_acl = WRITE=$SOPIN, CREATE=$SOPIN;
df_acl = *=$SOPIN;
}
}
option onepin {
macros {
so-pin-flags = initialized, needs-padding;
isf_acl = WRITE=$PIN, CREATE=$PIN;
df_acl = *=$PIN;
}
}
PIN so-pin {
reference = 1;
flags = $so-pin-flags;
}
PIN so-puk {
reference = 1;
}
PIN user-pin {
attempts = 3;
}
PIN user-puk {
attempts = 10;
}
# Additional filesystem info.
# This is added to the file system info specified in the
# main profile.
filesystem {
DF MF {
ACL = $df_acl;
size = 768;
# INTERNAL SECRET KEY file of the MF
EF mf_isf {
size = 256;
ACL = $isf_acl;
}
EF mf_ipf {
file-id = 0010;
size = 256;
}
DF PKCS15-AppDF {
ACL = $df_acl;
size = 16000;
# INTERNAL SECRET KEY file of the application DF
# Note: if the WRITE ACL is commented out or no
# sopin is specified the ACs must be activated via
# 'pkcs15-init --finalize' (in this case the
# AC WRITE is NEVER as the required state can't
# be reached).
EF p15_isf {
path = 3f005015;
size = 2560;
ACL = $isf_acl;
}
EF p15_ipf {
file-id = 0010;
size = 1280;
}
template key-domain {
BSO private-key {
# here ACLs should be defined
}
EF public-key {
file-id = 3003;
structure = transparent;
ACL = *=NEVER,
READ=NONE,
UPDATE=$PIN,
ERASE=$PIN;
}
# Certificate template
EF certificate {
file-id = 3104;
structure = transparent;
ACL = *=NEVER,
READ=NONE,
UPDATE=$PIN,
ERASE=$PIN;
}
# Extractable private keys are stored in transparent EFs.
# Encryption of the content is performed by libopensc.
EF extractable-key {
file-id = 3201;
structure = transparent;
ACL = *=NEVER,
READ=$PIN,
UPDATE=$PIN,
ERASE=$PIN;
}
# data objects are stored in transparent EFs.
EF data {
file-id = 3301;
structure = transparent;
ACL = *=NEVER,
READ=NONE,
UPDATE=$PIN,
ERASE=$PIN;
}
# private data objects are stored in transparent EFs.
EF privdata {
file-id = 3401;
structure = transparent;
ACL = *=NEVER,
READ=$PIN,
UPDATE=$PIN,
ERASE=$PIN;
}
}
}
}
}