HTTPS证书文件格式转换

简介: 介绍三种常见HTTPS证书格式PEM、PFX、JKS如何相互转换

该文章转载自 OHTTPS.COM - 免费申请HTTPS通配符证书、自动更新、自动部署

  在部署HTTPS证书时,不同的服务器我们需要用到不同格式的证书文件,常见的证书文件格式有以下几种:

  • PEM

    • 适用于Apache、Nginx、Candy Server等Web服务器
    • 常见的文件后缀为.pem、.crt、.cer、.key
    • 可以存放证书或私钥,或者两者都包含
    • .key后缀一般只用于证书私钥文件
  • PFX

    • 适用于IIS等Web服务器
    • 常见的文件后缀为.pfx、.p12
    • 同时包含证书和私钥,且一般有密码保护
  • JKS

    • 适用于Tomcat、Weblogic、JBoss、Jetty等Web服务器
    • 常见的文件后缀为.jks

  Let's Encrypt颁发的HTTPS证书一般包括以下几个文件:

  • cert.key(PEM格式):私钥文件
  • cert.cer(PEM格式):证书文件
  • fullchain.cer(PEM格式):包含证书和中间证书

  下面我们介绍如何使用cert.key、cert.cer、fullchain.cer生成cert.pfx、cert.jks,以及它们之间如何相互转换

  • PEM ===> PFX

    • 工具:openssl
    • 命令:使用cert.key和fullchain.cer文件生成cert.pfx
      openssl pkcs12 -export -out cert.pfx -inkey cert.key -in fullchain.cer
  • PFX ===> JKS

    • 工具:keytool
    • 命令:使用cert.pfx生成cert.jks
      keytool -importkeystore -srckeystore cert.pfx -destkeystore cert.jks -srcstoretype PKCS12 -deststoretype JKS
  • PEM ===> JKS

    • 需要使用上面的两个方法,先将PEM文件转换为PFX文件,然后再将PFX文件转换为JKS文件
  • PFX ===> PEM

    • 工具:openssl
    • 命令1:使用cert.pfx文件生成临时文件temp.cer,temp.cer中包含了证书和私钥
      openssl pkcs12 -in cert.pfx -nodes -out temp.cer
    • 命令2:使用临时文件temp.cer文件生成私钥文件cert.key
      openssl rsa -in temp.cer -out cert.key
    • 命令3:使用临时文件temp.cer文件生成证书文件cert.cer
      openssl x509 -in temp.cer -out cert.cer
    • 命令4:使用cert.pfx生成中间证书文件chain.cer,合并cert.cer、空白行、chain.cer即可得到fullchain.cer
      openssl pkcs12 -in cert.pfx -cacerts -nokeys -chain | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > chain.cer
      echo '\n' > emptyline.cer
      cat cert.cer emptyline.cer chain.cer> fullchain.cer
  • JKS ===> PFX

    • 工具:keytool
    • 命令:使用cert.jks生成cert.pfx
      keytool -importkeystore -srckeystore cert.jks -destkeystore cert.pfx -srcstoretype JKS -deststoretype PKCS12

除了以上这些方法之外,还可以使用在线工具进行证书格式转换,点击证书格式转换工具进行在线格式转换。

目录
相关文章
|
17天前
|
Linux Docker Windows
Docker配置https证书案例
本文介绍了如何为Docker的Harbor服务配置HTTPS证书,包括安装Docker和Harbor、修改配置文件以使用证书、生成自签名证书、配置证书以及验证配置的步骤。
23 2
Docker配置https证书案例
|
1月前
|
安全 Apache Windows
WAMP——配置HTTPS证书
WAMP——配置HTTPS证书
52 1
WAMP——配置HTTPS证书
|
26天前
|
安全 网络安全 Windows
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
|
1月前
|
Web App开发
Chrome浏览器导出HTTPS证书
Chrome浏览器导出HTTPS证书
39 0
Chrome浏览器导出HTTPS证书
|
1月前
|
网络协议 安全 网络安全
免费申请 HTTPS 证书的八大方法
免费申请 HTTPS 证书的八大方法
|
2月前
|
安全 Java 网络安全
RestTemplate进行https请求时适配信任证书
RestTemplate进行https请求时适配信任证书
48 3
|
3月前
|
前端开发 小程序 应用服务中间件
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
在服务器上正确配置域名https证书(ssl)及为什么不推荐使用宝塔申请免费ssl证书
214 4
|
3月前
|
安全 网络安全 Windows
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
在访问App Service的KUDU工具或使用`az webapp deploy`时遇到SSL错误:`SSL: CERTIFICATE_VERIFY_FAILED`。解决方法是临时禁用Azure CLI的SSL验证。在PowerShell中,设置`$env:ADAL_PYTHON_SSL_NO_VERIFY`和`$env:AZURE_CLI_DISABLE_CONNECTION_VERIFICATION`为1;在Windows命令提示符中,使用`set AZURE_CLI_DISABLE_CONNECTION_VERIFICATION=1`。注意,这可能引入安全风险,应仅在必要时使用。
|
3月前
|
运维 Java Serverless
Serverless 应用引擎产品使用合集之是否提供工具来给OSS配置HTTPS证书
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
2月前
|
数据安全/隐私保护
https【详解】与http的区别,对称加密,非对称加密,证书,解析流程图
https【详解】与http的区别,对称加密,非对称加密,证书,解析流程图
51 0