我有一個 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 中運作。