<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script src="../resources/common.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>

<script>
description("Test importing a SPKI ECDH key and exporting it in JWK format");

jsTestIsAsync = true;

var spkiKey = hexStringToUint8Array("3059301306072a8648ce3d020106082a8648ce3d03010703420004c3ee3a2c3380072b9b2a59fed2cada65121806e22c4f4f8a25e740fc3e54d75d86c200298e6dfc1611d185eedbdb3c2661b0eb0441f7fd57c90d08112e9ae71c");
var expectedJwkKey = {
    kty: "EC",
    use: "enc",
    ext: true,
    crv: "P-256",
    x: "w-46LDOAByubKln-0sraZRIYBuIsT0-KJedA_D5U110",
    y: "hsIAKY5t_BYR0YXu29s8JmGw6wRB9_1XyQ0IES6a5xw",
};

var extractable = true;

debug("Importing a key...");
crypto.subtle.importKey("spki", spkiKey, {name: "ECDH", namedCurve: "P-256"}, extractable, [ ]).then(function(key) {
    return crypto.subtle.exportKey("jwk", key);
}).then(function(result) {
    publicKey = result;


    shouldBe("publicKey.kty", "expectedJwkKey.kty");
    shouldBe("publicKey.crv", "expectedJwkKey.crv");
    shouldBe("publicKey.x", "expectedJwkKey.x");
    shouldBe("publicKey.y", "expectedJwkKey.y");
    shouldBe("publicKey.key_ops", "[ ]");
    shouldBe("publicKey.ext", "expectedJwkKey.ext");

    finishJSTest();
});

</script>

<script src="../../resources/js-test-post.js"></script>
</body>
</html>
