首页 > 代码库 > 使用OpenSSL将pfx证书转换成cer格式的证书

使用OpenSSL将pfx证书转换成cer格式的证书

在工作中遇到一个要将pfx格式的的证书转换为cer格式的需求,原有的做法是将pfx格式的证书先倒入到浏览器中,然后再由浏览器导出,但是这样对于批量操作来说效率太慢,看了一下,可以使用OpenSSL自带的命令完成这个需求。


OpenSSL下载:(Windows)

http://dl.pconline.com.cn/download/355862.html 


安装好OpenSSL,然后到bin目录下,执行以下命令即可完成转换:

openssl pkcs12 -nodes -nokeys -in 1.pfx -passin pass:证书密码 -out 1.cer

如无需加密pem中私钥,可以添加选项-nodes;

如无需导出私钥,可以添加选项-nokeys


如果提示:“WARNING: CAN’T OPEN CONFIG FILE: /USR/LOCAL/SSL/OPENSSL.CNF”,

输入“set OPENSSL_CONF=openssl.cfg”。


附一个批量转换的bat

先安装openssl,pfx文件和密码文件需要一样,例如:

证书.pfx

证书.txt(密码文件)


@echo off&setlocal enabledelayedexpansion
set /p mulu=请将pfx所放文件夹拖进本窗口:
set openssl=C:\OpenSSL-Win32\bincls
for /r %mulu% %%i in (*.pfx) do (
set pfxname=%%~ni
set fname=%%i
set passfile=!fname:~0,-4!.txt
echo !pfxname!
::echo !passfile!
set /p pass=<!passfile!
::echo !pass!
set OPENSSL_CONF=%openssl%openssl.cfg
%openssl%openssl pkcs12 -nodes -nokeys -in !fname:~0,-4!.pfx -passin pass:!pass! -out !fname:~0,-4!.cer
)
echo 转换完毕.!
pause>nul


使用OpenSSL将pfx证书转换成cer格式的证书