[英]Create PKCS#12 file with self-signed certificate via OpenSSL in Windows for my Android App
我正在编写一个Android应用程序,需要对某些Web请求进行SSL认证。 我需要使用自签名证书构建PKCS12文件( .pfx
)。
我决定使用OpenSSL库,但我无法在我的计算机上构建它(Windows x64平台)。 我想在没有安装ActivePerl的情况下这样做。 谁知道简单的方法来构建它?
我试图在我的朋友计算机上使用OpenSSL构建一个PKCS12文件(使用OpenSSL,Linux),但我什么都没得到。 任何人都可以帮助我,并描述使用私钥和自签名公共证书生成PKCS12文件的操作顺序?
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一起使用。
我使用了https://geekflare.com/openssl-commands-certificates/上的信息,并且仅通过两个步骤成功完成:
openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:4096 -keyout mykey.key -out mypem.pem
openssl pkcs12 -export -out myp12.p12 -inkey mykey.key -in mypem.pem
如果您查看此站点“ http://www.sslshopper.com/article-most-common-openssl-commands.html ”,它将包含您要查找的大多数常用命令。 最近我必须为亚马逊员工计划这样做,并发现他们的网站也很有用( http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SampleCert)。顺便说一下,你需要安装openssl来运行它(参见: http : //slproweb.com/products/Win32OpenSSL.html )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.