smartcard:etoken
This is an old revision of the document!
Nutzung eines SafeNet eToken PRO unter Linux
Installation von Paketen unter Debian/GNU Linux 9 (stretch)
# aptitude install opensc-pkcs11 libpkcs11 libengine-pkcs11-openssl \ libengine-pkcs11-openssl1.1 gnupg-pkcs11-scd
Initialisierung des Tokens
$ pkcs11-tool --module /usr/lib/libeToken.so --init-token --label <Etikett> Using slot 0 with a present token (0x0) Please enter the new SO PIN: Please enter the new SO PIN (again): Token successfully initialized
Setzen der Benutzer-PIN
$ pkcs11-tool -l --init-pin Using slot 0 with a present token (0x0) Logging in to "MB". Please enter SO PIN: Please enter the new PIN: Please enter the new PIN again: User PIN successfully initialized
Erzeugen eines Schlüssels
$ pkcs11-tool --module /usr/lib/libeToken.so \ -l -k --key-type RSA:1024 -d 1 -a "<Etikett>" Using slot 0 with a present token (0x0) Logging in to "MB". Please enter User PIN: Key pair generated: Private Key Object; RSA label: <Etikett> ID: 01 Usage: decrypt, sign, unwrap Public Key Object; RSA 1024 bits label: <Etikett> ID: 01 Usage: encrypt, verify, wrap
Zertifikatsanfrage erstellen, signieren und in das benötigte DER-Format konvertieren. Als Vorarbeit muss der Pfad zur Bibliothek der zur OpenSSL-Version passenden PKCS#11-Engine gefunden werden.
$ openssl version OpenSSL 1.1.0f 25 May 2017 $ find /usr/ -iname "*pkcs11.so" /usr/lib/x86_64-linux-gnu/openssl-1.0.2/engines/libpkcs11.so /usr/lib/x86_64-linux-gnu/openssl-1.0.2/engines/pkcs11.so /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so /usr/lib/x86_64-linux-gnu/pkcs11/onepin-opensc-pkcs11.so /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so /usr/lib/x86_64-linux-gnu/onepin-opensc-pkcs11.so /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so /usr/lib/x86_64-linux-gnu/engines-1.1/libpkcs11.so /usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libj2pkcs11.so /usr/lib/libeTPkcs11.so $ openssl OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so \ -pre ID:pkcs11 -pre LIST_ADD:<Schlüssel ID> -pre LOAD -pre MODULE_PATH:libeToken.so OpenSSL> req -engine pkcs11 -new -key 1 -keyform engine -x509 -out <Dateiname>.pem -text OpenSSL> x509 -in <Dateiname>.pem -out <Dateiname>.der -outform der
Schließlich können wir dieses Zertifikat in den eToken schreiben. Achtung: Korrekte ID (-d) und Label (-a) verwenden.
pkcs11-tool --module /usr/lib/libeToken.so -l -w <Dateiname>.der -y cert -d <Schlüssel ID> -a "<Etikett>"
Links
smartcard/etoken.1508511552.txt.gz · Last modified: 2017/10/20 14:59 by Martin
