pkcs8-rfc5958

news2024/9/19 19:34:03

非对称密钥包摘要
本文档定义了私钥信息的语法及其内容类型。 私钥信息包括指定公钥算法的私钥和一组属性。 RFC 5652 中定义的加密消息语法 (CMS) 可用于对非对称密钥格式内容类型进行数字签名、摘要、验证或加密。 本文档废弃了 RFC 5208。

本备忘录的状态
这是一份 Internet 标准跟踪文档。 本文档是 Internet 工程任务组 (IETF) 的产品。 它代表了 IETF 社区的共识。 它已接受公众审查,并已被互联网工程指导小组 (IESG) 批准发布。 有关 Internet 标准的更多信息,请参阅 RFC 5741 的第 2 节。有关本文档的当前状态、任何勘误表以及如何提供反馈的信息,请访问 http://www.rfc-editor.org/info /rfc5958。

一、简介
本文档定义了私钥信息的语法和它的加密消息语法 (CMS) [RFC5652] 内容类型。 私钥信息包括指定公钥算法的私钥和一组属性。 CMS 可用于对非对称密钥格式内容类型进行数字签名、摘要、验证或加密。 本文档废弃了 PKCS #8 v1.2 [RFC5208]。

1.3. RFC 5208 更新摘要 下面总结了 [RFC5208] 的更新: - 将名称“PrivateKeyInfo”更改为“OneAsymmetricKey”。 这反映了 publicKey 字段的添加,以允许单独传送非对称密钥的两个部分。 并非所有算法都会使用这两个字段; 但是,为了完整性添加了 publicKey 字段。 - 定义非对称密钥包 CMS 内容类型。 - 从属性中删除了冗余的 IMPLICIT。 - 将公钥添加到 OneAsymmetricKey 并更新了版本号。

- 添加了可能支持 PKCS #9 属性。
- 添加了与其他私钥格式的兼容性的讨论。
- 添加了编码规则集的要求。
- 将导入从 PKCS #5 更改为 [RFC5912] 和 [RFC5911]。
- 用 [RFC5912] 中的 ALGORITHM 替换了 ALGORITHM-IDENTIFIER。
- 注册 application/pkcs8 媒体类型和 .p8 文件扩展名。

2. 非对称密钥包 CMS 内容类型
非对称密钥包 CMS 内容类型用于将一个或多个明文非对称密钥从一方传输到另一方。 非对称密钥包可以封装在一种或多种 CMS 保护内容类型中(参见第 4 节)。 本规范 [RFC5208] 的早期版本没有指定特定的编码规则集,但生成器应该使用 DER [X.690] 并且接收器必须支持 BER [X.690],其中还包括 DER [X.690]。 非对称密钥包内容类型具有以下语法:

 OneAsymmetricKey 的语法包含版本号、与私钥一起使用的非对称算法的指示、私钥、可选的密钥材料属性(例如,来自 [X.520] 的 userCertificate)和可选的公钥。 通常,将提供公钥或证书。 在极少数情况下,公钥和证书都存在,因为这包括公钥的两个副本。 OneAsymmetricKey 重命名了 [RFC5208] 中定义的 PrivateKeyInfo 语法。 新名称更好地反映了携带私钥和公钥组件的能力。 通过版本号保留与原始 PrivateKeyInfo 的向后兼容性。 OneAsymmetricKey中的字段使用如下:

- version 标识 OneAsymmetricKey 的版本。 如果公钥
存在,则版本设置为 v2,否则版本设置为 v1。

 - privateKeyAlgorithm 标识私钥算法并可选地包含与非对称密钥对关联的参数。 该算法由对象标识符 (OID) 标识,参数的格式取决于 OID,但 PrivateKeyAlgorithms 信息对象集限制了允许的 OID。 放置在 privateKeyAlgorithmIdentifier 中的值是发起者将应用的值,以指示哪种算法将与私钥一起使用。

ECC私钥pkcs8:

 

RSA私钥pkcs8: 

- privateKey 是包含私钥值的 OCTET STRING。 内容的解释在私钥算法的注册中定义。 例如,DSA 密钥是 INTEGER,RSA 密钥表示为 [RFC3447] 中定义的 RSAPrivateKey,而椭圆曲线密码术 (ECC) 密钥表示为 [RFC5915] 中定义的 ECPrivateKey。

