Ich habe einen Yubikey 4C Nano, den ich problemlos mit Linux und MacOS verwende. Vor Kurzem habe ich auf meinem MacBook Pro eine Windows-Version installiert, die mir einen Dual-Boot ermöglicht (damit ich die Windows-Version unserer Anwendung ausführen kann).
Ich habe die notwendigen Voraussetzungen für die Nutzung von Yubikey über Git installiert, nämlich GPG4Win. Wenn ich nach dem Neustart Kleopatra starte und „Tools“ -> „Smartcards verwalten“ auswähle, wird kein Eintrag für meine Smartcard angezeigt, bis ich zum Aktualisieren F5 drücke.
Wenn ich diesen Aktualisierungsprozess nicht durchführe, wird mein Schlüssel auch in Gitbash nicht erkannt. ABER, sobald ich diesen Schritt durchführe,Isterkannt und ich kann es für den Rest der Sitzung verwenden.
Meine Frage lautet nun, ob es eine Möglichkeit gibt, dies per Skript zu erledigen, sodass ich diesen Vorgang nicht bei jedem Windows-Start manuell durchführen muss.
Antwort1
Mir ist das aufgefallen cmd.exe
und msys
ich habe tatsächlich zwei verschiedene Versionen von GPG verwendet.
Von msys:
$ gpg --version
gpg (GnuPG) 2.2.18-unknown
libgcrypt 1.8.5
Copyright (C) 2019 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: /c/Users/scottj/.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
Von innen cmd.exe
:
gpg --version
gpg (GnuPG) 2.2.17
libgcrypt 1.8.4
Copyright (C) 2019 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: C:/Users/scottj/AppData/Roaming/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
Abgesehen davon, dass es nicht gestartet wurde , konnte ich es auch nicht innerhalb von msys gpg-agent
ausführen und erhielt keine Ausgabe.gpg --card-status
Um dieses Problem zu beheben, bin ich in msys gegangen /usr/bin
und habe diese Dateien entfernt:
gpg.exe
gpg-connect-agent.exe
gpg-agent.exe
gpgconf.exe
gpg-error.exe
gpgparsemail.exe
gpgscm.exe
gpg-sm.exe
gpgtar.exe
gpgv.exe
gpg-wks-server.exe
(Oder genauer gesagt, verschieben Sie sie an einen anderen Ort, damit Sie sie nicht verlieren, falls das nach hinten losgeht)
Danach gpg --card-status
funktioniert es innerhalb von msys/Git Bash.