2

私は PKCS#11 と Common Access Cards を初めて使用しますが、私が理解しているように、カードには抽出できる証明書と抽出できない秘密鍵があります。認証に証明書を必要とする Web サーバーと通信するアプリを作成しようとしています。ハードウェア ベンダーから提供されている PKCS ライブラリはかなり薄いです。基本的に、カード上の秘密鍵を使用して、証明書オブジェクトにアクセスしたり、データに署名したりできます。

Webサーバーに接続するときのハンドシェイクなどの処理方法がわかりません。秘密鍵によって署名された他のものと一緒に証明書を提供することになっていますか? もしそうなら、秘密鍵で署名するのは何ですか? 私はこれをグーグルで検索しましたが、このプロセスについて何らかの説明を見つけることができませんでした.

4

2 に答える 2

1

認証に共通アクセス カードで RSA キーを使用している場合は、CertificateVerifyその時点までのハンドシェイク レコードにデジタル署名を含むメッセージをハンドシェイクで送信する必要があります。もちろん、クライアント証明書も送信する必要があります。詳細については、TLS 仕様の §7.4.8 を参照してください。

TLS ライブラリが PKCS #11 暗号化モジュールの使用をサポートしていることを願っています。そうでない場合は、切り替える必要があるかもしれません。仕様に精通していない場合に TLS を自分で実装するのは合理的ではありません。

于 2011-09-30T17:37:19.813 に答える
0

PKCS#11 デバイスからクライアント証明書を取得し、それを Web サーバーへのリクエストで使用するだけでよいと思います。既存のライブラリを使用する場合、SSL を実装する必要はありません。必要なものがすべて含まれている必要があります。

于 2012-07-14T06:26:54.723 に答える