30.3. Speichern eines Zertifikats auf einer Smartcard

Dieser Abschnitt beschreibt die Smartcard-Konfiguration mit dem Tool pkcs15-init, das Sie bei der Konfiguration unterstützt:

  • Löschen Ihrer Smartcard
  • Setzen neuer PINs und optionaler PIN-Unblocking Keys (PUKs)
  • Anlegen eines neuen Steckplatzes auf der Chipkarte
  • Speichern des Zertifikats, des privaten Schlüssels und des öffentlichen Schlüssels im Steckplatz
  • Sperren der Smartcard-Einstellungen (einige Smartcards erfordern diese Art der Finalisierung)

Voraussetzungen

  • Das Paket opensc, das das Tool pkcs15-init enthält, ist installiert.

    Details finden Sie unter Installieren von Tools zum Verwalten und Verwenden von Smartcards.

  • Die Karte wird in das Lesegerät eingelegt und mit dem Computer verbunden.
  • Sie haben den privaten Schlüssel, den öffentlichen Schlüssel und das Zertifikat auf der Smartcard zu speichern. In diesem Verfahren sind testuser.key, testuserpublic.key und testuser.crt die Namen, die für den privaten Schlüssel, den öffentlichen Schlüssel und das Zertifikat verwendet werden.
  • Ihre aktuelle Smartcard-Benutzer-PIN und Sicherheitsbeauftragten-PIN (SO-PIN)

Verfahren

  1. Löschen Sie Ihre Smartcard und authentifizieren Sie sich mit Ihrer PIN:

    $ pkcs15-init --erase-card --use-default-transport-keys
    Using reader with a card: Reader name
    PIN [Security Officer PIN] required.
    Please enter PIN [Security Officer PIN]:

    Die Karte ist gelöscht worden.

  2. Initialisieren Sie Ihre Smartcard, legen Sie Ihre Benutzer-PIN und PUK sowie die PIN und PUK Ihres Sicherheitsbeauftragten fest:

    $ pkcs15-init --create-pkcs15 --use-default-transport-keys \
        --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123
    Using reader with a card: Reader name

    Das Werkzeug pcks15-init erstellt einen neuen Steckplatz auf der Smartcard.

  3. Legen Sie die Beschriftung und die Authentifizierungs-ID für den Steckplatz fest:

    $ pkcs15-init --store-pin --label testuser \
        --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478
    Using reader with a card: Reader name

    Die Beschriftung wird auf einen menschenlesbaren Wert gesetzt, in diesem Fall auf testuser. Die auth-id muss aus zwei hexadezimalen Werten bestehen, in diesem Fall wird sie auf 01 gesetzt.

  4. Speichern und beschriften Sie den privaten Schlüssel in dem neuen Steckplatz auf der Smartcard:

    $ pkcs15-init --store-private-key testuser.key --label testuser_key \
        --auth-id 01 --id 01 --pin 963214
    Using reader with a card: Reader name
    Anmerkung

    Der Wert, den Sie für --id angeben, muss beim Speichern Ihres privaten Schlüssels und des Zertifikats gleich sein. Wenn Sie keinen Wert für --id angeben, wird vom Tool ein komplizierterer Wert berechnet und es ist daher einfacher, einen eigenen Wert zu definieren.

  5. Speichern und beschriften Sie das Zertifikat in dem neuen Steckplatz auf der Smartcard:

    $ pkcs15-init --store-certificate testuser.crt --label testuser_crt \
        --auth-id 01 --id 01 --format pem --pin 963214
    Using reader with a card: Reader name
  6. (Optional) Speichern und beschriften Sie den öffentlichen Schlüssel in dem neuen Steckplatz auf der Smartcard:

    $ pkcs15-init --store-public-key testuserpublic.key
        --label testuserpublic_key --auth-id 01 --id 01 --pin 963214
    Using reader with a card: Reader name
    Anmerkung

    Wenn der öffentliche Schlüssel einem privaten Schlüssel und/oder Zertifikat entspricht, sollten Sie die gleiche ID wie diesen privaten Schlüssel und/oder dieses Zertifikat angeben.

  7. (Optional) Bei einigen Smartcards müssen Sie die Karte abschließen, indem Sie die Einstellungen sperren:

    $ pkcs15-init -F

    In diesem Stadium enthält Ihre Smartcard das Zertifikat, den privaten Schlüssel und den öffentlichen Schlüssel in dem neu erstellten Steckplatz. Sie haben auch Ihre Benutzer-PIN und PUK sowie die PIN und PUK des Sicherheitsbeauftragten erstellt.