Test importing a JWK RSA-OAEP public key with SHA-224

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Importing a key...
PASS publicKey.toString() is '[object CryptoKey]'
PASS publicKey.type is 'public'
PASS publicKey.extractable is true
PASS publicKey.algorithm.name is 'RSA-OAEP'
PASS publicKey.algorithm.modulusLength is 2048
PASS bytesToHexString(publicKey.algorithm.publicExponent) is '010001'
PASS publicKey.algorithm.hash.name is 'SHA-224'
PASS publicKey.usages is ['encrypt', 'wrapKey']
PASS successfullyParsed is true

TEST COMPLETE