- 属性是可选的。 它包含与公钥对应的信息(例如,证书)。 属性字段使用 ATTRIBUTE 类,该类受 OneAsymmetricKeyAttributes 信息对象集的限制。 OneAsymmetricKeyAttributes 是本文档中的一个开放式集合。 其他文档可以限制这些值。 可以支持 [RFC2985] 中的属性。

- 公钥是可选的。 如果存在,它包含以 BIT STRING 编码的公钥。 BIT STRING 中的结构(如果有的话)取决于 privateKeyAlgorithm。 例如,DSA 密钥是一个 INTEGER。 请注意,根据 [RFC3447],RSA 公钥包含在 RSAPrivateKey 中(即存在 n 和 e),而根据 [RFC5915],ECC 公钥包含在 ECPrivateKey 中(即,在 publicKey 字段中)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/565774.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多线程详解(理论与实践的最佳融合方案)

一.概述 线程简介 总而言之,就是在同一时间,做了不同的事情,正所谓一石二鸟,一箭双雕,赔了夫人又折兵 生活中很多事情都可以看作是多线程的例子。比如: 煮饭:煮饭需要同时加热米饭和煮菜&#…

阿里拆了中台,中台还有未来吗?

hi,我是熵减,见字如面。 近日,阿里在继年初3月份的16N的战略变革的基础上,对持续建设和运营8年的中台的调整终于落地了。 阿里对中台的这一举措,引发了外界对于中台战略是否还有意义的大量质疑和讨论。 甚至有人将中台…

分享一些冷门好用的网站和软件

分享一:UZER UZER是一个功能强大的云端应用空间,可以帮助您将所有的文件和应用程序都集中在一个地方,让您随时随地轻松访问。 以下是它的主要特点: 云存储:UZER提供大量的云存储空间,让您可以安全地存储…

【C++初阶】C++——模板初阶与泛型编程

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C初阶 🎯长路漫漫浩浩,万事皆有期待 文章目录 1. 泛型编程2. 函数模板…

C#,码海拾贝(23)——线性方程组求解的复系数方程组的全选主元高斯消去法之C#源代码,《C#数值计算算法编程》源代码升级改进版

using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 求解线性方程组的类 LEquations /// 原作 周长发 /// 改编 深度混淆 /// </summary> public static partial class LEquations { /// <summary&g…

MyBatis-Plus03_分页插件、自定义分页、乐观锁

