web-dev-qa-db-ja.com

Windows10でKleopatraを使用したYubikey

LinuxとMacOSで問題なく使用できるYubikey4CNanoがあります。最近、Macbook ProにWindowsのバージョンをインストールして、デュアルブートできるようにしました(Windowsバージョンのアプリケーションを実行できるようにします)。

Yubikeyがgitを介して使用するために必要な要件、つまりGPG4Winをインストールしました。再起動後、Kleopatraを起動して[ツール]-> [スマートカードの管理]を選択すると、F5キーを押して更新するまでスマートカードのエントリが表示されません。

この更新プロセスを実行しないと、キーもgitbashで認識されません。しかし、このステップを実行すると、それはis認識され、セッションの残りの部分で使用できます。

私の質問は、Windowsを起動するたびにこの手動プロセスを実行する必要がないように、これをスクリプト化する方法があるかどうかです。

1
jwir3

cmd.exemsysが実際には2つの異なるバージョンの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を起動しない以外に、msys内からgpg --card-statusを実行して出力を取得することもできませんでした。

この問題を修正するために、msys内の/usr/binに移動し、次のファイルを削除しました。

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/GitBash内で機能します。

0
jwir3