主页

索引

模块索引

搜索页面

PKCS

PKCS(Public-Key Cryptography Standards,公钥密码学标准)是由RSA Laboratories定义的一系列标准,用于指导公钥密码学的实现和应用。PKCS标准涵盖了许多与公钥加密相关的主题,包括加密、签名、密钥交换、证书等。下面是一些主要的PKCS标准和它们的用途:

PKCS #1

  • PKCS #1定义了RSA公钥密码系统的标准,包括RSA加密、解密、签名和验证的细节。它包括了RSA加密的填充方案,如PKCS #1 v1.5填充和OAEP填充,并规定了RSA签名的填充方案,如PKCS #1 v1.5签名和PSS签名。

  • PKCS#1 是 RSA 专用的序列化格式,包含 RSA 密钥的特定信息,例如模数、私钥指数、质数因子等。这种格式通常用于存储 RSA 私钥,可以用 OpenSSL 直接处理。

PKCS #5

PKCS #5(也称为PBKDF2)定义了基于密码的密钥派生函数。这用于从用户密码中生成加密密钥。它通常用于密码管理和存储。

PKCS #7

  • Cryptographic Message Syntax Standard

  • PKCS #7定义了加密和签名的消息格式,也称为CMS(Cryptographic Message Syntax)。这个标准用于封装加密数据或数字签名的数据,并提供完整性和认证。

  • 请参阅 RFC 2315。用于在 PKI 下对消息进行签名和/或加密。还用于证书传播(例如,作为对 PKCS #10 消息的响应)。形成了 S/MIME 的基础,截至 2010 年,它基于 RFC 5652(更新的加密消息语法标准 (CMS))。通常用于单点登录。

PKCS #8

  • Private-Key Information Syntax Standard

  • PKCS #8定义了私钥信息的标准,包括其序列化和加密方式。这个标准用于将私钥存储在文件中,可以以PEM或DER格式表示,并可以选择性地加密以增加安全性。

  • 请参阅 RFC 5958。用于携带私有证书密钥对(加密或未加密)

  • PKCS#8 是一种通用的私钥格式,支持多种加密算法,包括 RSA、EC(椭圆曲线)等。与 PKCS#1 不同,PKCS#8 可以包含加密算法标识和其他元数据。这种格式可以使用 OpenSSL 和其他加密库进行处理,并且具有更好的兼容性。

PKCS #10

  • PKCS #10定义了证书签名请求(CSR)。这个标准用于生成请求,通常由证书颁发机构(CA)来签署,以获得X.509证书。

PKCS #12

  • Personal Information Exchange Syntax Standard

  • PKCS #12定义了加密的私钥和证书的容器格式,通常用于存储和传输包含私钥和证书的完整证书链。这个标准通常用于导出或导入私钥和相关的证书链。

  • 请参阅 RFC 7292。定义一种文件格式,通常用于存储私钥和附带的公钥证书,这些证书受基于密码的对称密钥保护。PFX 是 PKCS #12 的前身。

  • 此容器格式可以包含多个嵌入对象,例如多个证书。通常使用密码进行保护/加密。可用作 Java KeyStore 的格式,并在 Mozilla Firefox 中建立客户端身份验证证书。可由 Apache Tomcat 使用。

主页

索引

模块索引

搜索页面