计算机科学

首页 > 计算机科学

PKCS 12

PKCS #12
扩展名 .p12, .pfx
互联网媒体类型 application/x-pkcs12
统一类型标识 0
开发者 RSA Security
初始版本 1996年 (1996)
最新版本
PKCS #12 v1.1
(2012年10月27日,​5年前​(2012-10-27)
格式类型 Archive file format
专门属 X.509 public key certificates, X.509 private keys, X.509 CRLs, generic data
延伸自 Microsoft PFX file format

在密码学中,PKCS #12 定义了一种存档文件格式,用于实现存储许多加密对象在一个单独的文件中。通常用它来打包一个私钥及有关的 X.509 证书,或者打包信任链的全部项目。[1]

一个 PKCS #12 文件通常是被加密的,同时单独存在(存档文件格式)。其被称作"安全包裹"的内部存储容器通常同时也被加密及单独存在。一些安全包裹被预先定义用来存储证书,私钥以及证书吊销列表。根据不同实现者的选择,也可以使用一些安全包裹存储其他任意数据。 [2][3]

PKCS #12 是 RSA 实验室发布的公钥密码学标准之中的一员。

PKCS #12 文件扩展名为 ".p12 "或者 ".pfx"。[4]

这些文件可以通过使用 OpenSSL pkcs12 命令被创建、解析并读出。[5]

目录

  • 1 与PFX文件格式的关系
  • 2 通常用法
  • 3 参考文献
  • 4 外部链接

与PFX文件格式的关系

PKCS #12 是微软 PFX 文件的替代者;[6] 然而,"PKCS #12 文件" 和 "PFX 文件" 这两个词有时被相互替代使用用。[7]

微软的 "PFX" 因作为最复杂的密码学协议之一而受到大量批评。

通常用法

完整的 PKCS #12 标准非常复杂。它使得大量的复杂对象(例如PKCS #8)可以深层次地嵌套。但在实际应用中通常只用来存储一个私钥以及与之有关的证书链。

PKCS #12 文件通常使用 OpenSSL 来创建,OpenSSL 只支持在命令行界面使用单个私钥。在 Java 8 之后,可以使用 Java 密钥工具创建多个条目,但这很有可能不被其他系统所兼容。下一代的 KMIP 也将可以直接用来创建 PKCS #12 文件。 [来源请求]

对于 PKCS #12 来说,一个更简单的替代方案是使用 PEM 格式,它仅仅列出证书,可能还有与之有关的私钥,以 Base 64 字符串的形式存储于一个纯文本文件中。

也可以使用 GnuTLS 证书工具(参数 --to-pk12)来创建包含证书、密钥、CA认证证书的 PKCS #12 文件。然而,要注意与其他软件的可交换性。如果源是通过 Base 64 处理过的字符串,则输出也同样应该使用 Base 64。 

参考文献

  1. ^ http://help.globalscape.com/help/secureserver3/Generating_a_PKCS_12_private_key_public_certificate.htm
  2. ^ PKCS #12: Personal Information Exchange Syntax Standard. RSA Laboratories. [2016-02-09]. This standard specifies a portable format for storing or transporting a user's private keys, certificates, miscellaneous secrets, etc. 
  3. ^ PKCS 12 v1.0: Personal Information Exchange Syntax (PDF). RSA Laboratories. 1999-06-24 [2013-03-14]. [永久失效链接]
  4. ^ Michel I. Gallant. PKCS #12 File Types: Portable Protected Keys in .NET. Microsoft Corporation. March 2004 [2013-03-14]. All Windows operating systems define the extensions .pfx and .p12 as Personal Information Exchange, or PKCS #12, file types. 
  5. ^ OpenSSL: Documents, pkcs12(1). OpenSSL Project. 2013-01-17 [2017-03-23]. The pkcs12 command allows PKCS#12 files (sometimes referred to as PFX files) to be created and parsed. 
  6. ^ Peter Gutmann. Lessons Learned in Implementing and Deploying Crypto Software (PDF). The USENIX Association. August 2002 [2013-03-14]. In 1996 Microsoft introduced a new storage format ... called PFX (Personal Information Exchange) ... it was later re-released in a cleaned-up form as PKCS #12 
  7. ^ Peter Gutmann. PFX - How Not to Design a Crypto Protocol/Standard. 1998-03-12 [2013-03-14]. 

外部链接

  • PKCS #12 v1.1: Personal Information Exchange Syntax. RSA Laboratories. 
  • Moriarty, K.. PKCS #12: Personal Information Exchange Syntax v1.1. IETF. July 2014. RFC 7292. 
  • Overview about PKCS#12 capabilties, usage, implementations, history and future: Ryan Hurst and Yury Strozhevsky. The PKCS#12 standard needs another update. Unmitigated Risk Blog. 2015-12-02. (原始内容存档于2017-03-03). 

上一篇:身份验证
下一篇:安全关联
相关推荐