Dies ist eine alte Version des Dokuments!
Nitrokey Start in der Praxis unter open SUSE leap 15.2
In diesem Kapitel befassen wir uns eingehend mit dem Nitrokey Start (Daten-/Infoblatt) unter openSUSE Leap 15.2. Weitere Informationen zu den Nitrokey-Sticks findet man auch hier bzw. im Support Forum.
Mit Hilfe von asymmetrischen Schlüsselmaterials (PGP und S/MIME) können eMails sowie Dateien und ganze Festplatten verschlüsselt und natürlich auch wieder entschlüsselt werden. Hierzu verwenden wir den Nitrokey Start welcher hier für einen überschaubaren Betrag von gerade mal 29€ erstanden werden kann. In dem folgenden Beitrag gehen wir auf die Verwendung unter openSUSE Leap 15.2 ein.
Hardwareinformationen
Informationen über den Stick können wir mit Hilfe des Befehls usb-devices
aus dem RPM-Paket usbutils dem System abverlangen.
# usb-devices
T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 16 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=20a0 ProdID=4211 Rev=02.00 S: Manufacturer=Nitrokey S: Product=Nitrokey Start S: SerialNumber=FSIJ-1.2.10-14081967 C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=0b(scard) Sub=00 Prot=00 Driver=(none)
Mit dem Befehl lshw
können wir uns ebenso anzeigen lassen, ob der Stick angesteckt und erlkannt wird. Da der USB-Stick unter die Klasse generic
fällt suchen wir gezielt nach diesen Geräte-Typus.
# lshw -short -C generic
H/W path Device Class Description ================================================================ /0/100/b generic Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller /0/100/14/0/3/2 generic Nitrokey Start /0/100/1a generic Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine
Mit Hilfe des Befehls lsusb
aus dem RPM-Paket usbutils können wir auch die Produkt- und Hersteller-Identifikationsnummer des Nitrokey-Sticks ermitteln.
# lsusb Bus 001 Device 016: ID 20a0:4211 Clay Logic
Im Syslog wird uns beim Anstecken des Sticks dies entsprechend protokolliert:
2020-08-04T19:04:25.081522+02:00 localhost kernel: [35273.158119] usb 1-3.2: new full-speed USB device number 17 using xhci_hcd 2020-08-04T19:04:25.285566+02:00 localhost kernel: [35273.363947] usb 1-3.2: New USB device found, idVendor=20a0, idProduct=4211, bcdDevice= 2.00 2020-08-04T19:04:25.285603+02:00 localhost kernel: [35273.363954] usb 1-3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 2020-08-04T19:04:25.285608+02:00 localhost kernel: [35273.363957] usb 1-3.2: Product: Nitrokey Start 2020-08-04T19:04:25.285610+02:00 localhost kernel: [35273.363959] usb 1-3.2: Manufacturer: Nitrokey 2020-08-04T19:04:25.285612+02:00 localhost kernel: [35273.363963] usb 1-3.2: SerialNumber: FSIJ-1.2.10-140181967 2020-08-04T19:04:25.304993+02:00 localhost mtp-probe: checking bus 1, device 17: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2" 2020-08-04T19:04:25.330612+02:00 localhost mtp-probe: bus: 1, device: 17 was not an MTP device 2020-08-04T19:04:25.383546+02:00 localhost systemd[1]: Reached target Smart Card.
udev-Regeln
Für den Betrieb unter openSUSE Leap 15.2 müssen wir uns noch passende udev-Definitionen hier besorgen.
Wir wechseln also erst einmal in das entsprechende Konfigurationsverzeichnis /etc/udev/rules.d/
.
# cd /etc/udev/rules.d/
Dann holen wir uns die entsprechende Musterdatei auf unseren Rechner.
# wget https://www.nitrokey.com/sites/default/files/41-nitrokey.rules
Damit unser System die neue udev-Regel auch erkennt und anwendet, lassen wir diese nun erneut einlesen; hierzu verwenden wir folgenden Befehl:
# udevadm control --reload-rules
Sobald wir nun unseren Nitrokey Start in einen USB-Port stecken können wir den Status der Karte z.B. mit der Option –card-status
beim Befehl gpg2
abfragen.
$ gpg2 --card-status
Reader ...........: Nitrokey Nitrokey Start (FSIJ-1.2.10-14081967) 00 00 Application ID ...: D276000124010200FFFE140819670000 Version ..........: 2.0 Manufacturer .....: unmanaged S/N range Serial number ....: 43243711 Name of cardholder: [not set] Language prefs ...: [not set] Sex ..............: unspecified URL of public key : [not set] Login data .......: [not set] Signature PIN ....: forced Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 3 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none]
Paketabhängigkeiten
Für den Zugriff auf die SmartCard bzw. auf den Nitrokey Start benötigen wir z.B. für GPG den SmartCard-Daemon scdeamon welcher bei openSUSE leap 15.x mit Hilfe es Pakets gpg2 bereitgestellt wird.
In der Regel wurde das Paket bei der Erstinstallation bereits mitinstalliert. Sollte es noch fehlen können wir mit Hilfe vomn zypper
das dieses Paket einfach nach installieren.
# zypper install gpg2
$ gpg2 --version
gpg (GnuPG) 2.2.5 libgcrypt 1.8.2 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Home: /home/django/.gnupg Supported algorithms: Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256 Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224 Compression: Uncompressed, ZIP, ZLIB, BZIP2
Anwendungsfälle - Software
Nitrokey Start und GnuPG
Da es sich bei der Chipkarte des Nitrokey Start um eine standardkompatible OpenPGP-Karte handelt, kann der Kryptostick mit Hilfe von GnuPG verwaltet werden.
Alle Sicherheitsfunktionen wie z.B. das Erzeugen/Speichern von PGP-Schlüsseln, das Verschlüsseln/Entschlüsseln einer Datei, das Signieren einer Nachricht, die auf der Hardware ausgeführt werden, können mit Hilfe des Befehls gpg bzw. gpg2 gesteuert werden.
card-status
Mit der Option card-status können wir uns mit dem Befehl gpg --card-status
den Kartenstatus ausgeben lassen.
$ gpg2 --card-status
Reader ...........: Nitrokey Nitrokey Start (FSIJ-1.2.10-43243711) 00 00 Application ID ...: D276000124010200FFFE140819670000 Version ..........: 2.0 Manufacturer .....: unmanaged S/N range Serial number ....: 14081967 Name of cardholder: [not set] Language prefs ...: [not set] Sex ..............: unspecified URL of public key : [not set] Login data .......: [not set] Signature PIN ....: forced Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 3 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none]
Die einzelnen Datenfelder haben hierbei folgende Bedeutung:
Datenfeld | Beschreibung |
---|---|
Application ID | Individuelle (unique) KartenID, diese beinhaltet: ° den Kartentyp ° die Version der Spezifikation ° den Hersteller und ° die Seriennummer des Cryptosticks Diese Application ID ist einmalig und bei jeder Karte anders. |
Version | verwendete OpenPGP Version |
Manufacturer | Hersteller der Karte |
Serial number | Seriennummer der Karte, die vom Hersteller vergeben wurde. |
Name of cardholder | Vorname und Nachname des Karteninhabers ( Es sind hier derzeit nur reines ASCII erlaubt, also keine deutschen Umlaute). Dieses Feld wird von GPG nicht verwendet. |
Language prefs | Gewählte/bevorzugte Sprache (Muttersprache) des Karteninhabers. Dieses Feld wird von GPG nicht verwendet. |
Sex | Geschlecht des Karteninhabers.: (Männlich (M), Weiblich (F) oder Leerzeichen) |
URL of public key | Angabe einer URL, mit der der public-key mit Hilfe des Befehls fetch unter gpg --edit-card auf die Karte geladen werden kann. |
Login data | Bei diesem Feld kann der Account-Name des Karteninhabers abgelegt werden, der bei Anmeldeversuchen genutzt werden kann. GPG führt hier keinerlei Abgleiche zwischen diesem Namen und dem Namen der in einem Schlüssel angegeben und verwendet wird durch! |
Signature PIN | Hier kann über die beiden Schalter zwingend und nicht zwingend eingestellt werden, ob bei jedem Signatur-Vorgang die PIN abgefragt werden soll, oder nicht. Bei der Option nicht zwingend kann GPG die PIN zwischenspeichern, solange der Nitrokey-Stick angesteckt bleibt. |
Key attributes | Angaben über Art und Umfang der hinterlegten Schlüssel |
Max. PIN lengths | Maximale Länge der einzelnen PINs, kann nicht verändert werden! |
PIN retry counter | Zähler für die verbleibenden Versuche zur Eingabe der richtigen PIN. Der max. Zählwert von 3 wird bei jeder Falscheingabe um eins herunter gesetzt. Sobald die richtige Admin-PIN eingegeben wurde, wir der max. Wert von 3 wieder zurück gesetzt. Die beiden ersten Werte (von links gesehen) werden für die User-PIN verwendet. GPG stellt hierbei sicher, dass beide werde synchronisiert werden. Der zweite (mittlere) Wert wird lediglich für Besonderheiten aus dem ISO-Standard 7816 (https://de.wikipedia.org/wiki/ISO_7816) verwendet. Der dritte (rechte) Wert wird als Fehlversuchszähler für die Admin_PIN verwendet. |
Signature counter | Zähler der generierten Signaturen bzw. Signaturvorgänge mit der Karte. Der Zähler kann nicht manipuliert werden und wird lediglich zurückgesetzt, sobald ein neuer Signatur-Schlüssel erzeugt oder auf die Karte geladen wird. |
Signature key | Signatur-Schlüssel (primärer OpenPGP-Schlüssel) |
created | Datum und Uhrzeit an dem der Schlüssel erzeugt wurde |
Encryption key | Entschlüsselungs-Schlüssel (Unterschlüssel des primären (Signatur-)Schlüssels. |
created | Datum und Uhrzeit an dem der Schlüssel erzeugt wurde |
Authentication key | Authentifizierung-Schlüssel (Unterschlüssel des primären (Signatur-)Schlüssels. |
created | Datum und Uhrzeit an dem der Schlüssel erzeugt wurde |
General key info | Diese primäre User ID wird angezeigt, sobald ein entsprechender öffentlicher Schlüssel (public-key) verfügbar ist. |
card-edit
Mit Hilfe des Befehls gpg --card-edit
haben wir entsprechend umfangreiche Zugriffs-, Erstellungs- und Änderungsoptionen auf die Daten und das Schlüsselmaterial, welches auf der Smartcard gespeichert wurden und werden. Viele hilfreiche Informationen zum Umgang mit den Befehlen die uns das Programm gpg bietet, findet man in der zugehörigen Dokumentation auf der Projektseite von https://www.gnupg.org/.
$ gpg --card-edit
Reader ...........: Nitrokey Nitrokey Start (FSIJ-1.2.10-14081967) 00 00 Application ID ...: D276000124010200FFFE140819670000 Version ..........: 2.0 Manufacturer .....: unmanaged S/N range Serial number ....: 14081967 Name of cardholder: [not set] Language prefs ...: [not set] Sex ..............: unspecified URL of public key : [not set] Login data .......: [not set] Signature PIN ....: forced Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 3 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none] gpg/card>
User-Befehle
Mit Hilfe des Befehls help können wir uns anzeigen lassen, welche Optionen im jeweiligen Modus Benutzer oder Admin zur Verfügung stehen.
gpg/card> help
quit quit this menu admin show admin commands help show this help list list all available data fetch fetch the key specified in the card URL passwd menu to change or unblock the PIN verify verify the PIN and list all data unblock unblock the PIN using a Reset Code
Admin-Befehle
Mit dem Befehl admin können wir in den Admin-Modus/-Bereich wechseln und auch dort alle Befehle mit Hilfe von help anzeigen lassen.
gpg/card> admin
Admin commands are allowed
gpg/card> help
quit quit this menu admin show admin commands help show this help list list all available data name change card holder's name url change URL to retrieve key fetch fetch the key specified in the card URL login change the login name lang change the language preferences sex change card holder's sex cafpr change a CA fingerprint forcesig toggle the signature force PIN flag generate generate new keys passwd menu to change or unblock the PIN verify verify the PIN and list all data unblock unblock the PIN using a Reset Code factory-reset destroy all keys and data
RSA-Schlüssel generieren
Wir wollen uns nun einen neuen PGP-Schlüssel in der SmartCard erzeugen und rufen hierzu den Befehl generate auf. Der Nitrokey Start unterstützt RSA-Schlüssellängen von 1024 und maximal von 2048!
Mit Hinblick auf die möglichen Unsicherheiten im Bezug auf die RSA-Schlüssellänge werden wir uns später noch eingehend mit der Erstellung eines ED25519 beschäftigen!
Erst einmal befassen wir uns mit der Erzeugung eines RSA-Schlüsselpaaares. Wir werden dabei nun menügeführt durch eine Reihe von Standardfragen geführt, welche alle relevante Daten abfragen, die zur Generierung des Hauptschlüssels wie auch der Unterschlüssel die für die Aufgaben Signatur, Verschlüsselung und Authentifizierung benötigt werden. Hilfreiche Informationen zur Schlüsselerzeugung auf dem Kryptostick findet man in der offiziellen Doku auf der Nitrokey Webseite.
$ gpg --card-edit
gpg/card> admin
Admin commands are allowed
gpg/card> generate
Admin commands are allowed gpg/card> generate Make off-card backup of encryption key? (Y/n) n Please note that the factory settings of the PINs are PIN = '123456' Admin PIN = '12345678' You should change them using the command --change-pin Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) Key does not expire at all Is this correct? (y/N) y GnuPG needs to construct a user ID to identify your key. Real name: Django aka [BOfH] Email address: secmail@mailserver.guru Comment: Bastard Operator from Hell You selected this USER-ID: "Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
Nun wird auf der Karte der gewählte Schlüssel erzeugt.
Die Erzeugung eines Schlüssels mit einer Länge von 2048 dauert ca. 5 Minuten, also keinesfalls den Nitrokey Start abziehen oder die Generierung abbrechen! Während der Erzeugung der Schlüssel leuchtet die rote LED im Stick.
gpg: key 2E22436430385B49 marked as ultimately trusted gpg: revocation certificate stored as '/home/django/.gnupg/openpgp-revocs.d/E65B2BDF79A2E2E4C28F6E062E22436430385B49.rev' public and secret key created and signed. gpg/card> quit pub rsa2048 2020-08-04 [SC] E65B2BDF79A2E2E4C28F6E062E22436430385B49 uid Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> sub rsa2048 2020-08-04 [A] sub rsa2048 2020-08-04 [E]
ED25519-Schlüssel generieren
In dem Artikel Nitrokey Start unterstützt elliptische Kurven (ECC) wird sehr ausführlich das Zusammenspiel des Nitrokey Start und ECC beschrieben.
Damit auf einem Nitrokey Start Schlüssel auf Basis elliptischer Kurven generiert werden können, muss dieser mindestens die Firmware Version 1.2 verfügen. Dies kontrolliert man am einfachsten mi Folgendem Befehl.
$ gpg2 --card-status | grep Reader
Reader ...........: Nitrokey Nitrokey Start (FSIJ-1.2.10-14081967) 00 00
Ferner muss auf dem Rechner, an dem der Stick angesteckt und administriert werden soll, GnuPG in Version 2.1.16 oder höher installiert sein. Bei open SUSE leap 15.2 ist dies kein Problem da aktuell1) die Version 2.2.5 bereitgestellt wird. Bei Bedarf können wir die Version z.B. wie folgt abfragen.
$ gpg2 --version | grep gpg
gpg (GnuPG) 2.2.5
Nun werden wir uns Schlüsselpaar auf Basis elliptischer Kurven auf dem Nitrokey Start generieren. Bevor wir die eigentlichen ED25519-Schlüssel generieren können, müssen wir unseren Stick erst einmal von den vorbelegten RSA-Schlüssel auf ECC-Schlüssel umstellen.
Welcher Typ eingestellt ist können wir mit den Befehl gpg2 –card-status
erfragen; die definierten Werte finden wir dann beim Punkt Key attributes.
$ gpg2 --card-status | grep Key\ attributes
Key attributes ...: rsa2048 rsa2048 rsa2048
Zum Ändern der Vorgabewerte benutzen wir die Option --card-edit
beim Befehl gpg2
.
$ gpg2 --card-edit
Reader ...........: Nitrokey Nitrokey Start (FSIJ-1.2.10-14081967) 00 00 Application ID ...: D276000124010200FFFE140819670000 Version ..........: 2.0 Manufacturer .....: unmanaged S/N range Serial number ....: 14081967 Name of cardholder: [not set] Language prefs ...: [not set] Sex ..............: unspecified URL of public key : [not set] Login data .......: [not set] Signature PIN ....: forced Key attributes ...: rsa2048 rsa2048 rsa2048 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 3 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none] gpg/card>
Im Admin-Bereich finden wir den Befehl key-attr
mit Hilfe dessen wir die Definition des Schlüsseltyps definieren können. Wir wechseln also erst einmal in den Admin Bereich.
gpg/card> admin
Admin commands are allowed
Hier rufen wir dann den Befehl key-attr
auf.
gpg/card> key-attr
Im folgenden ändern wir dann für die drei (Unterschlüssel) die Schlüsselart von ECC und bei der Frage nach der elliptischer Kurve wählen wir dann die Option Curve 25519.
Changing card key attribute for: Signature key Please select what kind of key you want: (1) RSA (2) ECC Your selection? 2 Please select which elliptic curve you want: (1) Curve 25519 (4) NIST P-384 Your selection? 1 The card will now be re-configured to generate a key of type: ed25519 Note: There is no guarantee that the card supports the requested size. If the key generation does not succeed, please check the documentation of your card to see what sizes are allowed. Changing card key attribute for: Encryption key Please select what kind of key you want: (1) RSA (2) ECC Your selection? 2 Please select which elliptic curve you want: (1) Curve 25519 (4) NIST P-384 Your selection? 1 The card will now be re-configured to generate a key of type: cv25519 Changing card key attribute for: Authentication key Please select what kind of key you want: (1) RSA (2) ECC Your selection? 2 Please select which elliptic curve you want: (1) Curve 25519 (4) NIST P-384 Your selection? 1 The card will now be re-configured to generate a key of type: ed25519 gpg/card>
Zum Schluss verlassen wir das Programm gpg2 mit quit
.
gpg/card> quit
Fragen wir nun erneut mit den Befehl gpg2 –card-status
welcher Schlüssel-Typ eingestellt ist, finden wir unsere geänderten Werte.
$ gpg2 --card-status | grep Key\ attributes
Key attributes ...: ed25519 cv25519 ed25519
Nun erstellen wir uns unsere gewünschten Schlüssel auf der SmartCard der Nitrokey Start. Wie schon beim Gernerieren der RSA-Schlüssel werden wir dabei menügeführt durch eine Reihe von Standardfragen gelost, welche alle relevante Daten abfragen, die zur Generierung des Hauptschlüssels wie auch der Unterschlüssel die für die Aufgaben Signatur, Verschlüsselung und Authentifizierung benötigt werden.
$ gpg2 --card-edit
Reader ...........: Nitrokey Nitrokey Start (FSIJ-1.2.10-14081967) 00 00 Application ID ...: D276000124010200FFFE140819670000 Version ..........: 2.0 Manufacturer .....: unmanaged S/N range Serial number ....: 14081967 Name of cardholder: [not set] Language prefs ...: [not set] Sex ..............: unspecified URL of public key : [not set] Login data .......: [not set] Signature PIN ....: forced Key attributes ...: ed25519 cv25519 ed25519 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 3 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none] gpg/card>
Die Schlüsselgenerierung erfolgt im Adminmenü, in welches wir nun erst einmal wechseln werden.
gpg/card> admin
Admin commands are allowed
Die Erzeugung der Schlüssel erfolgt wie immer mit dem Befehk generate
.
gpg/card> generate
Make off-card backup of encryption key? (Y/n) n Please note that the factory settings of the PINs are PIN = '123456' Admin PIN = '12345678' You should change them using the command --change-pin Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) 0 Key does not expire at all Is this correct? (y/N) y GnuPG needs to construct a user ID to identify your key. Real name: Django aka [BOfH] Email address: secmail@mailserver.guru Comment: Bastard Operator from Hell You selected this USER-ID: "Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o gpg: key 9308FC78386863AC marked as ultimately trusted gpg: revocation certificate stored as '/home/django/.gnupg/openpgp-revocs.d/3E61A50347B523824132EC069308FC78386863AC.rev' public and secret key created and signed.<code> Fragen wir nun den Inhalt der SmartCard mit dem Befehl ''**verify**'' ab, finden wir unsere gerade erstellten Schlüssel. gpg/card> verify <code>Reader ...........: Nitrokey Nitrokey Start (FSIJ-1.2.10-14081967) 00 00 Application ID ...: D276000124010200FFFE140819670000 Version ..........: 2.0 Manufacturer .....: unmanaged S/N range Serial number ....: 14081967 Name of cardholder: [not set] Language prefs ...: [not set] Sex ..............: unspecified URL of public key : [not set] Login data .......: [not set] Signature PIN ....: forced Key attributes ...: ed25519 cv25519 ed25519 Max. PIN lengths .: 127 127 127 PIN retry counter : 3 3 3 Signature counter : 4 Signature key ....: 3E61 A503 47B5 2382 4132 EC06 9308 FC78 3868 63AC created ....: 2020-08-04 21:26:26 Encryption key....: FB2B D8AD 4660 EADE 0108 852D BF1E A3F7 0320 3D8A created ....: 2020-08-04 21:26:26 Authentication key: 9131 32BE D5AF D08E 4464 89B6 77F0 A5B2 F32A 76AE created ....: 2020-08-04 21:26:26 General key info..: pub ed25519/9308FC78386863AC 2020-08-04 Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> sec> ed25519/9308FC78386863AC created: 2020-08-04 expires: never card-no: FFFE 43243711 ssb> ed25519/77F0A5B2F32A76AE created: 2020-08-04 expires: never card-no: FFFE 43243711 ssb> cv25519/BF1EA3F703203D8A created: 2020-08-04 expires: never card-no: FFFE 43243711
Wir verlassen nun das Programm gpg2
wieder und werden anschließend den Stick personalisieren.
gpg/card> quit
pub ed25519 2020-08-04 [SC] 3E61A50347B523824132EC069308FC78386863AC uid Django aka [BOfH] (Bastard Operator from Hell) <secmail@mailserver.guru> sub ed25519 2020-08-04 [A] sub cv25519 2020-08-04 [E]