2016-05-03 6 views
1

私はtutorialの公開鍵を使用してデータを暗号化し、秘密鍵を使用してブラウザのデータを復号しました。
秘密鍵を使用してデータを暗号化しようとすると、Uncaught (in promise) DOMException: key.usages does not permit this operationで失敗します。
Web暗号化APIで秘密鍵を使用してデータを暗号化する方法はありますか?
また、RSAキーペアの生成、ブラウザのデータの暗号化と復号化を可能にするjavascriptライブラリも探しています。私はいくつかのRSA javascriptライブラリを見つけましたが、それらはすべてRSA鍵ペアを生成するためにopen-sslコマンドを使用する必要があります。Web暗号化APIで秘密鍵を使用してデータを暗号化する方法

+1

1)広すぎる、2)コードなし、3)ライブラリの推薦を求めているので、この質問を議論の対象外としています。 –

+0

@ user5440753 WebCrypto APIの上に構築された強力な擬似乱数ジェネレータを使用して、JavaScriptで簡単かつスムーズにRSA鍵ペアを生成できるようにするために、すでにライブラリで作業しています。 –

答えて

1

Web暗号化APIで秘密鍵で暗号化することはできません。

RSAでは、秘密鍵でデータを暗号化することは技術的に可能で、公開鍵で復号化することは技術的に可能です。しかし、公開鍵は公開されていると想定されているため、秘密鍵でデータを暗号化することによって得られる秘密はありません。

プライベートキーを持つデータを暗号化することで、プライベートキーを所持している人がデータを暗号化したことを公開者が確認できます。これが暗号署名の基礎となります。しかし、RSAでデータを暗号化するのは、データブロック全体を暗号化するのではなく、計算コストがかかるため、通常は暗号化ハッシュを取り、単にハッシュを暗号化します。

Web暗号化APIはあなたのためにRSA鍵を生成し、あなたが与えたリンクでもそれを行う方法が示されます。

関連する問題