CryptoKey:type 属性
CryptoKey
接口的只读type
属性指示对象表示哪种密钥。它可以具有以下值
"secret"
:此密钥是用于对称算法的密钥。"private"
:此密钥是非对称算法的CryptoKeyPair
的私钥部分。"public"
:此密钥是非对称算法的CryptoKeyPair
的公钥部分。
值
以下字符串之一:"secret"
、"private"
或 "public"
。
示例
此函数使用SubtleCrypto.verify()
和参数中给定的公钥来验证消息。如果密钥不是公钥,则始终返回"invalid"
,因为此类验证从根本上是不安全的。
js
async function verifyMessage(publicKey) {
const signatureValue = document.querySelector(
".rsassa-pkcs1 .signature-value",
);
signatureValue.classList.remove("valid", "invalid");
let result = false; // By default, it is invalid
if (publicKey.type === "public") {
const encoded = getMessageEncoding();
result = await window.crypto.subtle.verify(
"RSASSA-PKCS1-v1_5",
publicKey,
signature,
encoded,
);
}
signatureValue.classList.add(result ? "valid" : "invalid");
}
规范
规范 |
---|
Web 密码学 API # dom-cryptokey-type |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。