我正在编写一个需要对某些Web请求进行SSL认证的Android应用。我需要使用自签名证书构建PKCS12文件(.pfx
)。
我决定使用OpenSSL库,但是无法在我的计算机(Windows x64平台)上构建它。我想在没有安装ActivePerl的情况下进行操作。谁知道构建它的简单方法?
我试图在我的 friend 计算机(使用OpenSSL,Linux)上使用OpenSSL构建PKCS12文件,但是我什么也没得到。谁能帮助我,并描述使用私钥和自签名公共(public)证书生成PKCS12文件的操作顺序?
最佳答案
Win32 OpenSSL安装项目致力于提供简单的OpenSSL安装。通过简单,有效的安装程序,易于设置和使用。无需编译任何内容或跳过任何箍,只需单击几次,它便已安装,让您可以进行真正的工作。您可以获取它here。在您的情况下,您需要Win64 OpenSSL v1.0.1e
安装程序。
这些说明说明如何生成适用于HTTPS,FTPS的PKCS#12私钥和公共(public)证书文件。
这些说明假定您已经下载并安装了Windows OpenSSL二进制发行版。
1.生成RSA私钥:>C:\Openssl\bin\openssl.exe genrsa -out <Key Filename> <Key Size>
在哪里:<Key Filename>
是私钥文件所需的文件名<Key Size>
是所需的 key 长度,可以是1024、2048或4096
例如,键入:>C:\Openssl\bin\openssl.exe genrsa -out my_key.key 2048
。
2.生成证书签名请求:
在0.9.8h及更高版本中:>C:\Openssl\bin\openssl.exe req -new -key <Key Filename> -out <Request Filename> -config C:\Openssl\bin\openssl.cfg
在哪里:<Key Filename>
是先前生成的私钥的输入文件名<Request Filename>
是证书签名请求的输出文件名
例如,键入:>C:\Openssl\bin\openssl.exe req -new -key my_key.key -out my_request.csr -config C:\Openssl\bin\openssl.cnf
3.按照屏幕上的提示输入所需的证书申请信息。
4.根据以下请求生成自签名的公共(public)证书:>C:\Openssl\bin\openssl.exe x509 -req -days 3650 -in <Request Filename> -signkey <Key Filename> -out <Certificate Filename>
在哪里:<Request Filename>
是证书签名请求的输入文件名<Key Filename>
是先前生成的私钥的输入文件名<Certificate Filename>
是公共(public)证书的输出文件名
例如,键入:>C:\Openssl\bin\openssl.exe x509 -req -days 3650 -in my_request.csr -signkey my_key.key -out my_cert.crt
5.生成PKCS#12文件:>C:\Openssl\bin\openssl.exe pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in <Public Certificate Filename> -inkey <Private Key Filename> -out <PKCS#12 Filename> -name "<Display Name>"
在哪里:<Public Certificate Filename>
是PEM格式的公共(public)证书的输入文件名<Private Key Filename>
是私钥的输入文件名<PKCS#12 Filename>
是pkcs#12格式文件的输出文件名<Display Name>
是所需的名称,有时会在用户界面中显示。
例如,键入:>C:\Openssl\bin\openssl.exe pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in my_cert.crt -inkey my_key.key -out my_pkcs12.pfx -name "my-name"
6.(可选)删除不需要的文件。
此时,您只需要PKCS#12格式的文件,因此可以删除证书签名请求(.csr
)文件,私钥(.key
)文件和公共(public)证书(.crt
)文件。
生成的PKCS#12格式文件现在可以在安全FTP服务器-FIPS中使用。
生成的PKCS#12格式(.pfx)文件现在可以与Firefox浏览器34.0.5版一起使用。