1

SubtleCrypto.unwrapkey を使用してキーのラップを解除しようとしています... 私のラップ解除アルゴリズムは次のとおりです。

{name: 'RSA-OAEP', hash: Object{name: 'SHA-1'}, modulusLength: 2048, publicExponent: Uint8Array{0: 1, 1: 0, 2: 1}

私の unwrappedKeyAlgo は次のとおりです。

{ name: 'AES-CBC', altName: 'aes256-CBC',length: 256, usages: pri: ['decrypt', 'unwrapKey'], pub: ['encrypt', 'wrapKey'] }}

私の呼び出しは次のようになります。

    return webcrypto.subtle.unwrapKey(
        'raw',
        // wrappedKey
        encSymmKey,
        // unwrappingKey
        keyPair.private,
        // unwrapAlgo
        keyAlg,
        // unwrappedKeyAlgo
        symmAlg,
        // extractable
        true,
        ['encrypt', 'decrypt']
    )

私はいくつかの異なることを試みてきましたが、ほとんどの場合、メッセージなしで OperationError を取得しています (つまり、error.message は '') が、最後に取得し始めました:

 0, 'OperationError', '192-bit AES keys are not supported'

私が見る限り、192 ビット キーは見えません。

メッセージのない OperationError の両方のケース (実際にはそれほど多くはありません) および/または後者の両方をデバッグ/トラブルシューティングする方法についてのヒントはありますか? 同様のテーマに関する質問の場所 (スタック オーバーフロー以外) はどこですか?

4

1 に答える 1

0

IE11(エラーから判断)はこの点で壊れています。これは、最初に復号化する 2 段階の手順として実行する必要があります。

msCrypto.subtle.decrypt(keyAlg, keyPair.private, encSymmKey)

次に、結果「k」をインポートします。

msCrypto.subtle.importKey('raw', k, symmAlg, true, ['encrypt', 'decrypt'])

これで問題が解決することを願っています;-)

于 2015-11-21T16:17:33.787 に答える