通过Windows中的OpenSSL为我的Android应用程序创建带有自签名证书的PKCS#12文件

27 android openssl certificate pkcs#12

我正在编写一个Android应用程序,需要对某些Web请求进行SSL认证.我需要.pfx使用自签名证书构建PKCS12文件().

我决定使用OpenSSL库,但我无法在我的计算机上构建它(Windows x64平台).我想在没有安装ActivePerl的情况下这样做.谁知道简单的方法来构建它?

我试图在我的朋友计算机上使用OpenSSL构建一个PKCS12文件(使用OpenSSL,Linux),但我什么都没得到.任何人都可以帮助我,并描述使用私钥和自签名公共证书生成PKCS12文件的操作顺序?

Plo*_*oon 73

Win32 OpenSSL安装项目致力于提供OpenSSL的简单安装.通过简单有效的安装程序,它易于设置和使用.无需编译任何内容或跳过任何环节,只需单击几次即可安装,让您完成实际工作.你可以在这里得到它.在您的情况下,您需要Win64 OpenSSL v1.0.1e安装程序.

这些说明显示了如何生成适用于HTTPS,FTPS的PKCS#12私钥和公共证书文件.这些说明假定您已下载并安装了OpenSSL的Windows二进制分发版.

1.生成RSA私钥:

>C:\Openssl\bin\openssl.exe genrsa -out <Key Filename> <Key Size>

哪里:

<Key Filename> 是私钥文件的所需文件名

<Key Size> 是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.根据请求生成自签名公共证书:

>C:\Openssl\bin\openssl.exe x509 -req -days 3650 -in <Request Filename> -signkey <Key Filename> -out <Certificate Filename>

哪里:

<Request Filename> 是证书签名请求的输入文件名

<Key Filename> 是先前生成的私钥的输入文件名

<Certificate Filename> 是公共证书的输出文件名

例如,键入:

>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格式的公共证书的输入文件名

<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)文件和公共证书(.crt)文件.

生成的PKCS#12格式文件现在可以在Secure FTP Server - FIPS中使用.

生成的PKCS#12格式(.pfx)文件现在可以与Firefox浏览器版本34.0.5一起使用.


Oli*_*nig 7

我使用了https://geekflare.com/openssl-commands-certificates/上的信息,并仅通过两个步骤就成功了:

  1. openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:4096 -keyout mykey.key -out mypem.pem

  2. openssl pkcs12-导出-out myp12.p12 -inkey mykey.key -in mypem.pem