そのため、Windows 7 までは、Microsoft ActiveX コンポーネントである CAPICOM がありました。CAPICOM を Javascript から呼び出して、クライアントのマシン上の証明書ストレージの内容を表示することができました。その後、クライアントは適切な証明書を選択し、証明書の秘密鍵を使用してドキュメントに署名できます。Javascript での証明書ストレージへのアクセスは次のようになります。
var MyStore = new ActiveXObject("CAPICOM.Store");
var oCertificates = new ActiveXObject("CAPICOM.Certificates");
// attempt to open the personal certificate store
MyStore.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY);
現在、CAPICOM を使用する代わりに何ができますか? クライアントがブラウザで自分の秘密鍵を使用してテキストに署名し、署名されたテキストを公開鍵でサーバーに送信できるようにしたいと考えています。まだ可能ですか?
純粋な JavaScript の代わりに Java や Silverlight を使用することはできますか? PKI.jsなどはどうですか?