Test exporting a ECDSA 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 'EC'
PASS publicKey.crv is 'P-256'
PASS Base64URL.parse(publicKey.x).byteLength is 32
PASS Base64URL.parse(publicKey.y).byteLength is 32
PASS publicKey.d is undefined.
PASS publicKey.key_ops is ['verify']
PASS publicKey.ext is true
Exporting the private key...
PASS privateKey.kty is 'EC'
PASS privateKey.crv is 'P-256'
PASS Base64URL.parse(privateKey.x).byteLength is 32
PASS Base64URL.parse(privateKey.y).byteLength is 32
PASS Base64URL.parse(privateKey.d).byteLength is 32
PASS privateKey.key_ops is ['sign']
PASS privateKey.ext is true
PASS successfullyParsed is true

TEST COMPLETE

