打开SSL

密码学和 SSL/TLS 工具包

life_cycle-pkey

名称

life_cycle-pkey - PKEY 算法生命周期

描述

所有公钥 (PKEY) 在其生命周期中都会经历多个阶段

开始

此状态表示 PKEY 在分配之前。它是任何生命周期转换的起始状态。

已分配

此状态表示 PKEY 已分配后。

解封装

此状态表示 PKEY 准备好执行私钥解封装操作时。

解密

此状态表示 PKEY 准备好解密某些密文时。

派生

此状态表示 PKEY 准备好派生共享密钥时。

摘要签名

此状态表示 PKEY 准备好执行私钥签名操作时。

封装

此状态表示 PKEY 准备好执行公钥封装操作时。

加密

此状态表示 PKEY 准备好加密某些明文时。

密钥生成

此状态表示 PKEY 准备好生成新的公钥/私钥时。

参数生成

此状态表示 PKEY 准备好生成密钥参数时。

验证

此状态表示 PKEY 准备好验证公钥签名时。

验证恢复

此状态表示 PKEY 准备好恢复公钥签名数据时。

已释放

当 PKEY 被释放时,将进入此状态。它是所有生命周期转换的终止状态。

状态转换图

说明了 PKEY 对象的常用生命周期

正式状态转换

本节定义了所有合法状态转换。这是规范列表。

函数调用 当前状态
开始 已分配 摘要
签名
验证 验证
恢复
加密 解密 派生 封装 解封装 参数
生成
密钥
生成
已释放
EVP_PKEY_CTX_new 已分配
EVP_PKEY_CTX_new_id 已分配
EVP_PKEY_CTX_new_from_name 已分配
EVP_PKEY_CTX_new_from_pkey 已分配
EVP_PKEY_sign_init 摘要
签名
摘要
签名
摘要
签名
摘要
签名
摘要
签名
摘要
签名
摘要
签名
摘要
签名
摘要
签名
摘要
签名
摘要
签名
EVP_PKEY_sign 摘要
签名
EVP_PKEY_verify_init 验证 验证 验证 验证 验证 验证 验证 验证 验证 验证 验证
EVP_PKEY_verify 验证
EVP_PKEY_verify_recover_init 验证
恢复
验证
恢复
验证
恢复
验证
恢复
验证
恢复
验证
恢复
验证
恢复
验证
恢复
验证
恢复
验证
恢复
验证
恢复
EVP_PKEY_verify_recover 验证
恢复
EVP_PKEY_encrypt_init 加密 加密 加密 加密 加密 加密 加密 加密 加密 加密 加密
EVP_PKEY_encrypt 加密
EVP_PKEY_decrypt_init 解密 解密 解密 解密 解密 解密 解密 解密 解密 解密 解密
EVP_PKEY_decrypt 解密
EVP_PKEY_derive_init 派生 派生 派生 派生 派生 派生 派生 派生 派生 派生 派生
EVP_PKEY_derive_set_peer 派生
EVP_PKEY_derive 派生
EVP_PKEY_encapsulate_init 封装 封装 封装 封装 封装 封装 封装 封装 封装 封装 封装
EVP_PKEY_encapsulate 封装
EVP_PKEY_decapsulate_init 解封装 解封装 解封装 解封装 解封装 解封装 解封装 解封装 解封装 解封装 解封装
EVP_PKEY_decapsulate 解封装
EVP_PKEY_paramgen_init 参数
生成
参数
生成
参数
生成
参数
生成
参数
生成
参数
生成
参数
生成
参数
生成
参数
生成
参数
生成
参数
生成
EVP_PKEY_paramgen 参数
生成
EVP_PKEY_keygen_init 密钥
生成
密钥
生成
密钥
生成
密钥
生成
密钥
生成
密钥
生成
密钥
生成
密钥
生成
密钥
生成
密钥
生成
密钥
生成
EVP_PKEY_keygen 密钥
生成
EVP_PKEY_gen 参数
生成
密钥
生成
EVP_PKEY_CTX_get_params 已分配 摘要
签名
验证 验证
恢复
加密 解密 派生 封装 解封装 参数
生成
密钥
生成
EVP_PKEY_CTX_set_params 已分配 摘要
签名
验证 验证
恢复
加密 解密 派生 封装 解封装 参数
生成
密钥
生成
EVP_PKEY_CTX_gettable_params 已分配 摘要
签名
验证 验证
恢复
加密 解密 派生 封装 解封装 参数
生成
密钥
生成
EVP_PKEY_CTX_settable_params 已分配 摘要
签名
验证 验证
恢复
加密 解密 派生 封装 解封装 参数
生成
密钥
生成
EVP_PKEY_CTX_free 已释放 已释放 已释放 已释放 已释放 已释放 已释放 已释放 已释放 已释放 已释放 已释放

注意

在某个时间点,EVP 层将开始强制执行此处描述的转换。

参见

EVP_PKEY_new(3)EVP_PKEY_decapsulate(3)EVP_PKEY_decrypt(3)EVP_PKEY_encapsulate(3)EVP_PKEY_encrypt(3)EVP_PKEY_derive(3)EVP_PKEY_keygen(3)EVP_PKEY_sign(3)EVP_PKEY_verify(3)EVP_PKEY_verify_recover(3)

历史

提供程序 PKEY 接口是在 OpenSSL 3.0 中引入的。

版权所有 2021-2022 OpenSSL 项目作者。保留所有权利。

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