Contents
- Information Sources
- eToken hardware and software
- Supported Distributions
- Changes from 3.65 to 4.x
- Changes from 4.55 to 5.0
- Installation
-
eToken handling
- How can I change my eToken password (RTE 4.55)
- How can I get the Key ID?
- How can I use the Token with mozilla et. al.?
- What about 2048bit RSA keys?
- How can I use the eToken for login
- How can I roll out a certificate to the eToken?
- how do I initialize the eToken and what is the default User PIN?
- How to restart all the necessary services?
- Errors
- Windows
Information Sources
Where to buy an eToken?
http://www.lsexperts.de In fact the LSE is an offical Aladdin reseller.
Where can I get an eToken for testing?
Getting eTokens and an the middleware for testing at http://www.aladdin.de/produkte/usbtoken_esecurity/etoken_teststellung.html
What is the current version of the middleware?
The current version of the Linux middleware is 5.0.
What is OpenSC?
Learn more about OpenSC http://www.opensc-project.org/
You will have to decide if you are using the Aladdin middleware or OpenSC/OpenCT. They use different formats/containers to store the information on the eToken.
Nevertheless if using the Aladdin middleware you can still use many usefull tools from the OpenSC project like:
pkcs11-tool to read and write information from/to the eToken
pam_pkcs11 to authenticate to your machine (you will have to use libetpkcs11.so as pkcs11-module)
opensc-engine to use the eToken with openssl (you will have to use libetpkcs11.so as pkcs11-module)
Where can I get the Aladdin eToken middleware / eToken driver?
The Aladdin eToken Middleware is also a software that needs to be licensed.
If you already use your eTokens under Windows, you probably will have licensed the Windows drivers and got your windows drivers from your reseller. So your reseller should be the right guy to also ask for the eToken middleware for Linux. He will provide you the middleware on Aladdin's website https://lc.aladdin.com.
If - for some strange reason - you have purchased your eToken as hardware only, you need to license the drivers and - at least theoretically - pay the drivers.
If you need the drivers for your own personal use or testings drop us a note and tell us, what is your situation and what you plan to do. We can provide you with this software. <cornelius.koelbel AT lsexperts DOT de>
How can I reset my eToken?
If you are totally screwed up, you can still reset your eToken to the factory defaults. That is if
- you did not activate FIPS mode
- and you did not change the format password
Then you can use the new Aladdin Linux Middleware 4.55 to intialize the eToken. After this, the eToken will be in the same state like when it left the shop.
eToken hardware and software
What eTokens are available?
There are the eToken R2, which does not have a real smartcard inside, but an eeprom. The eToken R2 is not supported by Linux and maybe will never be.
Then there is the eTokenPRO, which we are talking about. This one has a real smartcard inside and is supported by the Linux driver. It comes in many different ways: the eTokenPRO USB 16k, 32k, or 64k. The tokens differ in the smartcard chip inside, the speed and the memory for storing the certificates. The eToken comes with CardOS 4.01, 4.20 or 4.2B.
The eTokenNG OTP has a real smartcard inside like the eTokenPRO and additionally an OTP generator. Using a new Aladdin driver you can also use this Token under Linux.
The eTokenNG Flash is also the same smartcard like in the eTokenPro but it also combines a flash memory on the same device with up to 2 GB of memory.
The eToken Pro (Java) is a new smartcard, not the infineon chip anymore - no CardOS. It is an Athena OS755 and supports 2048bit size.
All these eTokens are supported with the current middleware.
The eToken Pro Anywhere is based on the eToken Pro Java and contains a CD image with autorun functionality to use this eToken on Windows without the need to install drivers. The eToken Pro Anywhere is supported by PKI Client 5.0 starting with HW version 4.33.1.0.4.07.
What software is available?
So what is this middleware thing... and the driver, and the RTE or PKI Client? There is only one package for your eToken provided by Aladdin. This is the nowadays so called PKI Client. Once it was called middleware. And on Windows systems it was called RTE (Run Time Environment) and for a short while also called RTE on Linux. But today Aladdin likes to call it PKI Client.
Supported Distributions
PKI Client 3.65
officially
The officially supported distributions are at the moment with the current driver
Fedora Core 4
RHEL 4
SuSE Linux 9.3.
unofficially
Gentoo: It was also reported, that the eToken driver was running under Gentoo.
Debian Sarge 3.1 and Etch 4.0: If you are using the RHEL4-drivers, you can also use the eToken under Debian 3.1. There is a HowTos/eToken_on_debian.
Fedora Core 5: Runs with install script by LSE -> HowTos/eToken_and_uDev.
Fedora Core 6: The eToken (Aladdin's pkcs11 lib) runs fine with the Firefox on Fedora Core 6 test 2. -> HowTos/FC6.
Ubuntu 5.10: Make a link to satisfy the dependencies of pcsc-lite. etokend will expect pcsc-lite 1.2.0, althoug you will have 1.2.9. Using 1.2.9 and using the link will only work for Firefox and Thunderbird. If you want to use pam_pkcs11, you need to roll back to 1.2.0. Anyway, if you want to use eTokenPro 64K you need to compile pcscd anew.
Ubuntu 6.06 LTS: Successfully tested with the pkcs11-Interface of firefox. You have to apply the same changes like for Fedora Core 5.
Ubuntu 7.04 and Ubuntu 7.10: You have to apply the same changes (udev) like for Fedora Core 5.
SUSE LINUX 10.1: Runs with install script by LSE-> HowTos/eToken_and_uDev.
PKIClient 4.55
officially
There are two install packages available:
- pkiclient-full_4.55-24_i386.deb
Debian
Ubuntu
Kubuntu
- pkiclient-full-4.55-19.i386.rpm
RHEL WS 4 and 5
SuSE Linux 10.2 and 10.3
Fedora 6 and 7
unofficially
These distribution were kindly reported by users to work. But note that there is no official support for these distributions by Aladdin.
Gentoo Linux, Kernel 2.6.21, pcsclite 1.4.2, pki client 4.55-34, make aks-bundle visible for pcsc-lite by copying eToken/drivers/aks-ifdh.bundle to /usr/lib/readers/usb. Thanks to Maciek Pietka
Ubuntu 8.10 comes with pcscd 1.4.102. The pki client does not work with this pcscd version. Downgrade to 1.4.99 taken from ubuntu 8.04. (Quick and dirty just copy the binary pcscd)
positive feedback for MacOSX 10.5.6 for signing emails with Thunderbird and using with openssh with Alon Bar-Lev's pkcs11 patch.
If you manage to run the eToken with the Aladdin eToken driver on any other platform, please drop us a note.
PKI Client 5.0
officially
There are three packages available:
- eToken_PKI_5.0_Ubuntu.zip
- eToken_PKI_Client_5.0_RPM_32.zip
- eToken_PKI_Client_5.0_RPM_64.zip
These packages support offically the following distributions:
- Red Hat Enterprise 5.2 (32-bit and 64-bit)
- CentOS 5.2 (32-bit and 64-bit)
- SUSE Linux Enterprise 10.3 (32-bit)
- Fedora 9 (32-bit)
- Ubuntu 8.04 (32-bit)
Ubutnu 8.04 (32-bit) and Ubuntu 9.04 (32-bit) with new 5.0 SP1 (Build 59)
unoffically
As you manage to run this PKI Client on other distributions, just drop us a note!
We got two hints to make the PKI Client 5.0 run on Ubuntu 9.04.
hint 1 - Thanks to Sven Anders.
- Just install the PKI Client 5.0
- remove the nss_tools from /etc/ld.so.conf.d/wwwwetoken-ld.conf (you may also remove /usr/lib/eToken/)
- Firefox will now run and be able to use the eToken.
- OpenVPN is reported to work with eToken.
- pkcs11-tool will be able to use the libeTPkcs11.so.
- Only etProps will crash with an segmentation fault.
hint 2: - Thanks to Vitaly Puzrin
- Install PKI Client 4.55
- Use older pcscd, for example 1.4.99.
Fedora 9 64bit (thanks to Jan Just Keijser):
install pcsc-lite 64bit (version 1.4.100) from FC10 (the 64bit RPM package also installs all 32bit libraries and also requires all 32bit dependencies libusb, hal-libs, pcsc-lite-libs, pcsc-lite)
- PKIMonitor works, 'openssl -req' works, 'pkcs11-tool -L' works, generating 2048bit Keys with openssl works
The PKI Client 32bit runs on Fedora 10. Install pcsc-lite and install pkiclient.
Fedora 11 (pre-release), 64 bit: It is reported, that the 64bit version runs on FC11. Thanks to Joao Pedro, who reported this.
- Install the following packages: hal-libs.i586, libusb.i586, pcsc-lite-libs.i586, freetype.i586, libXinerama.i586, zlib.i586, glib2.i586, glibc.i686, libXcursor.i586, libXfixes.i586, libXrandr.i586, libXi.i586 libICE.i586, libSM.i586, fontconfig.i586 and libpng.i586.
- The displaying of the GUI of eT Properties may be disordered.
- Initialization, Certificate Loading, logging in via SSH is reported to work.
- Ubuntu 9.10 (out of the box with SP1)
Ubuntu 10.04 (works for me
Ubuntu 10.10RC with OpenVPN is reported by Daniel Salcher from www.openvpn.eu.
Gentoo. 64 bit are working. 32bit do not work! Thanks to Bartosz Biegun, who provide a patch and ebuild.
Tokens
The following tokens are recognized by PKI Client 5.0:
USB ID |
Token |
Working |
0529:050c |
16K CardOS 4.0 |
yes |
0529:0514 |
32K CardOS M4.01 |
yes |
0529:0600 |
Card0S 4.2b |
yes |
0529:0600 |
NG Flash, CardOS 4.2!! Same as 4.2b :( |
yes |
0529:0600 |
eToken Pro JC 72K, Applet ?? |
no |
0529:0620 |
NG Flash, JC, JC 72K, Hardware Rev. 5.1, Applet 1.0.37, |
yes |
0529:0700 |
NG OTP, CardOS 4.2 |
yes |
0529:3000 |
USB ID of the Flash device of the eToken NG Flash |
-- |
0529:3003 |
USB ID of eToken Anywhere. Seems to be the CD Image. |
partially only starting with hw version 4.33.1.0.4.0.7 - my versions 4.33.1.0.4.0.4 do not work. |
SafeNet Authentication Client 8.0
officially
Officially the SafeNet Authentication Client 8.0 supports
- Red Hat Enterprise 5.4 (32 bit and 64-bit)
- CentOS 5.4 (32 bit and 64 bit)
- SUSE Linux Enterprise 11 (32 bit)
- Fedora 12 (32 bit)
- Ubuntu 10.04 (32 bit and 64 bit)
unofficially
- Ubuntu 10.10 (32bit and 64bit)
Changes from 3.65 to 4.x
There are some changes from 3.65 to 4.55 that need to be noted!
pkcs11 library
The name of the pkcs11 library changed. In 3.65 it was /usr/local/lib/libetpkcs11.so, in 4.55 it is /usr/lib/libeTPkcs11.so. Please note: in some documentations and howtos the libetpkcs11.so is referenced. Please change this according to libeTPkcs11.so, if you are using RTE 4.55.
eToken Password
The way the password is transferred to the eToken was optimized with RTE 4.x. This has the effect, that, if you initialize an eToken with RTE 4.55 you will not be able to use the eToken with RTE 3.65 - unless you choose the checkbox "initialize in 3.65 compatibility mode" when initializing the eToken.
Integration
In 4.55 there is no etokend anymore and you do not need have any udev script.
New Features
The RTE 4.55 now supports the eToken Pro Java card, FIPS and eToken Virtual.
==PKI Client 5.0==
Changes from 4.55 to 5.0
New Features
Theres is an official list of Aladdin, but I try to boil them down to the interesting stuff:
- Support for administrator and non-administrator privilege levels for actions performed in the eToken PKI Client user interface.
- Support for the Clear function in addition to the Initialize option.
- A logon retry counter is displayed in the eToken logon window on logon failure
- Enhanced password complexity support - manual password complexity settings and character repeat count
- Support for 64 bit
- Support for Java Cards
- Support for eToken Virtual
AND: Loading of HMAC-module during eToken initialization is possible.
Issues
Obviously the post-install script performs a find on the file system, to find its files or directories. Take care, if you mounted to many network shares, installing the PKI client might take some minutes
Installation
eToken will not work after reboot
In some cases the eToken will not work after rebooting your system. This can be due to the fact, that your pcscd is not running. The installation of pki-client does not configure the pcscd to start automatically.
pcsc-lite: PCSCLITE_ENHANCED_MESSAGING
In version 1.2.0 of pcsc-lite you have to define the PCSCLITE_ENHANCED_MESSAGING to use 2048 bit RSA keys. This has changed in version 1.3.0. To turn on 2048 bit support you have to use the configure option --enable-extendedapdu.
Cannot compile pcsc-lite 1.2.0
If you get this kind of error message:
./.libs/libpcsclite-core.a(libpcsclite_core_la-configfile.o): In function `yylex':/root/pcsc-lite-1.2.0/src/configfile.c:828: undefined reference to `yywrap'
Your installation is missing the package flex. Install it and start over
make clean && ./configure && make
Is it possible to use the Aladdin PKSC11 library without OpenSC and pcsc lite?
When using the Aladdin middleware you always need the pcscd. The Aladdin middleware does not only provide the pkcs11 lib but also a ifd handler, which links into the pcscd. When using Aladdin middleware you do not need OpenSC at all. But you can gracefully use OpenSC parts for additional functionalities like: - pam_pkcs11 for login - pkcs11_engine for openssl
Should I install pcsc lite that come with my distribution or from source?
You can install pcscd from your distibution's repositories.
eToken handling
How can I change my eToken password (RTE 4.55)
Either you use the cute GUI or - if you are on a server without X you do this
# pkcs11-tool --module /usr/lib/libeTPkcs11.so --slot 0 --change-pin --login Please enter the current PIN: Please enter the new PIN: Please enter the new PIN again: PIN successfully changed
How can I get the Key ID?
with RTE 3.65
When using e.g. openssl you need to know the Key ID of your private Key to address it. You can use the Aladdin tool etckdump to find the corresponding key id.
etckdump --slot=0 -v1 --pin=XXX
Will show you all the objects on the token. Now search for the CKA_ID of the Object Private Key.
It could look like this
CKA_ID size:1, 45
or this
CKA_ID size:38, 39 45 39 45 37 33 35 31 9E9E7351
2d 33 35 45 44 2d 34 30 -35ED-40
--snip--
with RTE 4.55
There is no etckdump with RTE 4.55 anymore. But you can use pkcs11-tool like this:
pkcs11-tool --module /usr/lib/libeTPkcs11.so --slot 0 -O --login
In the ouput search for a private key object and its ID.
Private Key Object; RSA label: eTCAPI private key ID: 39453945373335312d333545442d343031612d384637302d3238463636393036363042303a35 Usage: decrypt, sign, unwrap
How can I use the Token with mozilla et. al.?
With the middleware 3.65 you have to add the file /usr/local/lib/libetpkcs11.so as a new crpyto module to your firefox or thunderbird. If you are using middleware 4.55 you need to add /usr/lib/libeTPkcs11.so.
What about 2048bit RSA keys?
CardOS 4.01 only supports 1024 bit.
CardOS 4.20 supports 1024 bit and supports 2048bit RSA keys, when you initialized the eToken with the 2048Bit-Module. This can be done using the Windows program eToken Properties. There you have to initialize the Token with this addional paramter for the 2048bit Support.
After having initialized the eToken under Windows for this purpose you can use all the 2048 bit keys with the eToken under Linux.
CardOS 4.2B supports 2048bit RSA keys right aways without having to initialize or install anything.
JavaCard eTokens support 2048bit RSA keys.
How can I use the eToken for login
Try pam_pkcs11, which is needed to Login via eToken http://www.opensc-project.org/pam_pkcs11/ Then continue reading our Howto HowTos/eToken_on_Linux
How can I roll out a certificate to the eToken?
openca can be used, to rollout your certificates to the eToken http://www.openca.org
with the pkcs11 engine from the OpenSC project you can now also use openssl at the command line to roll out the eToken. Take a look at HowTos/eToken and PKI
how do I initialize the eToken and what is the default User PIN?
The eToken is initialzed with the Aladdin tool etckinit The default user pin will be "1111". Please note, that the default user PIN under windows is 1234567890
Using the GUI with pki client 4.55 you can set your preferred default PIN when initializing the eToken.
How to restart all the necessary services?
RTE 3.65
If due to excessive playing everything is screwed up, you can restart all the necessary services
- etokend
- pcscd
- etsrvd
/etc/init.d/etsrvd stop /etc/init.d/pcscd stop /etc/init.d/etokend restart /etc/init.d/pcscd start /etc/init.d/etsrvd start
PKI Client 4.55
There is the start script/etc/init.d/eTCacheMarker which could be restarted. And there is the tray icon thePKIMonitor.
PKI Client 5.0
There is the start script/etc/init.d/eTSrv which could be restarted. And there is the tray icon thePKIMonitor.
Errors
All token stuff is scrambled (3.65)
If you get such an output:
[root@computer ~]# etckdump --slot=0 Dumping token "`^|mù¸ù´Õ]ô" in slot #0 Free public memory = 134552844 Free private memory = 1293053 Skipping C_Login (use etckdump --pin | --pinhex | -h) Found 0 Objects etckdump complete
It will be likely that you got some problems with your pcscd. Check if pcscd is running and if your /etc/readers.conf is setup correctly. When everything is fine, you will get such an output:
[root@computer ~]# etckdump --slot=0 Dumping token "koelbel " in slot #0 Free public memory = 34384 Free private memory = 34384 Skipping C_Login (use etckdump --pin | --pinhex | -h) Found 7 Objects etckdump complete
Note: Sometimes also a reboot would work to bring the daemons into the right order.
The eToken will work only once (3.65)
If your eToken will work only once after you have started the etokend, then you got some problems with your hotplug. The middleware 3.60 is using hotplug and the socket /tmp/.etokend.
If you got a distribution running udev, please take a look at HowTos/eToken_and_uDev.
failed rv=00000012-CKR_ATTRIBUTE_TYPE_INVALID
The CKA_OBJECT_ID, which is 0x00000012, is defined starting with version 2.10 of the PKCS11 Spec. The libetpkcs11 does not know about it.
symbol lookup error: /usr/lib/libQtSql.so.4 (4.55)
With RTE 4.55 you might get errors like
symbol lookup error: /usr/lib/libQtSql.so.4: undefined symbol: _ZN14QObjectPrivate15checkWindowRoleEv
If you take a look at /usr/lib/eToken you will see, that the pki client package brings some own Qt libraries. These might collide with the libs of your system. You might manage to solved it this way:
remove the file /etc/ld.so.conf.d/etoken-ld.conf or uncomment the lib path in it
do an ldconfig
- you might need to restart the eToken pki client apps.
- (tested on ubuntu 8.04 and pki client 4.55)
Windows
How do I logon with the eToken to microsoft windows
Sorry for this questions. Some guys have a windows client left. ...why? Can't tell
Logging into windows using the eToken (Smartcard) and a certificate stored on it, is a bit different. By default MS Windows only allows logging in with a certificate/smartcard when the computer is a member of a domain. You need a CA to issue a windows logon certificate to your eToken. The CA also needs to issue a domain controller certificate to your domain controller. Otherwise you will not be able to logon, as the domain controller needs to be addresses via LDAPS. If these things are fullfilled you can easily logon with the eToken to windows XP or Vista without having to install anything but the Aladdin RTE.
