美文网首页深入学习iOSiOSiOS知多少
Mac OSX 使用OpenSSL生成RSA公匙、私匙(pem)

Mac OSX 使用OpenSSL生成RSA公匙、私匙(pem)

作者: 阳光的大男孩儿 | 来源:发表于2016-01-12 15:53 被阅读7576次

    说明:RSA为一种加密算法,生成的文件格式有两种,一种是PEM格式,另一种是DER格式,在Mac OSX 里面,pem格式是不能打开的,因此我们生成PEM文件之后,需要生成DER格式。需要按着下面的步骤走。

    .DER=扩展名DER用于二进制DER编码的证书。这些证书也可以用CER或者CRT作为扩展名。比较合适的说法是“我有一个DER编码的证书”,而不是“我有一个DER证书”。

    .PEM=扩展名PEM用于ASCII(Base64)编码的各种X.509 v3 证书。文件开始由一行"—–BEGIN …“开始

    1.mac 自带openssl环境,不用安装,直接使用openssl就可以。

    2.打开终端。

    3.输入命令行:baomatoMac-mini:~ lixiangyang$   openssl(打开openssl环境)

    4.继续下一步命令行:OpenSSL>   genrsa -out rsa_private_key.pem 1024 (命令生成私匙)     下面是输出结果: 

    Generating RSA private key, 1024 bit long modulus

    ........................................++++++

    ..++++++

    e is 65537 (0x10001)

    5.下一步:OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt(命令把RSA私钥转换成PKCS8格式,密码为空就行)注意:转化之后生成的pem格式的文件(文本编译器打开的字符串),是pkcs8文件。下面的字符串是原始 的私钥key。

    下面是输出结果:

    Enter Encryption Password:(密码 )

    Verifying - Enter Encryption Password:(再一次确认密码)

    -----BEGIN ENCRYPTED PRIVATE KEY-----

    MIICoTAbBgkqhkiG9w0BBQMwDgQInAB4b4BNL0ECAggABIICgF27qIz6cNwxy8Jg

    JhWUK8kIqHLwZRznHTIBCZlu9eZHa1a0+p7FWmufYgfZz9Kz3GeK5cxILrxmwci1

    TTP6Qthak7lWJLO5gJH47HBd50OeXdZWt6xD6Vp+YzyaztpmZ8SLMi5aGKw1CBVc

    Dw1oJzD4BIk9LBYo9kqvZODp4waytDjaZDhnN65t8+R4TbnMK7yVsT+fTGCMkQmu

    cr34jGOhoUYZBcwtxWwNbRptftnUwgdaV5jrKnQ5rJsxU3Bx+3SuaRZS7ef0Z9yO

    ADpW6NACI3R9+6DT3k66qTfbz9F/tLVO6flZ8g9TY2zTJKtGYmb1N/ll0qAXFh7s

    lD2WZhPdYGozICMWi1MvT55RI3hlosilQW8Ff5IXNmzFs7RgZlvfVRzVlryPXu5I

    QWKnNUamRN88grHSBuXYesp/cwze0D9ma8LavoVmjaKVT85SU3J9PbPoSjbTc/nP

    f20u0Gsx0bQdeMOswMpWe/AQeGj/MSs59ae93SfvWnQi0ONWeBkrQUD6OskrOJeo

    jsmevTmubk191W9WiX/klOyGI/YXjl99qNmQo5wx6fWOfdRQ4/Urw5z9tozAXL5s

    hYdUmV+eiNgddM/cdxpDbJtXhSvpq1RXqhBTsMPctCB8EUfG6adJ4ZgjZ8eTA3FF

    2btbQ5Fqrw/y5ZFvqYlryKqoPgCa7gtKU8wQHkzDpfGUSX1eXfJQ1HZxywY44YlZ

    sWwVNuVwDvnd2ZkZqHjqbyOHXPnORR8fvteaGJazD2VW8DaPMc0xIplN/Prp5VPj

    nBnevsF7WDREV4cUVw5I7SsPWOMl0X/OocZOE3IPx364H6DkpYryfVs/rDWgqweK

    AphvBEA=

    -----END ENCRYPTED PRIVATE KEY-----

    6.下一步:OpenSSL>  rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem  (命令生成公匙)

    下面是结果:

    writing RSA key


    配置终端生成图片:

    7.生成  .der 文件

    OpenSSL> req -new -out cert.csr -key rsa_private_key.pem(创建证书请求)

    下面是输出结果:

    You are about to be asked to enter information that will be incorporated

    into your certificate request.

    What you are about to enter is what is called a Distinguished Name or a DN.

    There are quite a few fields but you can leave some blank

    For some fields there will be a default value,

    If you enter '.', the field will be left blank.

    -----

    Country Name (2 letter code) [AU]:

    8.下一步根据提示敲回车,填写证书的内容:英文模板如下:

    中文模板:

    9.下一步:

    OpenSSL> x509 -req -in cert.csr -out rsa_public_key.der -outform der -signkey rsa_private_key.pem -days 3650(自签署根证书)

    输出结果:

    Signature ok

    subject=/C=CN/ST=Hangzhou/L=Zhejiang Provice/O=WDWL/OU=WDWL/CN=WDWL/emailAddress=xxxxxxx@163.com

    Getting Private key


    10.下一步:OpenSSL>exit ## (关闭OpenSSL)

    结果:

    baomatoMac-mini:~ lixiangyang$

    11.生成的RSA公匙私匙 与 DER 文件:


    12.当生成这三个文件的时候,需要在Finder里面搜索,才能找到,并将三个文件拖到桌面上来 ,下面是图的步骤。



    13.验证证书。直接将rsa_public_key.der 拖到Xcode里面,双击打开,就会看到下面的情况。表示成功。

    14.通过Mac自带的  文本编辑  打开两个文件,并且将生成的字符串记录下来。将公匙传到支付宝平台上。

    11.参考链接:

    一》生成RSA官方链接: http://www.openssl.org/docs/manmaster/apps/rsa.html

    二》生成RSA  pem文件:  http://blog.sina.com.cn/s/blog_6f72ff900102v408.html

    三》生成RSA  pem文件:     http://blog.csdn.net/fenglibing/article/details/8610280

    四》生成DER:http://blog.sina.com.cn/s/blog_8589a6890102vitk.html

    五》ios下使用rsa算法与php进行加解密通讯:https://blog.yorkgu.me/2011/10/27/rsa-in-ios-using-publick-key-generated-by-openssl/

    六》der与pem文件格式的区别:  http://blog.sina.com.cn/s/blog_a9303fd90101jmtx.html

     

    相关文章

      网友评论

      • 5cf3d9e58c67:pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt为什么我在mac下执行这行命令报错了,提示unknown option '–nocrypt'

      本文标题:Mac OSX 使用OpenSSL生成RSA公匙、私匙(pem)

      本文链接:https://www.haomeiwen.com/subject/nocckttx.html