過去 2 か月間、成功していませんでしたが、ここで質問する時が来たと思います。
私はスマート カードを持っていて、クライアントから CSPを受け取りました。実行できる (および実行方法を知っている) APDU コマンドを説明するドキュメントがあります。
名前、住所、写真などの小さなファイル (データ) をカードに保存する必要があります。後で証明書を保存します。
ドキュメントでは、後で安全なメッセージングを使用してカード上のファイルにアクセスするには、外部認証を行う必要があることを読みました。相互認証アルゴリズムのどこかにエラーがあります (MAC、DES、TRIPPLE DES などを計算する必要があり、それを機能させるために何週間も試みました...) 相互認証を必要とする機能を除いて、カードですべてを行う方法を知っています認証。
CSP が提供する機能を調べたところ、外部認証が見当たりません。非 APDU レベルの外部認証を見た唯一の場所は、CardAuthenticateEx のような関数が表示される「Windows スマート カード ミニドライバー仕様」でした。しかし、それらを呼び出す方法がわかりません(どのdllにあるのか)。これらの関数を CSP に含める必要がありますか?
私がCSPを持っているときにAPDUコマンドで低レベルになるのは間違ったアプローチですか? 代わりに CryptoAPI または CAPICOM を使用する必要がありますか? もしそうなら、ファイルに書き込む関数がない(または見つからない)場合、外部認証してファイルを使用するにはどうすればよいですか。(繰り返しますが、これらの機能はすべて「Windows スマート カード ミニドライバー仕様」にあります。