デジタル署名に USB トークンを使用するために MS CAPI API を使用しています。
CryptAcquireContext を使用すると、利用可能なすべての CSP の名前を出力できますが、どの CSP がプラグインされた USB トークンに関連付けられているかを知るにはどうすればよいでしょうか?
さらに、コンピューターに複数のトークンが接続されている場合はどうなるでしょうか。
アプリケーションはどのように CSP を選択することになっていますか?
デジタル署名に USB トークンを使用するために MS CAPI API を使用しています。
CryptAcquireContext を使用すると、利用可能なすべての CSP の名前を出力できますが、どの CSP がプラグインされた USB トークンに関連付けられているかを知るにはどうすればよいでしょうか?
さらに、コンピューターに複数のトークンが接続されている場合はどうなるでしょうか。
アプリケーションはどのように CSP を選択することになっていますか?
Windows CAPIでは、スマートカードまたはトークンと暗号化プロバイダーの間に関係はありません。さらに、同じトークンを複数のプロバイダーでサポートできます。
スマートカードおよびトークンの開発者は、「Microsoftベースのスマートカード暗号化プロバイダー」用の「スマートカードミニドライバー」を実装することをお勧めします。しかし、それは義務ではありません。
UPD:複数のトークンがPCに接続されている場合は、「スマートカードリーダー」プロパティをプロバイダーに手動で設定する必要があります。使用可能なリーダーのリストは、SCardListReaders関数で取得できます。
また、一部のプロバイダーは、すべてのリーダーからのキーを1つのプールに混在させることができます。