使用RSA OAEP的Webcrypto wrapKey哈希填充

时间:2018-01-17 17:39:32

标签: encryption hash openssl cryptography webcryptoapi

我能够生成一个AES密钥,并且与我导入的OpenSSL生成的公钥一起,用以下代码包装它:

    window.crypto.subtle.wrapKey(
        'raw',
        sharedKey,
        publicKey,
        {
            name: 'RSA-OAEP',
            hash: {name: "SHA-1"}//I can change this to SHA-256 or any valid hash function
        }
    ).then(function(encryptedSharedKey) {
        resolve(encryptedSharedKey);
    }).catch(function(err) {
        reject(err);
    });

我的问题是,关于OpenSSL RSA OAEP密钥,它似乎总是使用SHA-1进行填充。似乎无论我在webCrypto wrapKey函数中指定了什么哈希,我仍然可以使用我的OpenSSL私钥解密encryptedSharedKey并使用类似

的命令
 openssl pkeyutl -decrypt -pkeyopt rsa_padding_mode:oaep -inkey myprivatekey -in sessionKey.enc 

当我包装密钥时,是否存在webcrypto实际上没有更改散列类型的错误,或者我是否误解了散列是如何起作用的?

0 个答案:

没有答案