Android、IOS客户端RSA密钥生成

目录

OpenSSL介绍

使用OpenSSL

生成私钥

生成公钥

生成Java和Android的私钥

创建证书请求文件

生成数字证书

生成iOS使用的公钥文件

生成iOS使用的私钥文件


关于什么是密钥、RSA加密等相关知识之前有说过,不熟悉的可以看下这个文章。

链接:公钥、私钥、对称加密、非对称加密、混合加密、摘要、签名、证书及CA

OpenSSL介绍

        OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具,一个自由的软件组织,专注做加密和解密的框架。

        我下面使用的OpenSSL直接在终端生成,还有其他各种语言自己的工具类也可以。 

使用OpenSSL

        在你操作系统的终端,输入下面命令即可。

openssl

        然后就可以开始使用OpenSSL了。

生成私钥

genrsa -out rsa_private_key.pem 1024

        该命令生成一个模长2048位,名字为rsa_private_key.pem、PKCS1格式的RSA私钥文件。参数说明如下:
        genrsa:指定生成算法使用RSA。
        -out:后面参数是生成的私钥的文件名。
        1024:生成私钥的模长,单位字节(bits),默认为1024,也可选2048。

生成公钥

rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

根据生成的私钥rsa_private_key.pem文件,生成公钥rsa_public_key.pem文件 

生成Java和Android的私钥

pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out rsa_pkcs8_private_key.pem

         生成名字为rsa_pkcs8_private_key.pem的私钥文件
        Java 和 Android用到的密钥:
                公钥:rsa_public_key.pem
                私钥:rsa_pkcs8_private_key.pem

创建证书请求文件

req -new -key rsa_private_key.pem -out rsacert.csr

        终端会提示输入国家、省市、所在地、组织、组织单位、常用名称、邮箱地址等信息,按要求填写(可以随便填写),输入完对应信息后会提示输入一个密码:

        最终会生成rsacert.csr 文件。

生成数字证书

x509 -req -days 3650 -in rsacert.csr -signkey rsa_private_key.pem -out rsacert.crt

        用最开始生成的私钥rsa_private_key.pem和rsacert.csr证书请求文件生成一个数字证书rsacert.crt 

生成iOS使用的公钥文件

x509 -outform der -in rsacert.crt -out public_key.der

        使用x509工具自建CA。由于x509无法建立证书请求文件,所以只能使用openssl req来生成请求文件,然后使用x509来自签署, 也可以用来签署他人的证书请求,即为他人颁发证书。 

生成iOS使用的私钥文件

pkcs12 -export -out private_key.p12 -inkey rsa_private_key.pem -in rsacert.crt

        终端会提示设置密码,该密码是.p12私钥的密码(用private_key.p12私钥解密时, 要用到该密码,需要记录下), 会提示再次输入检验刚才输入的密码.。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RickChandler

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值