У меня есть Yubikey 4C Nano, который я использую с Linux и MacOS без проблем. Недавно я установил версию Windows на свой macbook pro, которая позволяет мне выполнять двойную загрузку (чтобы я мог запустить версию нашего приложения для Windows).
Я установил необходимые требования для использования Yubikey через git, а именно GPG4Win. После перезагрузки, если я запускаю Kleopatra, выбираю Tools -> Manage Smartcards, он не показывает запись для моей смарт-карты, пока я не нажму F5 для обновления.
Если я не выполню этот процесс обновления, мой ключ также не будет распознан в gitbash. НО, как только я выполню этот шаг, онявляетсяраспознан и могу использовать его до конца сеанса.
Мой вопрос: есть ли способ написать скрипт, чтобы мне не приходилось выполнять этот процесс вручную каждый раз при загрузке Windows?
решение1
Я это понял cmd.exe
и msys
на самом деле использовал две разные версии gpg.
Из 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
Изнутри 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
Помимо того, что мне не удалось запустить gpg-agent
, я также не смог запустить его gpg --card-status
из msys и получить какой-либо вывод.
Чтобы исправить эту проблему, я зашел /usr/bin
в msys и удалил следующие файлы:
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
(Или, точнее, переместить их в другое место, чтобы не потерять их, в случае, если это приведет к обратным результатам)
После этого gpg --card-status
работает в msys/Git Bash.