Test exporting a SHA-1 RSA-OAEP key pair with JWK format.

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


Generating a key pair...
Exporting the public key...
PASS publicKey.kty is 'RSA'
PASS publicKey.key_ops is ['encrypt', 'wrapKey']
PASS publicKey.alg is 'RSA-OAEP'
PASS publicKey.ext is true
PASS Base64URL.parse(publicKey.n).byteLength is 256
PASS bytesToHexString(Base64URL.parse(publicKey.e)) is '010001'
Exporting the private key...
PASS privateKey.kty is 'RSA'
PASS privateKey.key_ops is ['decrypt', 'unwrapKey']
PASS privateKey.alg is 'RSA-OAEP'
PASS privateKey.ext is true
PASS Base64URL.parse(privateKey.n).byteLength is 256
PASS bytesToHexString(Base64URL.parse(privateKey.e)) is '010001'
PASS privateKey.oth is undefined.
PASS successfullyParsed is true

TEST COMPLETE

