Test exporting a SHA-512 RSA-PSS 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 ['verify']
PASS publicKey.alg is 'PS512'
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 ['sign']
PASS privateKey.alg is 'PS512'
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

