您目前的位置: 消息与通知 > 行业资讯

SSL证书格式和证书文件如何进行扩展名

发布于 2024-08-30 14:09:41  来源:衡天主机  作者:衡天编辑组

  要了解SSL证书是什么以及它是如何工作的,其实很容易。但说到在服务器上安装,有时你可能会觉得这是一门火箭科学。
  有如此多的SSL证书格式与特定的服务器要求挂钩,你更有可能感到困惑和沮丧,而不是从一开始就正确配置证书。但这种情况即将改变。
  在本综合指南中,我们将剖析每种SSL证书格式和证书文件扩展名,并向你展示两种转换不同文件类型的方法。
  让我们从基础知识开始。所有SSL证书都是x.509证书。这是公钥证书的标准格式,用一种名为“抽象语法符号一“的正式语言表达。关于X.509的结构,我们不再赘述;您可以在维基网站上阅读相关信息。我们在此讨论SSL证书格式,如DER、PEM、PKCS#7和PKCS#12。
  区分它们的简单方法是看它们的编码。
  PEM和PKCS#7使用BaseASCII(美国信息交换标准码)编码。对于包含文本的文件来说,这是一种流行的标准。
  DER和PKCS#12使用二进制编码,这是一种仅由0和1组成的二进制数字系统。
  由于格式和编码不同,SSL证书有许多文件扩展名。
  SSL证书格式和文件扩展名
  让我们仔细研究一下每种格式及其SSL证书文件扩展名。您将发现每个缩写背后的含义,以及什么系统最常用这个缩写。
  DER格式
  DER是DistinguishedEncodingRules的缩写,是一种二进制编码格式,在Windows以外很少使用。它包含在.der或.cer文件中。


   
  PEM格式
  PEM是最常用的SSL证书格式,也是你可能会遇到的格式。大多数CA都提供PEM格式的SSL证书,证书文件扩展名各不相同,如.pem、.crt、.cer或.key。
  PEM是“隐私增强型电子邮件“(Privacy-EnhancedEmail)的缩写,您可能想知道电子邮件与SSL证书有什么关系?长话短说,PEM的主要工作失败了,但作为一种容器格式却得到了应用。
  从本质上讲,PEM文件是Base64编码的DER文件,其中的0和1是用可打印字符序列编码的。这样,你就可以用任何文本编辑器(包括记事本)打开它们。
  单个.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文件一样,它可以在一个.pfx文件中包含整个SSL证书链和密钥对。主要区别在于PCKS#12是一个受密码保护的容器。
  某些服务器系统会在生成CSR时提示输入密码,您可以使用密码打开.pfx文件。
  SSL格式转换
  既然你已经知道了SSL证书格式及其多种证书文件扩展名,那么是时候揭示你真正期待的东西了–如何将SSL证书转换成任何格式。
  与大多数文件转换一样,有多种不同的方法。最快捷的方法是使用SSL自动转换工具。你只需选择所需的操作,例如将PEM转换为PKCS#7,上传文件,然后点击“转换”。
  您也可以使用免费的OpenSSL软件库来转换SSL文件。该实用程序可在几乎所有现有服务器上启用SSL/TLS协议。许多平台和Linux发行版都预装了OpenSSL工具。对于Windows,您需要获取安装包。
  将X.509转换为PEM
  要将X.509转换为PEM,请在OpenSSL中运行以下命令:
  opensslx509-incertificatename.cer-outformPEM-outcertificatename.pem
  将DER转换为PEM
  将二进制编码转换为Base64ASCII。
  要将DER转换为PEM,请运行以下命令:
  opensslx509-informder-incertificatename.der-outcertificatename.pem
  将PEM转换为DER
  Base65ASCII转换为二进制编码。
  要将PEM转换为DER,请运行以下命令:
  opensslx509-informder-incertificatename.der-outcertificatename.pem
  将PEM转换为PKCS#7
  .p7b文件不包括私人密钥。
  要将PEM转换为PKCS#7,请运行以下命令:
  opensslcrl2pkcs7-nocrl-certfilecertificatename.pem-outcertificatename.p7b-certfileCACert.cer
  将PKCS#7转换为PEM
  要将PKCS#7转换为PEM,请运行以下命令:
  opensslpkcs7-print_certs-incertificatename.p7b-outcertificatename.pem
  将PKCS#12转换为PEM
  PKCS#12文件受密码保护。
  要将PKCS#12转换为PEM,请运行以下命令:
  opensslpkcs12-incertificatename.pfx-outcertificatename.pem
  将PKCS7转换为PKCS12
  这需要两个步骤。首先将P7B文件转换为CER,然后将CER和私钥合并为PFX。
  opensslpkcs7-print_certs-incertificatename.p7b-outcertificatename.cer
  opensslpkcs12-export-incertificatename.cer-inkeyprivateKey.key-outcertificatename.pfx-certfilecacert.cer
  差不多就是这样。现在你可以快速转换任何类型的SSL文件并将其安装到服务器上。
  了解SSL证书格式、证书文件扩展名以及如何将它们转换为所需配置是一项宝贵的技能,它将帮助你在任何系统上无缝安装SSL证书。
  选择正确的SSL格式可确保网络服务器、电子邮件客户端、VPN设备和网络的稳定加密和安全连接。