2009-11-02

CAPICOMとX509Certificate2  [by miyachi]

Windows環境で証明書ストアを利用するAPIはWin32の時代ではCryptoAPI(CAPI)が使われてきました。.NET Frameworkの時代になって、CryptoAPIに対してCOMインターフェイスを提供するAPIがCAPICOMでした。CAPICOMにより.NET FrameworkからCryptoAPIの利用が可能になります。証明書の選択ダイアログを表示して選択したり、証明書情報をGUIで表示したり、証明書を検証したりする事ができます。しかしCAPICOMのDLLファイルは標準では提供されていません。更に色々なアプリケーションがCAPICOMをインストールする事が多く混乱の元になっていました。

実は弊社の長期署名ライブラリLe-XAdESはCAPICOMを使っています。それは昔Le-XAdESを開発した当時参考にしたのが.NET Framework 1.0用のサンプルだった為でした。しかし.NET Framework 2.0からX509Certificateが新しくX509Certificate2として機能が拡張されCAPICOMと同等の処理が可能になっていました。調べた結果、現在Le-XAdESの利用においてもX509Certificate2を使えばCAPICOMを使わなくても良いと言う事が分かりましたので、現在修正してバージョンアップ作業中です。

と言う事で今後.NET Framework 2.0以降にて証明書ストアを利用するならX509Certificate2クラスとX509Storeクラスを使いましょう。証明書の認証パスの検証もX509Chainクラスにて可能です。GUIを使った証明書の選択や表示はX509Certificate2UIクラスを利用します。

これで今後はCAPICOMと決別できそうです。ただCryptoAPI(CAPI)はICカード等のドライバの関係でまだまだ使わなければならなかったりしますが…

2009-11-02 18:36:10 - miyachi - [PKI/暗号] -

コメント一覧

コメント無し

コメントを書く

このアイテムは閲覧専用です。コメントの投稿、投票はできません。