The Public-Key Cryptography Standards (PKCS) 是由美国 RSA 数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。
到 1999 年底,PKCS 已经公布了以下标准:
PKCS#1
定义 RSA 公钥密钥 算法的加密和签名机制,主要用于组织 PKCS#7 中所描述的 数字签名和数字信封。
PKCS#3
定义 Diffie-Hellman 密钥 交换协议。
PKCS#5
描述一种利用从口令派生出来的安全密钥加密字符串的方法。使用 MD2 或 MD5 从口令中派生密钥,并采用 DES-CBC 模式加密。主要用于加密从一个计算机传送到另一个计算机的私人密钥,不能用于加密消息。
PKCS#5 填充标准处理的长度只能是 8 字节(8 Byte = 64 bit)。
标签:基于口令的密钥、PBKDF2 算法。
PKCS#6
描述了公钥证书的标准语法,主要描述 X.509 证书的扩展格式。
PKCS#7
定义一种通用的消息语法,包括 数字签名和加密等用于增强的加密机制,PKCS#7 与 PEM 兼容,所以不需其他密码操作,就可以将加密的消息转换成 PEM 消息。
PKCS#7 格式主要用来进行数字签名和数据加密。
PKCS#7 文件后缀一般是 .p7b
或 .p7c
。
PKCS#7 填充标准处理的长度可以是 1 到 255 任意字节。
AES 算法中分组长度没有 8 字节,所以 AES 算法使用 PKCS#7 标准(在 OpenSSL 命令行中默认使用的填充标准即为 PKCS#7 标准)。
PKCS#8
描述私有密钥信息格式,该信息包括公开密钥算法的私有密钥以及可选的属性集等。
PKCS#9
定义一些用于 PKCS#6 证书扩展、PKCS#7 数字签名和 PKCS#8 私钥加密信息的属性类型。
PKCS#10
描述证书请求(CSR)语法。
PKCS#11
PKCS#11:称为 Cyptoki,定义了一套独立于技术的程序设计接口,用于智能卡和 PCMCIA 卡之类的加密设备。
PKCS#12
描述个人信息交换语法标准。描述了将用户公钥、私钥、证书和其他相关信息打包的语法。
PKCS#12 格式可以将证书和密钥对打包成一个文件,还可以对文件进行加密保护。
PKCS#12 文件后缀一般是 .pkcs12
、.pfx
、.p12
。
PKCS#13
椭圆曲线密码体制标准。
PKCS#14
伪随机数生成标准。
PKCS#15
密码令牌信息格式标准。
网友评论