问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

SSL证书格式和证书文件扩展名:完整指南

创作时间:
作者:
@小白创作中心

SSL证书格式和证书文件扩展名:完整指南

引用
网易
1.
https://3g.163.com/news/article/JLF2USLS0518HLI8.html

SSL证书是什么以及它如何工作相当容易理解。但当涉及到在服务器上安装它时,有时,你可能觉得这是在处理火箭科学。

由于有如此多的SSL证书格式与特定服务器要求相关,您更有可能感到困惑和沮丧,而不是从一开始就正确配置证书。但这种情况即将改变。

在此综合指南中,我们将剖析每种SSL证书格式和证书文件扩展名,并向您展示两种如何转换不同文件类型的方法。

证书文件格式 – 基础知识

让我们从基础知识开始。所有SSL证书都是x.509证书。这是用一种称为抽象语法表示法一的形式语言表达的公钥证书的标准格式。我们不会进一步深入研究X.509结构;我们在这里讨论SSL证书格式,例如DER、PEM、PKCS#7和PKCS#12。

区分它们的一个简单的方法是看它们的编码。

PEM和PKCS#7使用BaseASCII(美国信息交换标准代码)编码。这是包含文本的文件的流行标准。

DER和PKCS#12使用二进制编码,即仅由零和一组成的以2为基数的数字系统。

由于格式和编码不同,SSL证书有许多文件扩展名。

SSL证书格式和文件扩展名

让我们仔细检查每种格式及其SSL证书文件扩展名。您将发现每个首字母缩略词背后的含义以及哪个系统最常使用它。

DER格式

DER代表可分辨编码规则,是一种二进制编码格式,在Windows之外很少使用。它包含在.der或.cer文件中。

PEM格式

PEM是最流行的SSL证书格式,也是您最有可能遇到的格式。大多数CA都提供PEM格式的SSL证书,证书文件扩展名各不相同,例如.pem、.crt、.cer或.key。

PEM代表隐私增强电子邮件,您可能想知道电子邮件与SSL证书有什么关系?长话短说,PEM未能完成其主要工作,但发现了其作为容器格式的应用。

本质上,PEM文件是Base64编码的DER文件,其中零和一被编码为可打印字符序列。这样,您可以使用任何文本编辑器(包括记事本)打开它们。

单个.pem文件可以包含服务器证书、中间证书和私钥。或者,您可以在单独的.crt或.cer文件中接收服务器证书和中间证书,而私钥可能位于.key文件中。

PKCS#7格式

PKCS代表公钥加密标准。

PKCS#7是一种用于分发加密数据的多用途SSL证书格式。它主要用于Windows平台和JavaTomcat。

今天,我们实际上正在使用它的后继者CMS(加密消息语法),但就像SSL和TLS一样,旧名称已经变得太熟悉而无法取代。

PKSC#7有两个文件扩展名:.p7b或p7c。与PEM不同,PKCS#7不能存储私钥,只能存储主要证书和中间证书。

PKCS#12格式

PKCS#12是另一种安全性增强的公共加密标准。与PEM文件一样,它可以将整个SSL证书链和密钥对包含在单个.pfx文件中。主要区别在于PCKS#12是一个受密码保护的容器。

有些服务器系统在生成CSR时会提示您输入密码,您可以使用它来打开.pfx文件。

SSL格式转换

现在您已经了解了SSL证书格式及其多个证书文件扩展名,现在是时候揭示您真正等待的内容了——如何将SSL证书转换为任何格式。

与大多数文件转换一样,有多种方法可以完成转换。最快的方法是使用自动SSL转换工具。您只需选择所需的操作(例如,PEM到PKCS#7的转换),上传文件,然后点击转换。

或者,您可以使用免费的OpenSSL软件库来转换SSL文件。此实用程序几乎可以在任何现有服务器上启用SSL/TLS协议。许多平台和Linux发行版都预装了OpenSSL实用程序。对于Windows,您必须获取安装包。

转换命令示例

  • 将X.509转换为PEM:

    openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem
    
  • 将DER转换为PEM:

    openssl x509 -inform der -in certificatename.der -out certificatename.pem
    
  • 将PEM转换为DER:

    openssl x509 -inform der -in certificatename.der -out certificatename.pem
    
  • 将PEM转换为PKCS#7:

    openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b -certfile CACert.cer
    
  • 将PKCS#7转换为PEM:

    openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.pem
    
  • 将PKCS#12转换为PEM:

    openssl pkcs12 -in certificatename.pfx -out certificatename.pem
    
  • 将PKCS7转换为PKCS12:

    这需要两个步骤。首先将P7B文件转换为CER,然后将CER和私钥合并为PFX。

    openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer
    openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer
    

就是这样。现在您可以快速转换任何类型的SSL文件并将其安装到您的服务器上。

了解SSL证书格式、证书文件扩展名以及如何将它们转换为您想要的配置是一项宝贵的技能,它将帮助您在任何系统上无缝安装SSL证书。选择正确的SSL格式将确保Web服务器、电子邮件客户端和网络上的稳定加密和安全连接。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号