MAC OS下OpenSSL生成私钥和公钥以及RSA加密

Posted 梦思绕指柔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MAC OS下OpenSSL生成私钥和公钥以及RSA加密相关的知识,希望对你有一定的参考价值。

MAC OS自带了OpenSSL,直接在命令行里使用OPENSSL就可以。

(1)生成公钥和私钥

打开命令行工具,然后输入openssl打开openssl,接着只要三句命令就可以搞定。第一句命令生成私钥;第二句命令把RSA私钥转换成PKCS8格式,密码为空就行;第三句命令生成公钥。


Last login: Fri Sep 12 00:59:51 on ttys000

stormerdeiMac:~ stormer$ openssl

OpenSSL> genrsa -outrsa_private_key.pem 1024

Generating RSA private key, 1024 bit long modulus

....++++++

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

e is 65537 (0x10001)

OpenSSL> pkcs8 -topk8 -inform PEM-in rsa_private_key.pem -outform PEM –nocrypt

Enter Encryption Password:

Verifying - Enter Encryption Password:

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

MIICoTAbBgkqhkiG9w0BBQMwDgQIStQxV5Ap0rECAggABIICgCN+n27Qujr/tQ5B

sTUoYmJWY+SBkv4NdwKFgkqPODbbVnpyLyDXO5BDgyjql6mdrOnGmYL1GYoNWHiy

BlBVvGLVwZodummJIVYRTyQoeazUSsdv0ahxf1mpSvhJzHpycUwPo9BY+uLCFISq

bqaZoHhQeKy48+tqSlv1gcff4PFjaws9TUoHQ/S65FYs/Jhhso3fGYIH3jPeU73K

kmKa4Y5tJWdj5SChJPZKUR3/1hw4+KQqpVrTNwkov98gIYhrls/lFTHTM9iWKVY+

GXc2SEbnyDZwx6Wu4N6wnM5iXKNh+wPMM2Fwsml9Pcqh2Z2spG0yaKARhCiVKPTn

mtVK5QcLYlSqmLF/Z3DkI2Pd4ve//1dsyHr9gO+GK0BX1B6ihx0yf21gMRULH7PS

qmQJrMtQCyUfJNtKViVub/dsXGb9bgecAX8xzP2kBlfuNnle45gCTAlqQ53OkCM6

M41P+RQdgJ4OQXVMiiIRZzmYCn+Mxz64B7f5DFU+7tMMQV2rpPBr4aWCXOllkU/Z

h7eRLfnxzoTgm29KIYTabiwQMxa03o9pzJeI9yFvmdwwA40wGknh5PJTFsUJw57r

KV6qZpP8cHzydWqLyJBJ0s2YOALuZI8nd2y3lGK3eyWqDERcD0ChH1sraV2jccB+

oHAq4OU1rAskukhvP7GxUkut7yZGZ9b57L0ILP+764OZOqMlmwsTbO3oKaHi7YeV

xlTS9WQFw2cde1FJXV/IpHR1+mU7OdIXLRQwcWwrguSSEhD4V6YKN5mO69XPuTzD

Q5qYvo7HtFg8SQ6pQZMQFQE0xS7tHf9DjP+XjXUUwJx8C9DPZlMB02bH47cMG6Jf

Q/Zb1I4=

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

OpenSSL> rsa -inrsa_private_key.pem -pubout -outrsa_public_key.pem

writing RSA key


最后附上截图。


生成的文件:


(2)生成.der文件

1、创建证书请求(按照提示输入信息)

openssl req -new -out cert.csr -key private_key.pem

2、自签署根证书

openssl x509 -req -in cert.csr -out rsa_public_key.der -outform der-signkey rsa_private_key.pem -days 3650

3、验证证书。把public_key.der拖到xcode中,如果文件没有问题的话,那么就可以直接在xcode中打开,看到证书的各种信息。如下图所示:

参考:

1. (原创)如何生成以及导入X.509证书

http://hi.baidu.com/five00/blog/item/43bf1fd77df2d8d9a044df39.html

2. ios下使用rsa算法与php进行加解密通讯

http://blog.yorkgu.me/2011/10/27/rsa-in-ios-using-publick-key-generated-by-openssl/

3. Certificate, Key, and Trust ServicesReference

http://developer.apple.com/library/mac/#documentation/security/Reference/certifkeytrustservices/Reference/reference.html

4. X509

http://baike.baidu.com/view/2841580.htm

以上是关于MAC OS下OpenSSL生成私钥和公钥以及RSA加密的主要内容,如果未能解决你的问题,请参考以下文章

MAC生成公钥私钥

HP通过OpenSSL生成证书密钥并且加密解密数据,以及公钥,私钥和数字签名的理解

windows 下OPENSSL 生成秘钥和公钥的方法

用openssl生成SSL使用的私钥和证书,并自己做CA签名

android rsa加解密私钥和公钥怎么用

如何访问 OpenSSL 的 EVP_PKEY 结构中的原始 ECDH 公钥、私钥和参数?