目录
OpenSSL介绍
使用OpenSSL
生成私钥
生成公钥
生成Java和Android的私钥
创建证书请求文件
生成数字证书
生成iOS使用的公钥文件
生成iOS使用的私钥文件
关于什么是密钥、RSA加密等相关知识之前有说过,不熟悉的可以看下这个文章。
OpenSSL介绍
OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具,一个自由的软件组织,专注做加密和解密的框架。
我下面使用的OpenSSL直接在终端生成,还有其他各种语言自己的工具类也可以。
使用OpenSSL
在你操作系统的终端,输入下面命令即可。
然后就可以开始使用OpenSSL了。
生成私钥
该命令生成一个模长2048位,名字为rsa_private_key.pem、PKCS1格式的RSA私钥文件。参数说明如下:
genrsa:指定生成算法使用RSA。
-out:后面参数是生成的私钥的文件名。
1024:生成私钥的模长,单位字节(bits),默认为1024,也可选2048。
生成公钥
根据生成的私钥rsa_private_key.pem文件,生成公钥rsa_public_key.pem文件
生成Java和Android的私钥
生成名字为rsa_pkcs8_private_key.pem的私钥文件
Java 和 Android用到的密钥:
公钥:rsa_public_key.pem
私钥:rsa_pkcs8_private_key.pem
创建证书请求文件
终端会提示输入国家、省市、所在地、组织、组织单位、常用名称、邮箱地址等信息,按要求填写(可以随便填写),输入完对应信息后会提示输入一个密码:
最终会生成rsacert.csr 文件。
生成数字证书
用最开始生成的私钥rsa_private_key.pem和rsacert.csr证书请求文件生成一个数字证书rsacert.crt
生成iOS使用的公钥文件
使用x509工具自建CA。由于x509无法建立证书请求文件,所以只能使用openssl req来生成请求文件,然后使用x509来自签署, 也可以用来签署他人的证书请求,即为他人颁发证书。
生成iOS使用的私钥文件
终端会提示设置密码,该密码是.p12私钥的密码(用private_key.p12私钥解密时, 要用到该密码,需要记录下), 会提示再次输入检验刚才输入的密码.。