WebCrypto は RSA をサポートしていますが、実行できるさまざまな操作のパディング スキームを選択する必要があります。RSA は、署名/検証と暗号化/復号化 (+ キー ラッピング) の両方を実行できますが、webcrypto API ではそれはほとんど不可能です。
RSA-OAEP を使用して RSA キーを生成すると、同じキーを RSA-PSS に使用できますが、webcrypto API を使用してそれらを移動する明確な方法はありません。
私の最初の考えは、キーを変換するために次の手順を実行することでした。
exportKey
を使用してキーをエクスポートしますjwk
alg
(たとえば) からRSA-OAEP-512
"修正"PS512
"修理"
key_ops
を。
encrypt
->verify
b.
decrypt
->sign
正しいアルゴリズムで「固定」キーをインポートする
このシステムは、秘密鍵 (悪意のあるスクリプト、self-xss など) のセキュリティを強化するために、鍵をエクスポートできない場合に機能しなくなります。
アルゴリズムの種類を「変換」するが、エクスポートする機能なしでキーを保持する良い方法は何でしょうか?