一般情况下ubuntu和mac系统都会自带openssl,安装之前先测试一下,打开终端,输入openssl,如果出现以下画面,即已安装。

root@jiang:/home/kevin/work/openssl# openssl
OpenSSL>

如果系统没有安装可执行以下命令进行安装:

 sudo apt-get install openssl

安装完成之后既可以使用了

首先需要进入openssl交互界面,在终端输入openssl命令即可

1.生成RSA私钥

OpenSSL> genrsa -out rsa_private_key.pem 

该命令会生成2048位的私钥,同时会在当前路径下生成rsa_private_key.pem文件.

2.把RSA私钥转换成PKCS8格式

openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
pkcs8: Use -help for summary.
error in pkcs8

输入命令后如果出现上面报错情况可尝试去掉最后的 -nocrypt

root@jiang:/home/kevin/work/openssl# openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM
Enter Encryption Password:
Verifying - Enter Encryption Password:

如果出现输入加密密码的信息即为成功,输入两次加密密码就会出现秘钥信息,下面代码中从-----BEGIN ENCRYPTED PRIVATE KEY-----开始到-----END ENCRYPTED PRIVATE KEY-----为止都是秘钥内容。

3.  生成RSA公钥

输入 openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 命令,若出现writing RSA key则公钥生成成功,如下图:

root@jiang:/home/kevin/work/openssl# openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
writing RSA key

最后是这个命令生成的公钥,支付宝成功可以用的rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

此时在当前路径下会出现一个名为rsa_public_key.pem的文件,其内容就是公钥。

二.

最新文章

  1. Oozie分布式任务的工作流——邮件篇
  2. webstorm运行到服务器(Apache)
  3. (转)解释一下SQLSERVER事务日志记录
  4. Linux下文件和目录的相关操作
  5. 利用Python抓取CSDN博客
  6. vs2015体验
  7. jQuery基础---Ajax基础教程
  8. window.close()方法对谷歌和火狐浏览器无效
  9. Tomcat管理页面配置
  10. 客户端不能连接MySQL - 2003-Can't connect to MySQL server on '192.168.43.180'(10060 "Unknown error")
  11. 在eclipse中安装svn插件
  12. 解决Android SDK Manager无法更新下载
  13. Spring Boot使用@Async实现异步调用:自定义线程池
  14. python学习之老男孩python全栈第九期_day007作业
  15. java.lang.ClassNotFoundException: com.sun.image.codec.jpeg.JPEGCodec
  16. Just Cause系列游戏品鉴
  17. jenkins学习之centos6.9下安装
  18. Winform 子窗体设置刷新父窗体
  19. Bzoj4710 [Jsoi2011]分特产
  20. 【BZOJ】1596: [Usaco2008 Jan]电话网络(树形dp+特殊的技巧)

热门文章

  1. 注意!黑客可以通过CSS3功能攻击浏览器
  2. 【python实例】统计字符串里大写字母,小写字母的个数和非字母的个数
  3. Java 9 在win10环境搭建
  4. Halo(九)
  5. objc_setAssociatedObject 关联对象
  6. 从React Native到微服务,落地一个全栈解决方案
  7. 【Flutter学习】基本组件之Webview组件
  8. Security基础(三):OpenSSL及证书服务、邮件TLS/SSL加密通信
  9. Python基础教程(016)--Python2和Python3的介绍
  10. php7和MongoDB插入并读取数据