⭐️文章目录⭐️
🍧描述
OpenSSL 默认提供程序提供了 OpenSSL 的大多数各种算法实现。如果应用程序没有显式指定任何其他内容(例如,在应用程序中或通过配置),则这是将用作回退的提供程序:第一次从提供程序获取算法或调用作用于提供程序的函数并且尚未加载其他提供程序时,将自动加载该提供程序。
如果已尝试加载提供程序(无论成功与否),则不会自动加载默认提供程序。因此,如果要将默认提供程序与其他提供程序结合使用,则必须显式加载它。默认提供程序的自动加载最多只发生一次;如果显式卸载了默认提供程序,则不会再次自动加载默认提供程序。
🍨属性
此提供程序中的实现专门定义了以下属性:
“provider=default”
它可以用于具有获取函数(如EVP_MD_fetch或 EVP_CIPHER_fetch)的属性查询字符串,以及获取属性查询字符串的其他函数(如EVP_PKEY_CTX_new_from_name)。
查询此属性不是强制性的,除非确保获取此提供程序的实现,而不是其他提供程序。
某些实现可能会定义其他属性。下面列出了确切的信息。
🍦操作和算法
OpenSSL 默认提供程序支持以下操作和算法:
🍰哈希算法/消息摘要
SHA1,参见EVP_MD-SHA1
SHA2,参见EVP_MD-SHA2
SHA3,参见EVP_MD-SHA3
KECCAK-KMAC,参见EVP_MD-KECCAK-KMAC
SHAKE,见EVP_MD-SHAKE
BLAKE2,参见EVP_MD-BLAKE2
SM3,请参见EVP_MD-SM3
MD5,请参见EVP_MD-MD5
MD5-SHA1,参见EVP_MD-MD5-SHA1
🎂对称密码
AES,参见EVP_CIPHER-AES
ARIA,见EVP_CIPHER-ARIA
CAMELLIA,见EVP_CIPHER-CAMELLIA
3DES,请参见EVP_CIPHER-DES
SEED,见EVP_CIPHER-SEED
SM4,请参见EVP_CIPHER-SM4
ChaCha20,参见EVP_CIPHER-CHACHA
ChaCha20-Poly1305,请参阅EVP_CIPHER-CHACHA
🍮消息验证码 (MAC)
BLAKE2,参见EVP_MAC-BLAKE2
CMAC,请参见EVP_MAC-CMAC
GMAC,参见EVP_MAC-GMAC
HMAC,请参见EVP_MAC-HMAC
KMAC,见EVP_MAC-KMAC
SIPHASH,参见EVP_MAC-Siphash
POLY1305,请参阅EVP_MAC-POLY1305
🍬密钥派生函数 (KDF)
HKDF, 參见EVP_KDF-HKDF
SSKDF, 参见EVP_KDF-SS
PBKDF2,请参见EVP_KDF-PBKDF2
PKCS12KDF,参见EVP_KDF-PKCS12KDF
SSHKDF,见EVP_KDF-SSHKDF
TLS1-PRF,参见EVP_KDF-TLS1_PRF
KBKDF,请参见EVP_KDF-KB
X942KDF-ASN1,请参见EVP_KDF-X942-ASN1
X942KDF-CONCAT,请参见EVP_KDF-X942-CONCAT
X963KDF,请参见EVP_KDF-X963
SCRYPT,参见EVP_KDF-SCRYPT
KRB5KDF, 参见EVP_KDF-KRB5KDF
🍭密钥交换
DH,参见EVP_KEYEXCH-DH
ECDH,见EVP_KEYEXCH-ECDH
X25519,请参见EVP_KEYEXCH-X25519
X448,请参阅EVP_KEYEXCH-X448
🍫非对称签名
DSA,参见EVP_SIGNATURE-DSA
RSA,请参见EVP_SIGNATURE-RSA
HMAC,参见EVP_SIGNATURE-HMAC
SIPHASH,参见EVP_SIGNATURE-Siphash
POLY1305,请参见EVP_SIGNATURE-POLY1305
CMAC,参见EVP_SIGNATURE-CMAC
🍿非对称密码
RSA,请参见EVP_ASYM_CIPHER-RSA
SM2,请参见EVP_ASYM_CIPHER-SM2
🍩非对称密钥封装
RSA,请参见EVP_KEM-RSA
🍪非对称密钥管理
DH,见EVP_KEYMGMT-DH
DSA,参见EVP_KEYMGMT-DSA
RSA,请参见EVP_KEYMGMT-RSA
EC,参见EVP_KEYMGMT-EC
X25519,请参见EVP_KEYMGMT-X25519
X448,请参阅EVP_KEYMGMT-X448
🧁非对称密钥编码器
默认提供程序还包括基本提供程序中存在的所有编码算法。其中一些具有属性"fips=yes",以允许它们与 FIPS 提供程序一起使用。
RSA,请参见OSSL_ENCODER-RSA
DH,见OSSL_ENCODER-DH
DSA,参见OSSL_ENCODER-DSA
EC,请参见OSSL_ENCODER-EC
X25519,请参见OSSL_ENCODER-X25519
X448,请参阅OSSL_ENCODER-X448