100% JavaScript と暗号化トークン ベースのキーを使用して、ブラウザーでデータに署名できるようにしたいと考えています。
私がこれまで見てきたことから、この機能の古い実装はすべて廃止されています (たとえばnew ActiveXObject("CAPICOM.Store");
、IE11 ではエラーがスローされるため、もはや機能していないようです! - 何かが足りないかどうかわかりません...おそらく、コンソールウィンドウで実行したためです...)。
私は WebCryptoAPI の仕様を調べました (これは新しいサポートされている方法であると思われます):
http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-sign
...そしてこれで(より明確で、整理され、役立つ):
http://msdn.microsoft.com/en-us/library/ie/dn302332(v=vs.85).aspx
...新しいキーを作成できることはわかりましたgenerateKey
が ( )、トークンからのキーの使用をサポートしているかどうかはわかりません。ありますがimportKey
、説明から、OSが認識できる既存のキーで署名するために必要なものではないようです。
この Web 標準は、そのような機能を許可することを目的としていますか? 今のままで目的を達成できるか?
少なくとも、デバイス マネージャー ([オプション] -> [証明書] -> [セキュリティ デバイス]) を備えた Firefox で何か改善できることはありますか?
関連する質問:
JavaScript を使用してブラウザのキーストアで署名/暗号化にアクセスする - サンプル コード? (WebCryptoAPI)
アップデート:
この PDF も見つけました: http://webpki.org/papers/PKI/x509-webcrypto-extension-scheme.pdf
私が見たところ、window.crypto.subtle.KeyStore
どのブラウザにもありません。これは、人々が遠い未来に向けて抱く野蛮な夢だと思います...
UPDATE2: これが、IE11 で ActiveX を読み込めなかった理由です: https://stackoverflow.com/a/5157766/2173353
したがって、少なくとも、まだ機能している古い方法が 1 つあります...