Charismathics Smart Security Interface: Manual
Charismathics Smart Security Interface: Manual
V3.5
Manual
Contents
1. Preface ................................................................................................................................. 5
3. Installation............................................................................................................................. 7
3.1. Installation Requirements............................................................................................................... 7
3.2. Supported Smart Cards.................................................................................................................. 8
3.3. Tested Card Readers ..................................................................................................................... 9
2
Function "Register Certificate" ............................................................................................... 30
Function "Check Private Key" ................................................................................................ 30
Function "Check Secret Key" ................................................................................................. 32
6. Register Tool....................................................................................................................... 34
6.1. Start CSSI Manager and Start CSSI Utility .................................................................................. 34
6.2. Pause / Continue.......................................................................................................................... 35
6.3. Settings ........................................................................................................................................ 35
6.4. About ............................................................................................................................................ 36
6.5. Exit 36
10. References.......................................................................................................................... 45
4
1. Preface
Congratulations on your purchase of Charismathics Smart Security Interface!
Charismathics Smart Security Interface provides modules that you need to integrate CardOS
M4.01(a), V4.2(b), V4.3(b), JCOP20/30 or ACOS EMV A03 smart cards in to your applications.
Beginning with functions for the administration of the card, up to modules supporting the
operating system to use the smart card.
Charismathics Smart Security Interface comprises five modules:
- the CSP
- the PKCS#11-module
With the user tool Charismathics Smart Security Interface Utility you can change your user PIN
and register your smart card. You can manage your keys and certificates of the smart card with
the administration tool Charismathics Smart Security Interface Manager. You can generate,
import or export keys and certificates on a CardOS smart card. Furthermore, you can display
information about the contents of a CardOS smart card, change the PIN of the smart card, unlock
the smart card and create new profiles.
Especially you can augment the following applications by smart card applications:
- smart card login to Windows Domains or Novell eDirectory
- email security with cards (PGP, Netscape Messenger, Outlook, Outlook Express, …)
This manual is meant for system administrators and users, that are entrusted with these tasks.
Application developers, who develop their own applications that access modules of
Charismathics Smart Security Interface, e.g. PKCS#11, will find additional information in
Appendix A.
5
2. About this Manual
This manual begins with a description how to install Charismathics Smart Security Interface.
If you have acquired Charismathics Smart Security Interface in the admin edition, you will find
a description of the administration tool. It contains: how to manage keys and certificates,
changing PINs, unlocking, initializing and personalizing smart cards.
If you have acquired Charismathics Smart Security Interface in the user edition, you will find a
description of the user tool. It contains: how to change PINs and register your smart card.
Furthermore, you will find more precise information regarding the Register Tool, CSP and
PKSC#11 and which applications can be employed with smart cards. A reference part
consolidates your knowledge. Application developers can find further information in appendix A
how to access modules (e.g. accessing PKCS#11) of Charismathics Smart Security Interface,
if they intent to develop a proprietary application. Appendix B is a concise description of the
certificate attributes, i.e. information about key employment.
Admittedly, there is no explanation how to configure environments of Microsoft or other
producers. In these cases, please consult the documentation of the corresponding producer.
NOTE: To understand this manual you need basic knowledge in IT-security. Especially, you
should be familiar with the following notions: certificate, private, public, and secret key, digital
signature, PKI, etc. If you want to consolidate your knowledge in IT-security and cryptography,
there are informations in the service area of the charismathics homepage:
http://www.charismathics.com/
6
3. Installation
Before you can install Charismathics Smart Security Interface the card reader you purchased
must be installed according to the producer’s guidelines and be fully operative. The installation of
Charismathics Smart Security Interface is run from the program CD. Please execute the file
SETUP.EXE as a user with administrator rights. Follow the installation instructions.
Note: During the installation the CSP Module is registered automatically in the Windows
operating system. If there is a Netscape version on your computer, there will be the possibility to
register the PKCS#11 Module in the Netscape Navigator over the file
"InstallNetscapePKCS11.html". With the help of the file "UninstallNetscapePKCS11.html" this
procedure can be cancelled each time.
- Lotus Notes with digital signature and encryption via smart card:
Lotus Notes 6.5 or higher
7
- Windows VPN-Login with smart card:
Windows 2000 Server and as Client: Windows 2000 Professional or
Windows 2003 Server and as Client: Windows 2000 or XP
- Smart card login to Novell eDirectory:
Netware 5.1 SP3, eDirectory 8.6.1, Novell Client 4.83 SP1, NMAS EE 2.0 (with the
included Universal Smartcard Login Method) with NICI 1.5.7 (Server and Client),
NMAS 2.1 (with the included Universal Smartcard Login Method) with NICI 2.4.1
(Server and Client) or higher in each case
- E-Mail-Security via PGP support (PKCS#11): PGP Personal Desktop 8.1 for Windows
8
- CardOS 4.2b
- CardOS V4.3
- CardOS V4.3b
- Aladdin eToken
- ACOS EMV A03
- JCOP 20
- JCOP 30
- NetKey PKS/2000/E4
Please observe, that your card reader has been installed according to the producer’s
specifications and is operating. Charismathics Smart Security Interface has been tested with
the following card readers:
- SCM SCR241 PCMCIA
- SCM SCR331 USB
- SCM SCR333
- SCM SCR335 USB
- SCM SCR532 seriell/USB
- Omnikey Cardman 1010 seriell
- Omnikey Cardman 2011 seriell
- Omnikey Cardman 2020 USB
- Omnikey Cardman 3121 USB
- Omnikey Cardman 3620 USB
- ORGA Card Mouse USB
Note: All these card readers are PC/SC-readers, since only PC/SC-drivers are supported.
Observe, there is no support for CT-API-drivers.
9
4. Administration Tool: Charismathics Smart Security Interface
Manager
If you acquired Charismathics Smart Security Interface in the Admin edition, with this tool
functions relevant for you are available: like changing your PINs, unlocking smart card, generating
profiles, keys and certificates and so on. These functions are now described.
After you insert a smart card into the card reader, you can after one click on the smart card reader
select the function "Open Token" with a click on the right mouse button. Alternatively you have the
possibility to select this function under the menu "Manager".
First you will receive the public information, e.g. name of the smart card, the profile and the free
card memory. In this case, it is a CardOS M4.01a smart card with the corporate profile.
Furthermore, certificates, public keys, container and data are displayed.
10
To display sensitive data of the smart card, you must login on the card. For this, select the item
“Login” in the menu “Token”:
Here Charismathics Smart Security Interface offers you the possibility to register your
certificates in the certificate store of Windows. Thus you can spare the later import of certificates
into the operating system. The registration happens by a dialogue; for each certificate you will be
asked, whether the registration of this certificate is desired.
11
Next other data, Private Keys and Secret Keys show up on the interface:
One can generate several keys with the corresponding certificates on the card. They will merged
in containers. The functions available for you will be described in the following sections in more
detail.
Tab "Manager"
By this tab you access general functions for operating this tool.
12
Tab "Edit"
By this tab you can call specific functions the smart card provides.
Tab "Token"
By this tab you can use the functions regarding the token itself in this case the CardOS smart
card.
13
Tab "Key Pair"
This tab provides functions regarding the key pair on the CardOS smart card.
Tab "Certificate"
This tab provides access to functions, that you need to work with certificates on the CardOS
smart card.
14
Tab "Info"
By clicking the tab "Info" you obtain information about the version of the modules of
Charismathics Smart Security Interface and about the producer charismathics gmbh as well as
an online link to this manual.
15
4.2. Changing PINs
There are 3 PINs on a CardOS smart card: the User PIN, the SO PIN (PIN of the system
operator, i.e. system administrator) and the Card-PIN. There are different functions to use with
these 3 PINs:
The User PIN must be entered, if one wants to write on the card (e.g. key generation, storing a
certificate), delete objects or when the cryptographic functions (e.g. signing or decryption) are
used. The minimal length of the User PIN is four characters and the maximal length is ten
characters. The Default-PIN is "11111111" (these are 8 ones).
IMPORTANT: After three wrong inputs the User PIN will be locked.
A locked User PIN can be unlocked by the SO PIN sometimes called PUK. The length of the SO
PIN is fixed to ten characters. The Default-PIN is "1111111111" (these are 10 ones).
The SO PIN will used solely for unlocking the User PIN. There are no functions like Create or
Delete.
IMPORTANT: After ten wrong inputs the SO PIN will be locked.
With the Card-PIN one can delete an existing profile on a card by setting up a new profile. The
Card-PIN will be determined during the initialization and cannot be changed afterwards. The
length of the Card-PIN is ten characters.
IMPORTANT: After ten wrong inputs the PIN is locked and the card cannot be deleted anymore.
I.e. if the Card-PIN, the SO PIN and the User PIN are locked, the card is useless.
You find all functions to change User and SO PIN in the menu "Token", as shown in the following
figure:
16
4.3. Unlocking Smart Cards
As a security measure a smart card will locked, if a user enters three times a wrong PIN. This
provides security, because an unauthorized person can check all possible PINs by trial and error,
if you lost your smart card or it has been stolen.
But it might happen, that you as legitimate owner of the smart card have entered three times the
wrong PIN. In this case the smart card will be locked too. Therefore, you can unlock the smart
card with Charismathics Smart Security Interface, if you know the SO PIN.
You need the SO PIN to unlock a User PIN. You find the function "Unlock User PIN" in the menu
"Token", as shown in the following figure:
17
4.4. Generating and Importing Keys
To use the smart card for digital signatures or encryption, you need a key pair, which is
composed of a private and a public key. The private key must be stored very secretly and the
public key must be accessible to communication partners by a certificate. These keys and
certificates can be generated and managed by the administration tool.
If you want to use this function, you must first login to the smart card: Confirm the menu "Token"-
>"Login".
You can find all the functions to generate and import keys in the menu "Key Pair" and to import
certificates in the menu “Certificates”,.
18
If you have a CardOS M4.01, M4.01a or V4.20 smart card they are RSA keys with 512 or 1024
bit. If you have a CardOS V4.30 smart card you can additionally generate RSA-keys with 1536 or
2048 bit. To generate RSA keys with 2048 bit on a CardOS V4.20 smart card you need a
package. There exists also aprofile with ECC support for CardOS M4.01a, which supports curves
up to 256 bit length.
19
Here, you can generate a Triple-DES-key with 192 bits, a Triple-DES-key with 128 bits or a DES-
key with 64 bits.
Note: Recommended are algorithms with at least 128 bits (Triple-DES). According to present day
standard, lesser key lengths can not be considered as secure any more.
20
4.5. Generation and Import of Certificates
In order to use the smart card for digital signatures or encryption you need a key pair comprising
a private key and a public key. The public key should be accessible to communication partners by
a certificate. These certificates can be generated and managed by the administration tool.
In order to generate the certificate, resp. request you enter the data into the corresponding fields.
In case of a certificate request you create a file to send it to the authority, that should sign the
certificate (e.g. trust center ). Therefore you store the request as a p10-file in a directory and
attach it to the email, that you send to the corresponding authority intended to sign the certificate.
You have to observe the specifications of the issuing authority (e.g. trust center ).
If the certificate of the issuer has been returned, you have to import the certificate over the menu
item "Import Certificate".
21
Note: There is an explanation of the certificate attributes and how to employ the keys in the
appendix B of this manual.
22
Import of Certificates
In case you already own certificates, that you intent to employ, you can import them over the
menu "Certificate" over the item "Import Certificate". Certificates, which belong to key pairs, are
directly assigned to the associated "container" after the import. Certificates without keys - as for
example CA certificates - are assigned to the file "Certificates".
23
4.6. Creating Profiles …
If you want to use a smart card, there must be a profile on this smart card. In a first step you have
to setup the corporate profile on this smart card. Click the menu "Manager"->"Create Token
Profile".
The further proceedings are the same, as in the following section "...in the case of an empty smart
card". Please follow the instructions, which are described below.
24
… in the case of an empty smart card
If the profile is setup (Initialization) on an empty smart card, the "Card-PIN", the "SO PIN", the
“User PIN” and a Serial Number must be defined. Further a Label of the token can be assigned.
You can choose a profile if several are available.
With the help of the Card PIN the smart card can be deleted later again and with the SO PIN the
smart card can be unlocked. Therefore you should not assign "simple" PINs. The input of the SO
PIN and the User PIN is also not displayed in plain text, but through * in the input mask. The
input must be also confirmed. Further explanations regarding the PINs can be found in the
section 4.2.
25
4.7. Preparing a Smart Card (Initialization and Personalization)
In order that a user can employ his smart card, it must be prepared, i.e. the smart card must be
initialized and personalized. In a first step you have to setup a profile on the smart card and in a
second step setup keys and certificates on the smart card.
Directory "Certificates"
There is the directory “Certificates” for all certificates, that are not directly corresponding to a key.
These are intermediate certificates, that have to be imported into this directory. For this purpose
select the item “Import Certificate” in the menu “Certificate” or choose the context menu over the
right mouse button.
26
Directory "Data"
A smart card is the safest environment for the private key. Furthermore, the smart card is
necessary for application with at least daily logins or authentication. Thus, one carries it often or
always around. Therefore it makes sense to store sensitive or necessary data on this medium,
e.g. a text file with your PINS. To create data highlight “Data” and select the item “Create Data” in
the menu “Edit”. Then, a further window is displayed for you, where you can create your data:
There you have the possibility to access the actual data only, if one is logged on to the smart
card. To this end tick the field “Save value secured”. Your existing data can be deleted, updated
or exported:
27
28
Function "Open Token"
The function "Open Token" of the menu "Manager" transfers data from the smart card to the user
interface. This is recommended, if you work with different cards or card readers.
29
Function "Show Certificate"
If you want to display a certificate, use the function "Show Certificate" from the menu "Certificate".
You obtain this function over the context menu, too: highlight the certificate, that you want to
display, rightclick and choose there the item "Show Certificate". Then you obtain the information
contained in the certificate:
30
To test the decryption key write text in the field “Plaintext” and click on the button “Start”. If the
decrypted text is the same as the Plaintext, the decryption key works all right.
To test the signing key you can chose the hash algorithm. If the Verify Result is true, the signing
key works all right.
31
Function "Check Secret Key"
With this function you can test generated keys for encryption. First you must be logged on, then
highlight the private key you want to test and chose the function “Check Secret Key” from the
menu “Edit”.
You can choose the cryptographic mode for testing the key. The different versions are the Cipher
Block Chaining (CBC) and the Electronic CodeBook (ECB). And you can choose ISO or PKCS5
as Padding.
To test the encryption key write text in the field “Plaintext” and click on the button “Start”. If you
know the initializing vector you can insert it; otherwise it will be filled with zero. Is the decrypted
text the same as the Plaintext, the encryption key works all right.
32
5. User Tool: Charismathics Smart Security Interface Utility
If you acquired Charismathics Smart Security Interface in the user edition, with this tool all
relevant functions are available: like changing your pin and the registration of your key/certificates
of the smart card. These functions are now described.
IMPORTANT: After three wrong inputs the User PIN will be locked. Please choose a PIN, which
you can note well, but which cannot be easily guessed. Avoid e.g. birthdays or simple sequences
of numbers like 1234 or 1111.
Insert your smart card in the reader and open Charismathics Smart Security Interface Utility:
click on "Start" and then follow the path
"Programs"->"charismathics "->"smart security interface" ->"Charismathics Smart Security Interface Utility".
Now click on the tab "Registration" and on this window on the button "Register now". Follow the
instructions on the monitor.
33
6. Register Tool
If you acquired Charismathics Smart Security Interface in the Admin or in the User edition, this
Register Tool makes more functions available for you.
To make certificates accessible for Windows-applications like Internet Explorer or Outlook
Express, you can automatically register the certificates from your smart card in the certificate
store of Windows. The settings for this registration you can configure in this additional Register
Tool.
The default functionality is the following: as soon as a smart card is inserted into the card reader,
the certificates are automatically registered, if the Register Tool is active. On smart card removal,
the certificates are not automatically unregistered. If this is desired, you can adjust this over the
"Settings".
You can call the Register Tool of Charismathics Smart Security Interface either over the
starting menu or over the tray icon:
Then you get the possibilities of starting the Administration Tool sc/interface Manager or the User
Tool sc/interface Utility, to Pause the Register Tool, to configure Settings, to read information or
to terminate the Register Tool, which is now explained.
6.1. Start Charismathics Smart Security Interface Manager and Start Charismathics Smart
Security Interface Utility
If you have the Admin Edition the function “Start Charismathics Smart Security Interface
Manager” gives you the possibility to start the Administration Tool “Charismathics Smart Security
Interface Manager”. If you have the User Edition with the function “Start Charismathics Smart
Security Interface Utility“ you can start the User Tool Charismathics Smart Security Interface
Utility. Further explanations concerning this Administration Tool you find in chapter 4 and
concerning the User Tool you find in chapter 5.
34
6.2. Pause / Continue
If it is not desired that the certificates of the smart card are registered automatically, you can
pause the Register Tool. For it you select the point "Pause" in the pop-up menu of the tray icons.
Thereupon the tray icon changes, so that one recognises that the Register Tool is set to pause. In
order to continue with the automatic registration, you select the now appeared point "Continue" in
the pop-up menu of the tray icons:
6.3. Settings
The default functionality of the Register Tool is, that certificates are registered automatically, as
soon as a smart card is inserted into the card reader. On smart card removal the certificates are
not unregistered automatically. If this is desired, you can configure this over the "Settings". For
this you select the point "Settings" in the pop-up menu of the tray icons and you receive the
following dialog:
If you want, that the registered certificates are removed from the certificate store, if you remove
the smart card from the card reader, you must activate the field.
35
6.4. About
For information about the version of the Register Tools and the manufacturer charismathics gmbh
select "About" in the menu of the tray icons:
6.5. Exit
With „Exit“ in the menu of the tray icon you can end the Register Tool.
36
7. CSP of Charismathics Smart Security Interface
The Windows operating system supports cryptographic functionalities like encryption and digital
signature by the so-called Crypto-API. Furthermore, CSPs (Cryptographic Service Providers)
enable programs to support smart cards. During the installation of Charismathics Smart
Security Interface the Charismathics Smart Security Interface-CSP – abbr. cmCSP – will be
added. It supports the CardOS smart card.
Now with this cmCSP you can use certain programs and functionalities delivered with Windows
2000, like Outlook Express, Internet Explorer, network login and VPN-login with the CardOS
smart card. They will be explained in the following.
NOTE: Here, you will not find a description how to configure your Microsoft environment for the
use of smart cards. Please consult the help files for Outlook Express and the Internet Explorer. To
configure the network login and the VPN-login for smart cards please consult the documentation
of the Windows 2000 Server.
If you need support for the implementation or realization, charismathics’s team can help you. Feel free to
contact your account manager.
> If you want to use a Microsoft product in connection with the CSP for the first time on a certain
computer, you must register the certificate that you want to use. Please read in chapter 6
“Register Tool” or in section 4.8 "Register Certificate", if you need to know how to register
your own certificate.
> You as a user need keys and certificates on the smart card. There are several different
possibilities. The most popular are:
- Generation of key pair and corresponding certificate directly on the smart card
with the functions of standard browsers, like Internet Explorer or Netscape.
This ensues an access on the modules of Charismathics Smart Security
Interface, i.e. correspondingly on cmCSP or cmP11.
NOTE: Enter into the browser http://<Servername of Enterprise-CA>/certsrv .
- Generation of key pair and corresponding certificate directly on the smart card
with the Microsoft Certificate Server (in "Enterprise CA" and in "Stand Alone"
mode).
37
- Import of existing keys and certificates on the smart card, that were generated
by other CAs or trust centers, resp. request of certificate from a trust center.
- Generation of key pair and corresponding self signed certificate directly on the
smart card by the administration tool Charismathics Smart Security
Interface. Please observe, that the employment of self signed certificates
makes sense only in environments without a PKI or for testing.
Note: If you request a certificate from a trust center, you might be requested to choose
a security module, e.g. a token. In this case choose the corporate profile, the cmCSP or
the cmP11. Furthermore, your smart card has to be inserted in the card reader, so that
certificates can be written on it.
> Programs must be configured, so that they work with your smart card.
> The programs must be configured, so that they work with your keys and certificates. There
you have to take into account the preconditions of the programs, that need certain input. E.g.
some programs need root-certificates, that must be in certain directories or for other programs
you must register your certificate.
In the following chapters only the special features of the corresponding application will be
explained.
Step 1 Setup of ADS. Please observe the correct configuration of the DNS-Server.
Step 2 Installation of the Enterprise CA and at least the templates "Enrollment Agent",
"Smartcard Logon" and Smartcard User".
Step 3 Then an Enrollment-Agent-Certificate must be generated and registered on the
computer, where the smart cards should be personalized.
Step 4 After that the smart cards for users may be issued over the Enrollment Station.
Furthermore, observe that "Set Default Private Key" must set the private key on the client (see in
section 4.8).
7.3. SSL- Authentication with Smart Card over the Internet Explorer
Here you must register the certificate with the administration tool of Charismathics Smart
Security Interface (see in chapter 6 “Register Tool” or in section 4.8 "Register Certificate").
38
7.4. Outlook Express with Electronic Signature and Encryption via Smart Card
Here you must register the certificate with the administration tool of Charismathics Smart
Security Interface (see in chapter 6 “Register Tool” or in section 4.8 "Register Certificate"). Then
choose the desired certificate for signing and encryption over "Tools -> Accounts -> E-Mail ->
Preferences -> Security".
Normally, there are pull down menus in the email windows, that you may click encryption and/or
signing an email in order to use the security functionalities. The verification of incoming signed
emails uses for instance the red "signet" symbol in the right corner of the email window, like here
in the example:
In order that Outlook Express automatically acknowledges the right key, resp. certificate, the
certificates should lie in the address book, i.e. the certificate should be imported into the "Digital
IDs": e.g. highlight the name in the address book and choose the tab "Digital IDs" over the context
menu. On this tab you can import the certificate for the chosen contact.
39
8. PKCS#11-Module of Charismathics Smart Security Interface
If you use software, that supports PKCS#11, you can employ Charismathics Smart Security
Interface-PKCS#11 -abbreviated cmP11- with the CardOS smart card. Here it is a matter of
applications and functionalities with smart cards, like network login, SSL, email security with
Netscape, certain Microsoft applications and products of other producers, that are explained
briefly.
NOTE: Here is no description, how to configure your environment for the employment with smart
cards. For this purpose please consult the corresponding help-files of the corresponding
programs.
IMPORTANT: cmP11 is a DLL with the name "cmP11.dll and is after the installation in the system
directory, e.g. in \WINNT\system32.
Remark: Despite strict measures for the quality of PKCS#11 modules by the different
manufacturers, charismathics gmbh can not guarantee for the compatibility with each PKCS#11
Module of a foreign manufacturer.
> You as a user need keys and certificates on the smart card. There are several different
possibilities. The most prevalent are mentioned below:
- Generation of key pairs and corresponding certificate directly on the smart card
with the functions of standard browsers, like Internet Explorer or Netscape.
This ensues access to the modules of Charismathics Smart Security
Interface, i.e. corresponding to cmCSP or cmP11.
NOTE: For this purpose enter in the browser http://<Servername_of_Enterprise_CA>/certsrv.
- Generation of key pair and corresponding certificate directly on the smart card
with Novell’s Certificate Server.
- Generation of key pair and corresponding certificate directly on the smart card
with Microsoft’s Certificate Server (in "Enterprise CA" mode and in "Stand
Alone" mode).
40
- Import of existing keys and certificates on the smart card, that were generated
by other CAs or trust centers, resp. requesting a certificate from a trust center.
- Generation of key pair and corresponding self signed certificate directly on the
smart card with the delivered administration tool of Charismathics Smart
Security Interface. Please observe that the employment of self signed
certificates makes sense only in environments without PKI or for the purpose of
testing.
NOTE: If you request a certificate from a trust center, you might be requested to
choose a security module. Please choose in this case the corporate profile, the
cmCSP or the cmP11. Furthermore, your smart card has to be inserted in the card
reader, so that certificates can be written on it.
> The programs must be configured, so that they can work with your smart card.
> The programs must be configured, so that you can work with keys and certificates. Here you
must take into account the preconditions of the programs, that have certain inputs. E.g. some
programs need root certificates, that must be in certain directories or for other programs you
have to register your certificate.
In the following chapters only the special features of the respective application will be explained.
41
8.3. SSL- Authentication with Smart Card over Netscape
The notes for the employment of Netscape are presented by the example of version 7.
Furthermore, you can call the Certificate Manager of Netscape on the same tab by clicking
"Manage Certificates...".
42
8.4. Email-Security by Smart Cards with Netscape’s Messenger
The notes for the employment of Netscape and screen shots to manage certificates and modules
are available in the example of version 7 in the previous section.
Normally, there pull-down menus in the email windows, where you can tick whether an email
should be encrypted and/or signed, resp. a function for verification of received signed emails, to
employ the security functionality.
43
9. PKCS#11 module register
For registration of PKCS#11 module in your Firefox or Netscape/Mozilla browser and email client
you can use Charismatics Smart Security Interface PKCS#11 module register. Select your
chosen browser and click on button ‘register/unregister’. PKCS#11 module register will start your
browser for registration of the PKCS#11 module. You can also use this tool to unregister
PKCS#11 module.
Note: java script must be enabled in your browser.
44
10. References
[PKCS#5] http://www.rsasecurity.com/rsalabs/pkcs/index.html
[PKCS#11] http://www.rsasecurity.com/rsalabs/pkcs/index.html
[MS_CA] HOW TO: Configure a Certificate Authority to Issue Smart Card Certificates
in Windows 2000:
http://support.microsoft.com/default.aspx?scid=kb;en-
us;Q313274&sd=tech
45
11. Information / Export Restrictions
Charismathics GmbH
47 Sendlinger St
80331 Munich
Germany
Trade Mark
All mentioned software and hardware names are in most of the cases trade marks and are liable
to legal requirements.
Please observe !
The product delivered to you is liable to export control. Please observe the legal
requirements of specific countries. For export out of the EU an export approval is
necessary.
46
Appendix A: Reference for Developers
In this appendix there are detailed specification regarding the supported functions of the
PKCS#11-standard, a synopsis of particular functions and a list of objects and mechanisms.
These information are useful and necessary for application developers, who want to develop their
own applications supporting the cmP11.
47
- C_Decrypt
- C_DecryptUpdate
- C_DecryptFinal
- C_DigestInit
- C_Digest
- C_DigestUpdate
- C_DigestFinal
- C_SignInit
- C_Sign
- C_SignUpdate
- C_SignFinal
- C_VerifyInit
- C_Verify
- C_VerifyUpdate
- C_VerifyFinal
- C_VerifyRecoverInit
- C_VerifyRecover
- C_GenerateKeyPair
- C_GenerateKey
- C_GenerateRandom
- C_WrapKey
- C_UnwrapKey
- C_CancelFunction (returns CKR_FUNCTION_NOT_PARALLEL)
- C_InitToken
48
Not supported functions:
- C_GetOperationState
- C_SetOperationState
- C_CopyObject
- C_DigestKey
- C_DigestEncryptUpdate
- C_DecryptDigestUpdate
- C_SignEncryptUpdate
- C_DecryptVerifyUpdate
- C_DeriveKey
- C_SeedRandom
- C_GetFunctionStatus
49
Synopsis of specific functions
C_Finalize
Parameter: pReserved (CK_VOID_PTR)
Description: Sessions will be closed.
Slots will be closed.
Reserved Memory will be freed.
Deviation: pReserved will be ignored.
C_Finalize will be called automatically on Finish.
If C_Initialize is called n times in succession (without C_Finalize in
between), C_Finalize will only be carried out after the n time.
C_GetObjectSize
Parameter: hSession CK_SESSION_HANDLE
hObject CK_OBJECT_HANDLE
pulSize CK_ULONG_PTR
Description: The size of an object will be returned
Deviation: The returned size, is the minimum size of an object, which means it do not
contain the size for extra attributes like label, or id.
The size of private objects are default values.
C_GetSlotList
Parameter: tokenPresent (CK_BBOOL)
pSlotList (CK_SLOT_ID_PTR)
pulCount (CK_ULONG_PTR)
Description: Returns a list of identified Slots.
It might occur, that installed but not connected Slots will be in the list.
The number of Slots may be obtained by passing pSlotList a Null-Pointer.
If you want only the Slots with an inserted card, set tokenPresent to true.
C_GetTokenInfo
Parameter: slotID (CK_SLOT_ID)
pInfo (CK_TOKEN_INFO_PTR)
Description: Returns whether a card is inserted in a Slot. If the card is not inserted,
CKR_TOKEN_REMOVED will returned.
Special Feature: Inserting or removing a card from a Slot, is an Event (see
C_WaitForSlotEvent). If C_GetTokenInfo will be called, the Event will be
finished, even if the card was removed and C_GetTokenInfo
CKR_TOKEN_NOT_PRESENT has been returned.
C_Initialize
Parameter: CinitArg (CK_VOID_PTR_PTR)
50
Description: Libary will be initialized.
Slots will be created.
Inserted cards are read.
Deviation: CinitArg is expected in the format CK_C_INITIALIZE_ARGS. From these
the flags are picked out, in particular
CKF_LIBRARY_CANT_CREATE_OS_THREADS which decides over Multi
threading. The rest is ignored. If C_Initialize is called several times,
CKR_CRYPTOKI_ALREADY_INITIALIZED is returned. The number is
taken in account (see C_Finalize).
C_OpenSession
Parameter: slotID (CK_SLOT_ID)
flags (CK_FLAGS)
pApplication (CK_VOID_PTR)
Notify (CK_NOTIFY)
phSession (CK_SESSION_HANDLE_PTR)
Description: Opens a new session on the Slot.
Deviation: Notify and pApplication are ignored and should be set to NULL_PTR.
Sessions can only be opened, if a card is inserted.
Special Feature: If a session is opened and then the card will be removed, all sessions on
the Slot will return CKR_DEVICE_REMOVED. If there is an error with
CKR_ DEVICE_REMOVED, CKR_TOKEN_NOT_RECOGNIZED or
CKR_TOKEN_NOT_PRESENT a pauseAllSessions is automatically
produced on this Slot.
If a paused session is used again, this session will be reopened
automatically.
If a card is inserted into or removed from a Slot, then this is an Event (see
C_WaitForSlotEvent). If C_OpenSession is called, the Event will be
finished, even if the card has been removed and C_OpenSession returned
CKR_TOKEN_NOT_PRESENT.
C_WaitForSlotEvent
Parameter: flags (CK_FLAGS)
pSlot (CK_SLOT_ID_PTR)
pReserved (CK_VOID_PTR) = NULL_PTR
Description: flag = 0;
The method waits until a Slot reports an Event. Then it returns the Slot with
the Event in pSlot.
flag = CKF_DONT_BLOCK
The method displays the Slot with Event in pSlot. If there is no Event,
CKR_NO_EVENT will be returned.
Special Feature: If more Slots have an Event, they will be returned interchangeably.
An Event persists until an access to the card occurs (e.g. by
C_OpenSession or C_GetToken_Info), even if an error will be returned to
the card.
51
Objects
All objects will be stored on the card (CKA_TOKEN = true). Session- or other software-objects will
not be supported.
The ID (CKA_ID) indicates, which objects belong together.
CKO_CERTIFICATE (CKC_X_509)
Certificate in X.509 format
Attribute Value Access
CKA_CLASS CKO_CERTIFICATE Read only
CKA_LABEL <alias> Read/write
CKA_VALUE <certificate> X509Format (DER) read/write
CKA_ID <number> read/write
CKA_CERTIFICATE_TYPE CKC_X_509 read only
CKA_TOKEN TRUE read only
CKA_PRIVATE FALSE read only(**)
CKA_SUBJECT <alias> read only
CKA_ISSUER <alias> read only
CKA_SERIAL_NUMBER <number> read only
CKA_MODIFIABLE TRUE/FALSE read only(**)
(**) returns no error on trying to write.
CKO_PRIVATE_KEY (CKK_RSA)
Attribute Value Access
CKA_CLASS CKO_PRIVATE_KEY read only
CKA_LABEL <alias> read/write
CKA_ID <number> read/write
CKA_KEY_TYPE CKK_RSA read only
CKA_TOKEN TRUE read only
CKA_PRIVATE TRUE read only
CKA_SUBJECT <alias> read only(*)
CKA_SENSITIVE FALSE read only
CKA_DECRYPT TRUE read only(**)
CKA_SIGN TRUE read only(**)
CKA_SIGN_RECOVER FALSE read only(**)
CKA_UNWRAP FALSE read only(**)
CKA_MODULUS Pkcs12 Format read only
CKA_PUBLIC_EXPONENT Pkcs12 Format read only
52
CKA_PRIVATE_EXPONENT Pkcs12 Format not readable
CKA_PRIME_1 Pkcs12 Format not readable
CKA_PRIME_2 Pkcs12 Format not readable
CKA_EXPONENT_1 Pkcs12 Format not readable
CKA_EXPONENT_2 Pkcs12 Format not readable
CKA_COEFICIENT Pkcs12 Format not readable
CKA_MODIFIABLE TRUE read only(**)
CKA_LOCAL TRUE (**)(***)
CKA_START <empty> (***)
CKA_STOP <empty> (***)
8
CKA_EXTRACTABLE FALSE read only(**)
2
CKA_NEVER_EXTRACTABLE TRUE read only(**)
(*) can only be read, if a corresponding certificate exists
(**) returns no error on trying to write.
(***) is not supported
CKO_PUBLIC_KEY (CKK_RSA)
Attribute Value Access
CKA_CLASS CKO_PUBLIC_KEY read only
CKA_LABEL <alias> read/write
CKA_ID <number> read/write
CKA_KEY_TYPE CKK_RSA read only
CKA_TOKEN TRUE read only
CKA_PRIVATE FALSE read only
CKA_SUBJECT <alias> read only(*)
CKA_ENCRYPT TRUE read only(**)
CKA_VERIFY TRUE read only(**)
CKA_VERIFY_RECOVER TRUE read only(**)
CKA_WRAP FALSE read only(**)
CKA_MODULUS pkcs12 Format read only
CKA_PUBLIC_EXPONENT pkcs12 Format read only
CKA_MODIFIABLE FALSE read only(**)
CKA_LOCAL TRUE (**)(***)
CKA_START <empty> (***)
CKA_STOP <empty> (***)
(*) can only be read, if a corresponding certificate exists
(**) returns no error on trying to write
53
(***) is not supported
CKO_DATA
General Data
Attribute Value Access
CKA_CLASS CKO_DATA read only
CKA_LABEL <alias> read/write
CKA_VALUE <data> read/write
CKA_TOKEN TRUE read only
CKA_PRIVATE FALSE read only(**)
CKA_APPLICATION <alias> read/write
CKA_ MODIFIABLE TRUE read only(**)
(**) returns no error on trying to write.
Mechanism
Sign (RSA):
Description: Signs data
Order: C_SignInit, C_SignUpdate, C_SignFinal
or C_SignInit, C_Sign
C_Sign works as if C_SignUpdate and then C_SignFinal were called.
C_SignUpdate processes the data immediately.
Special Feature: Order C_SignInit, C_Sign(C_SignUpdate, C_SignFinal), C_Sign
(C_SignUpdate, C_SignFinal) where on the first C_Sign (resp. C_SignFinal)
NULL_PTR will be passed for the signature and only the length of the
signature will be returned. The signature will be returned on the second
C_Sign (resp. C_SignFinal). If C_SignUpdate is called for the second time, the
data must match with the data of the first time. A third call is not possible. For
another signature C_SignInit must be called first.
Verify (RSA):
Description: Verifies a signature. VerifyRecover returns only the data (normally as a hash-
value)
Order: C_VerifyInit, C_VerifyUpdate, C_VerifyFinal
or C_VerifyInit, C_Verify
or C_VerifyRecoverInit, C_VerifyRecover
C_Verify works as if _VerifyUpdate and then C_VerifyFinal were called.
C_VerifyUpdate stores data only temporarily.
C_VerifyRecover returns the signed data.
54
Special Feature: Order C_VerifyRecoverInit, C_VerifyRecover, C_VerifyRecover, where on the
first C_VerifyRecover a NULL_PTR will be passed as data. It returns only the
length of the data. The data will be returned on the second C_VerifyRecover. A
third call is not possible. For further verifications C_VerifyRecoverInit must be
called first.
55
Encrypt (RSA):
Description: Encrypts data.
Order: C_EncryptInit, C_EncryptUpdate, C_EncryptFinal
or C_EncryptInit, C_Encrypt
C_Encrypt works as if C_EncryptUpdate and then C_EncryptFinal were called.
Special Feature: C_EncryptUpdate stores the data temporarily. And you can pick up finished
data with C_EncryptUpdate. If you don’t do this, you receive with
C_EncryptFinal all data at one time. The data is however only once available!
Decrypt (RSA):
Description: Decrypts data.
Order: C_DecryptInit, C_DecryptUpdate, C_DecryptFinal
or C_DecryptInit, C_Decrypt
C_Decrypt works as if C_DecryptUpdate and then C_DecryptFinal were called.
Special Feature: C_DecryptUpdate stores the data temporarily. And you can pick up finished
data with C_DecryptUpdate. If you don’t do this, you receive with
C_DecryptFinal all data at one time. The data is however only once available!
56
Appendix B: Log Information
Logger (win):
Description: Log all CSP/PKCS11 function calls to a file. One entry contains the function
name, the parameter before and after the function call and the result of the
function. Private information are hidden by a static string “[---------------------------
----------------------]”, so only the length are readable.
Settings: The settings are written in the registry at HKEY_LOCAL_MACHINE,
Software\charismathics\smart security interface.
LogFile_mode can be 0 for off or 1 for on.
[HKEY_LOCAL_MACHINE\SOFTWARE\ charismathics\smart security
interface]
"CSP_LogFile_name"="c:/CSP_log.txt"
"PKCS11_LogFile_name"="c:/PKCS11_log.txt"
"LogFile_mode"=dword:00000001
57
Appendix C: Certificate Attributes (Key Usage)
The different uses of a key pair are shown by the example of a self signed certificate:
58