开放SSL

密码学和 SSL/TLS 工具包

EVP_KDF-PKCS12KDF

名称

EVP_KDF-PKCS12KDF - PKCS#12 EVP_KDF 实现

描述

通过 EVP_KDF API 支持计算 PKCS#12 基于密码的 KDF。

EVP_KDF-PKCS12KDF 算法实现了 PKCS#12 基于密码的密钥导出函数,如 RFC 7292 (PKCS #12: 个人信息交换语法) 附录 B 所述;它使用盐、迭代次数和预期用途从密码导出密钥。

标识

"PKCS12KDF" 是此实现的名称;它可以与 EVP_KDF_fetch() 函数一起使用。

支持的参数

支持的参数为

"pass" (OSSL_KDF_PARAM_PASSWORD) <八位字节串>
"salt" (OSSL_KDF_PARAM_SALT) <八位字节串>
"iter" (OSSL_KDF_PARAM_ITER) <无符号整数>
"properties" (OSSL_KDF_PARAM_PROPERTIES) <UTF8 字符串>
"digest" (OSSL_KDF_PARAM_DIGEST) <UTF8 字符串>

这些参数的工作原理如 "PARAMETERS" in EVP_KDF(3) 中所述。

"id" (OSSL_KDF_PARAM_PKCS12_ID) <整数>

此参数用于指定输出位的预期用途,如 RFC 7292 第 B.3 节所述。

注意

此算法在 FIPS 提供程序中不可用,因为它未经 FIPS 认证。

此算法的典型应用是从 "pass" 中的密码、"salt" 中的盐和迭代次数中导出用于加密算法的密钥材料。

增加 "iter" 参数会降低算法速度,从而使攻击者更难使用大量候选密码执行暴力攻击。

对给定密码没有假设;它只是被视为字节序列。

符合

RFC7292

另请参见

EVP_KDF(3), EVP_KDF_CTX_new(3), EVP_KDF_CTX_free(3), EVP_KDF_CTX_set_params(3), EVP_KDF_derive(3), "PARAMETERS" in EVP_KDF(3), OSSL_PROVIDER-FIPS(7)

历史

此功能在 OpenSSL 3.0 中添加。

版权所有 2020-2023 OpenSSL 项目作者。保留所有权利。

根据 Apache 许可证 2.0 版(“许可证”)授权。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取副本。