48 lines
1.5 KiB
HTML
48 lines
1.5 KiB
HTML
<!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 JWK RSASSA-PKCS1-v1_5 public key with SHA-512");
|
|
|
|
jsTestIsAsync = true;
|
|
|
|
var jwkKey = {
|
|
kty: "RSA",
|
|
alg: "RS512",
|
|
use: "sig",
|
|
key_ops: ["verify"],
|
|
ext: true,
|
|
n: "rcCUCv7Oc1HVam1DIhCzqknThWawOp8QLk8Ziy2p10ByjQFCajoFiyuAWl-R1WXZaf4xitLRracT9agpzIzc-MbLSHIGgWQGO21lGiImy5ftZ-D8bHAqRz2y15pzD4c4CEou7XSSLDoRnR0QG5MsDhD6s2gV9mwHkrtkCxtMWdBi-77as8wGmlNRldcOSgZDLK8UnCSgA1OguZ989bFyc8tOOEIb0xUSfPSz3LPSCnyYz68aDjmKVeNH-ig857OScyWbGyEy3Biw64qun3juUlNWsJ3zngkOdteYWytx5Qr4XKNs6R-Myyq72KUp02mJDZiiyiglxML_i3-_CeecCw",
|
|
e: "AQAB"
|
|
};
|
|
var extractable = true;
|
|
|
|
debug("Importing a key...");
|
|
crypto.subtle.importKey("jwk", jwkKey, {name: "RSASSA-PKCS1-v1_5", hash: "SHA-512"}, extractable, ["verify"]).then(function(result) {
|
|
publicKey = result;
|
|
|
|
shouldBe("publicKey.toString()", "'[object CryptoKey]'");
|
|
shouldBe("publicKey.type", "'public'");
|
|
shouldBe("publicKey.extractable", "true");
|
|
shouldBe("publicKey.algorithm.name", "'RSASSA-PKCS1-v1_5'");
|
|
shouldBe("publicKey.algorithm.modulusLength", "2048");
|
|
shouldBe("bytesToHexString(publicKey.algorithm.publicExponent)", "'010001'");
|
|
shouldBe("publicKey.algorithm.hash.name", "'SHA-512'");
|
|
shouldBe("publicKey.usages", "['verify']");
|
|
|
|
finishJSTest();
|
|
});
|
|
|
|
</script>
|
|
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|