4

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)

OSキーストアを使用したChromeでのjs署名

アップデート:

この 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 つあります...

4

1 に答える 1

1

いいえ、現在ありません。ユーザーのハードウェアまたはソフトウェア トークンはまだ利用できません。もう少し詳しい情報については、Eugene のコメント (質問について) を参照してください。

于 2015-08-01T19:59:51.960 に答える