我有一台 Yubikey 4C Nano,可以与 Linux 和 MacOS 一起使用,没有任何问题。最近,我在 MacBook Pro 上安装了一个 Windows 版本,允许我进行双启动(这样我就可以运行我们应用程序的 Windows 版本)。
我通过 git 安装了 Yubikey 所需的必备软件,即 GPG4Win。重启后,如果我启动 Kleopatra,选择“工具”->“管理智能卡”,它不会显示我的智能卡条目,直到我按 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 中工作。