これは、Windows 10 1803(x64)に更新した後に最近開始されました。 Gpg4Winを最新バージョン(3.1.2)に更新しましたが、何も修正されていません。
私は以下を試しました:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards
_から削除しますこれのどれもそれを修正しませんでした、そして私は現時点でほとんど考えがありません。これは私のマシン上で(TPMを除いて)唯一のスマートカードリーダーであり、YubikeyはLinux上のgpgで動作することがテストされています。
YubikeyはIdentity Device (NIST SP 800-73 [PIV])
として表示されています
Gpgは以下を返します:
_$ gpg --card-status
gpg: selecting openpgp failed: No such device
gpg: OpenPGP card not available: No such device
_
Certutilは以下を返します:
_$ certutil -scinfo
=======================================================
Analyzing card in reader: Yubico Yubikey 4 OTP+U2F+CCID 0
--------------===========================--------------
================ Certificate 0 ================
--- Reader: Yubico Yubikey 4 OTP+U2F+CCID 0
--- Card: Identity Device (NIST SP 800-73 [PIV])
Provider = Microsoft Base Smart Card Crypto Provider
Key Container = (null) [Default Container]
Cannot open the AT_SIGNATURE key for reader: Yubico Yubikey 4 OTP+U2F+CCID 0
Cannot open the AT_KEYEXCHANGE key for reader: Yubico Yubikey 4 OTP+U2F+CCID 0
--------------===========================--------------
================ Certificate 0 ================
--- Reader: Yubico Yubikey 4 OTP+U2F+CCID 0
--- Card: Identity Device (NIST SP 800-73 [PIV])
Provider = Microsoft Smart Card Key Storage Provider
Key Container = (null) [Default Container]
Cannot open the key for reader: Yubico Yubikey 4 OTP+U2F+CCID 0
--------------===========================--------------
Done.
CertUtil: -SCInfo command completed successfully.
_
Scdaemonによるログは、読者を検出しているように見えるので、何か(私は思う)が面白いかもしれないことを示しています:
_2018-07-26 18:13:36 scdaemon[13612] detected reader 'Windows Hello for Business 9'
2018-07-26 18:13:36 scdaemon[13612] detected reader 'Yubico Yubikey 4 OTP+U2F+CCID 0'
2018-07-26 18:13:36 scdaemon[13612] reader slot 0: not connected
2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_open_reader => slot=0 [pc/sc]
2018-07-26 18:13:36 scdaemon[13612] DBG: enter: apdu_connect: slot=0
2018-07-26 18:13:36 scdaemon[13612] pcsc_control failed: insufficient buffer (0x80100008)
2018-07-26 18:13:36 scdaemon[13612] pcsc_vendor_specific_init: GET_FEATURE_REQUEST failed: 65538
2018-07-26 18:13:36 scdaemon[13612] reader slot 0: active protocol: T1
2018-07-26 18:13:36 scdaemon[13612] slot 0: ATR=3B 8D 01 80 FB A0 00 00 03 97 42 54 46 59 04 01 CF
2018-07-26 18:13:36 scdaemon[13612] DBG: pcsc_get_status_change: changed present excl inuse
2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_connect => sw=0x0
2018-07-26 18:13:36 scdaemon[13612] DBG: send apdu: c=00 i=A4 p1=00 p2=0C lc=2 le=-1 em=0
2018-07-26 18:13:36 scdaemon[13612] DBG: PCSC_data: 00 A4 00 0C 02 3F 00
2018-07-26 18:13:36 scdaemon[13612] DBG: response: sw=6A82 datalen=0
2018-07-26 18:13:36 scdaemon[13612] DBG: send apdu: c=00 i=A4 p1=04 p2=00 lc=6 le=-1 em=0
2018-07-26 18:13:36 scdaemon[13612] DBG: PCSC_data: 00 A4 04 00 06 D2 76 00 01 24 01
2018-07-26 18:13:36 scdaemon[13612] DBG: response: sw=6A82 datalen=0
2018-07-26 18:13:36 scdaemon[13612] can't select application 'openpgp': Not supported
2018-07-26 18:13:36 scdaemon[13612] DBG: enter: apdu_close_reader: slot=0
2018-07-26 18:13:36 scdaemon[13612] DBG: enter: apdu_disconnect: slot=0
2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_disconnect => sw=0x0
2018-07-26 18:13:36 scdaemon[13612] DBG: leave: apdu_close_reader => 0x0 (close_reader)
2018-07-26 18:13:36 scdaemon[13612] DBG: chan_0x00000188 -> ERR 100696144 No such device <SCD>
_
問題は、Office365をインストールすると、MicrosoftPassportに基づく認証メカニズムであるWindows Hello for Business
用の仮想スマートカードリーダーが追加されることにあるようです。
(ログに基づいて)これにより、scdaemon
がクラッシュすると思います。これは、このリーダーとYubikeyの2つのリーダーを見つけることができるためです。しかし、後者を初期化しようとはせず、Windows Hello for Business
仮想リーダーを試した直後に失敗します。 certutilのログには、マシン上のWindows Hello仮想リーダーの証明書を取得できなかったことが示されているため、scdaemon
がクラッシュする可能性があります。
この問題は、Kleopatra設定の[スマートカード]タブでYubico Yubikey 4 OTP+U2F+CCID 0
(ログから取得した名前)を設定することで解決されました。
YMMVですが、私がお勧めするのは次のとおりです。
smartcards
タブでログファイルのパスを設定しますdetected reader
で始まる行があります。私の場合はdetected reader 'Yubico Yubikey 4 OTP+U2F+CCID 0'
です。Connect to reader at port N
フィールドにコピーします参考のために画像を参照してください: