我正在编写一个需要对某些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版一起使用。

10-07 19:10
查看更多