語言支援的金鑰類型

下表列出各基本型別支援的主要型別,並依語言分類。

AEAD

導入作業 Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM 1
AES-GCM-SIV 2
AES-CTR-HMAC
AES-EAX
KMS 信封
CHACHA20-POLY1305
XCHACHA20-POLY1305

串流 AEAD

導入作業 Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM-HKDF-STREAMING
AES-CTR-HMAC-STREAMING

確定性 AEAD

導入作業 Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-SIV

MAC

導入作業 Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HMAC-SHA2
AES-CMAC

PRF

導入作業 Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HKDF-SHA2
HMAC-SHA2
AES-CMAC

簽名

導入作業 Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
NIST 曲線上的 ECDSA
Ed25519
RSA-SSA-PKCS1
RSA-SSA-PSS
ML-DSA 是 (65) 是 (65、87) 是 (44、65、87)
SLH-DSA (SHA2-128S)

混合式加密

導入作業 Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HPKE
使用 AEAD 和 HKDF 的 ECIES 3
ECIES,搭配 DeterministicAEAD 和 HKDF 4

JWT MAC

導入作業 Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
JWT HMAC-SHA2

JWT 簽章

導入作業 Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
透過 NIST 曲線的 JWT ECDSA
JWT RSA-SSA-PKCS1
JWT RSA-SSA-PSS

  1. 在 Android <=19 上,AES-GCM 無法正常運作。

  2. 必須安裝 Conscrypt 做為 JCE 安全性供應商。 

  3. 需要 NIST 曲線。 

  4. 需要 NIST 曲線。