目录 ①. 分页插件 ②. xml自定义分页 ③. 乐观锁 ①. 分页插件 ①. MyBatis Plus自带分页插件,只要简单的配置即可实现分页功能 ②. 添加配置类 Configuration public class MybatisPlusConfig {Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor(){MybatisPlu…

MyBatis-Plus02 条件构造器QueryWrapper、UpdateWrapper、Condition、LambdaQuery用法详解

目录 ①. 条件构造器与常用的接口 ②. QueryWrapper ③. UpdateWrapper ④. Condition——简化代码开发 ⑤. LambdaQueryWrapper ⑥. LambdaUpdateWrapper ①. 条件构造器与常用的接口 ①. Wrapper介绍&#xff1a; 条件构造器&#xff08;Wrapper&#xff09;的作用&…

【mmcv安装使用】

文章目录 一、前言二、mmcv安装1.安装方案a2.安装方案b 三、mmclassification使用1.目录说明2.数据集3.根据自己数据修改文件4.demo测试5.测试结果6.数据增强可视化7.日志分析 个人网站 一、前言 MMLab是香港中文大学深圳研究院的一个计算机视觉和深度学习研究团队&#xff0c…

chatgpt赋能python:PythonUSBHID:利用Python控制USB设备

Python USB HID: 利用Python控制USB设备 简介 USB HID&#xff08;Human Interface Device&#xff09;是一种USB设备类型&#xff0c;它允许用户与设备进行交互。许多设备&#xff0c;如键盘、鼠标、游戏控制器等&#xff0c;都使用USB HID协议进行通信。 Python是一种强大…

chatgpt赋能python:PythonUp:优秀的Python教育平台

Python Up: 优秀的Python教育平台 Python学习的重要性 随着大数据、人工智能等技术的蓬勃发展&#xff0c;Python作为一种可读性强、代码简洁、可扩展性好的编程语言&#xff0c;已经成为数据科学领域中最受欢迎的编程语言之一。因此&#xff0c;Python学习已成为现在最流行的…

Linux基础系统设置

文章目录 Linux基础系统设置网络设置(手动设置与DHCP自动获取)手动设置IP网络参数自动获取IP参数修改主机名 日期与时间设置时区的显示与设置时间的调整用ntpdate手动校时 语系设置防火墙简易设置案例 Linux基础系统设置 我们的CentOS 7 系统其实有很多需要设置&#xff0c;包…

什么是EMC?什么是EMI?什么是EMS?电磁兼容详解(一)

EMC&#xff08;Electro Magnetic Compatibility&#xff0c;电磁兼容&#xff09;是指电子、电气设备或系统在预期的电磁环境中&#xff0c;按设计要求正常工作的能力。它是电子、电气设备或系统的一种重要的技术性能&#xff0c;其包括三方面的含义&#xff1a; &#xff08…

离散数学_十章-图 ( 1 ):图的相关定义

&#x1f4f7;10.1 图 1. 图的定义2. 有限图 和 无限图3. 多重边、多重图4. 简单图 和 伪图5. 有向图 、无向图 、混合图5.1 简单有向图5.2 多重有向边 → 有向多重图 表1 图术语 图是一种非线性的数据结构&#xff0c;也是由顶点和连接顶点的边构成的离散结构 根据图中的边是…

lintcode-图的拓扑排序(java)

拓扑排序 拓扑排序-lintcode原题题目介绍解题思路代码演示解题方法二 (参考,不用掌握)前置知识 图的拓扑序和深度优先遍历和广度优先遍历 拓扑排序-lintcode原题 127.拓扑排序-原题链接,可以点进去测试 题目介绍 描述 给定一个有向图&#xff0c;图节点的拓扑排序定义如下: 对…

【利用AI让知识体系化】拍了拍AST

文章目录 I. 介绍什么是抽象语法树&#xff08;AST&#xff09;AST 和编译器的关系AST 在前端开发中的应用 II. 构建 AST词法分析器&#xff08;Lexer&#xff09;的作用语法分析器&#xff08;Parser&#xff09;的作用如何使用工具生成 AST III. AST 的结构AST 的节点类型如何…

深度学习 - 51.推荐场景下的 Attention And Multi-Head Attention 简单实现 By Keras

目录 一.引言 二.计算流程 1.Attention 结构 2.Multi-Head Attention 结构 三.计算实现 1.Item、序列样本生成 2.OwnAttention Layer 实现 2.1 init 初始化 2.2 build 参数构建 2.3 call 逻辑调用 3.OwnAttention Layer 测试 四.总结 一.引言 Attention And Multi…

minio在window和linux下部署权限控制添加,JAVA代码实现

minio部署启用 参考官方&#xff0c;根据不同的操作系统&#xff0c;按照步骤部署 minio官网地址https://www.minio.org.cn/docs/minio/windows/index.html minio权限添加 minio权限添加https://blog.csdn.net/xnian_/article/details/130841657 windows环境部署 安装最小I…

chatgpt赋能python:Python与USB的结合——打造更高效的设备连接

Python与USB的结合——打造更高效的设备连接 Python作为一门广泛应用于各个领域的编程语言&#xff0c;在计算机硬件设备方面也有着广泛的运用。在设备连接这一领域中&#xff0c;Python的成功案例就是其与USB的结合。 什么是USB&#xff1f; USB即通用串行总线&#xff08;…

win11 重装 NVIDIA 驱动

文章目录 win11 重装 NVIDIA 驱动1. 安装并使用驱动卸载工具 DDU2. 下载并安装 NVIDIA Toolkit3. 查看 CUDA 版本 win11 重装 NVIDIA 驱动 1. 安装并使用驱动卸载工具 DDU 浏览器搜索并下载安装 DDU win R 输入 msconfig 进入安全模式 重启后在安全模式下打开 DDU 完成卸…

讯飞星火_VS_文心一言

获得讯飞星火认知大模型体验授权&#xff0c;第一时间来测试一下效果&#xff0c;使用申请手机号登录后&#xff0c;需要同意讯飞SparkDesk体验规则&#xff0c;如下图所示&#xff1a; 同意之后就可以进行体验了&#xff0c;界面如下&#xff1a; 讯飞星火效果体验 以下Promp…