CryptoKey:type 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

注意:此功能在 Web Workers 中可用。

CryptoKey 介面的只讀 type 屬性指示物件所表示的金鑰種類。它可以具有以下值:

以下字串之一:"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 加密級別 2
# dom-cryptokey-type

瀏覽器相容性