MAC下使用OpenSSL生成私钥和公钥

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

打开命令行工具,然后输入 openssl打开openssl,接着只要三句命令就可以搞定。


1、打开Terminal--cd 到指定文件夹,如桌面

Mac:~/Desktop $ openssl


2、第一句命令:生成私钥:

OpenSSL> genrsa -out rsa_private_key.pem 2048 

 接下来Terminal显示内容如下:

Generating RSA private key, 2048 bit long modulus

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

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

e is 65537 (0x10001)


3、第二句命令从私钥中导出公钥:

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

Terminal显示:

writing RSA key


4.生成的文件如下:



5、以上命令默认生成的PEM为PKCS#1格式的数据如果需要PKCS#8数据格式的PEM文件,则需要把RSA私钥转换成PKCS#8格式:

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

//提示输入密码,密码为空(直接回车)就行;

Enter Encryption Password:

Verifying - Enter Encryption Password:


Terminal显示如下:

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

MIIE6TAbBgkqhkiG9w0BBQMwDgQIiQ4PFYMqa7ECAggABIIEyARDwR3lbjFQYGmy

ASuI2D8LJXOtQDf/BIfFFln6d9UgppOEWlKIrp1ms6BF0nP76mtBiOpsk5QjPhTK

U4snDLT/w/hTc2OBPe66poOtzlVPtKLacfTH1pMzHUWcVz4cmCI+SAMTRkdQ1EG+

UtmdlISxoHqFIuiP4GsuyItVLrqvYMEN+4rMkcO6HgKTInvAVogp05QzJCSOVKCX

6C9Jpgdy+la9rIqteueioYofmgFojZGQtuCh03BgFBD5cHjMWNZ9X9vmxq/ih0ib

NhUptlvwQeaA2OO0pDhOM613b8osGFxvhb14KjMCQdfaYAu9fYw2rFNbZG4Q6BBu

7j+iheHiUdqA/2K9IjTf8kcJGYbQvAlz8GdL/psosk7irBndHEOOZTLgY4xU6t71

Vxwyf9WHbTuuY+MZbzMdo02lKTcznpiT0wdEu+gD5juz5wTVKyZ2HIoT+47Vte6Z

J16X9X1jw3KlIwDl/vFTEBGS1lfn8kMxyuGbomEMlF+If8MXvtY3mfBO5FHSy271

YVRCemxygsUpnMRgRjBdeCAefO8e+vEI2Rh/goCwkq+QmtNnhxMMXdiSn/Sx2KiZ

vLu+uaXcdw07rFh8sCTt9AaCyHvlWP2iuBOuFn7gEJp7a4V7oigNgDEn+tyOZfqd

ZhGGNnG41WhWMoDDPmMTaj29PkKl9cf5SUBKZq5ukMIS8gBK1DIfro9G2dwjAhwC

bqL1VPihxKrG0y6+rVpBfbv3WK4f9fgZ4geiJhyJJK6222tYw7HSqgTC+TbColE8

ogPKEE67gltI4yRSlUJwaY6K6E+W1hk65/cy/sgatwIPvGbJDSmqtusUZr8D4Sxf

5ZXzVamzvP3+igmh5/4Ee813XLdHhU/8o+2kQNMcOiKU9LEC+yJYtS8694+jFJl5

wkBJxIw3xvXIvwz99ieZ+paB2gOqCvD4Wco2KEmEOynuAq3g81S+uALup89crKiZ

WFuAwiUxwXraObQgfordMFAw+xFld8bRciYoPW3u8zt1i7zg7vwF2A3nQQg4KOsP

16RghmZgX78VLXoWv03b6Dv1+KkTraji8Rn/rP7u1XOip6Yo2+rheXO1rvtEPECX

wwLbQZRlbyLsakWq/7kGPUz/OL45wgkLnDjedqVrmm9pwQYPx6gv2ZNqLoaeerlr

QaEVCTJ4i2eZhhXL9CyjhKrPjRk5tt2+aOEIDUa5tFkhpNmsljJZwYc56L1HLLVN

oHQ00BacJV1cGvNWsRPDzP63aTW703gT/YCboeA/IQYJyCkIuQo7aH7oB7Hd2mor

TsGzmlQjFFVplEmAxnPquQKF8unnzQEy6yLWgIxCORTdx2QIy7gR38wVpQjQL/4g

LA0p8yDckkbBHagedxYbu7N1zlC59auvuCUmq3oaIncjwBlbW5MAdcIqZ5Wr+WGI

UHHhVMJc166/5hjm5bU0SQFcOYZWlmB8YL1io4bLzxKc+4pTXyR6KmnIZINiSgNv

uC1xUlQqTo+grD98g3Xsf+9Tp6T/O8kKgZVzwH/nZPnwmSa6U/opbTvVCbuoEst7

Njw+vdizPUSS/60NB3YfbepIJf1EAiWXRaHybJjPsiGyVXRMrlCB8EkXDnG1R479

y2eiQ5Da28WIPfkEGg==

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


然后将生成的结果覆盖原来私钥的内容即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea插件开发(01)---最简单的helloworld版,不需要知道原理,先跟我做一个最简单的弹框插件

前言 用了那么多idea插件,也想自己做一个插件,下面就是入门版本 你不需要先知道所有的概念,先跟着我的步骤做一个小;例子,后面再说原理 相关概念看后面一篇 本次以windos系统为例 开始 1.你得安装一个环境,供idea插件的开发使用 下载地址: https://www.jetbrains.com/idea/…

苹果封装的对称加密和非对称加密API

一、信息摘要算法5&#xff1a;MD51.系统库位置&#xff1a;<CommonCrypto/CommonHMAC.h>。2.非加密算法&#xff0c;属于哈希散列&#xff0c;不可逆&#xff0c;用于检验数据完整性。二、安全散列(哈希)算法SHA&#xff1a; 1.包含的散列算法&#xff1a;SHA-1&#xf…

ECC椭圆曲线加密算法原理

比特币使用椭圆曲线算法生成公钥和私钥&#xff0c;选择的是secp256k1曲线。与RSA&#xff08;Ron Rivest&#xff0c;Adi Shamir&#xff0c;Len Adleman三位天才的名字&#xff09;一样&#xff0c;ECC&#xff08;Elliptic Curves Cryptography&#xff0c;椭圆曲线加密&…

AES加密算法原理

一、摘要 AES&#xff08;The Advanced Encryption Standard&#xff09;是美国国家标准与技术研究所用于加密电子数据的规范&#xff0c;在2002年5月26日建立。它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法。AES 是一个新的可以用于保护电子数据的加密算法…

Base64编码解码原理

一. Base64编码由来 为什么会有Base64编码呢&#xff1f;因为有些网络传送渠道并不支持所有的字节&#xff0c;例如传统的邮件只支持可见字符的传送&#xff0c;像ASCII码的控制字符就不能通过邮件传送。这样用途就受到了很大的限制&#xff0c;比如图片二进制流的每个字节不可…

eclipse mat 打开dump文件,明明大小1G,打开后却只有不到100M.其他的去哪了

eclipse mat 打开dump文件,明明大小1G,打开后却只有不到100M.其他的去哪了 Used heap dump 显示的大小远小于dump文件大小 解决: window-->Preferences-->memory Analuzer-->勾选keep unreachable objects-->apply and close

MVP模式介绍

一、概述MVP 是从经典的模式MVC演变而来&#xff0c;它们的基本思想有相通的地方&#xff1a;Controller/Presenter负责逻辑的处理&#xff0c;Model提供数据&#xff0c;View负责显示。二、MVC和MVP的区别作为一种新的模式&#xff0c;MVP与MVC有着一个重大的区别&#xff1a;…

VIPER模式介绍

一、概述VIPER模式的理念不属于MV(X)系类&#xff0c;其理念来自于建筑设计。建筑领域流行这样一句话&#xff0c;“我们虽然在营造建筑&#xff0c;但建筑也会重新塑造我们”。正如所有开发者最终领悟到的&#xff0c;这句话同样适用于构建软件。编写代码中至关重要的是&#…

强制消除Xcode警告的方法

比如我已经知道某行会报警告了&#xff0c;但是代码有这么写的道理&#xff0c;实在不想看到警告&#xff0c;可以用下面这个宏把这几行代码包住&#xff0c;就可以消除警告了。#pragma clang diagnostic push#pragma clang diagnostic ignored "-Wunused-variable"/…

springMVC 源码级别总结原理,DispatcherServlet核心方法

前言 springMVC自我总结 本次maven: <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.3.…

SQLite3中的数据类型

一、概述 大多数的数据库引擎&#xff08;到现在据我们所知的除了sqlite的每个sql数据库引擎&#xff09;都使用静态的、刚性的类型&#xff0c;使用静态类型&#xff0c;数据的类型就由它的容器决定&#xff0c;这个容器是这个指被存放的特定列。 Sqlite使用一个更一般的动态类…

关于iOS7里的JavaScriptCore framework

在iOS7沸沸扬扬的扁平化论战之外&#xff0c;WWDC 2013还是公布了很多让开发者小兴奋的点&#xff0c;其中包括多任务加强支持background fetch和transfer&#xff0c;近场通信的AirDrop和p2p&#xff0c;以及游戏控制器和游戏中心的加强&#xff1b;当然还包括了让web开发同学…

深入浅出Fetch API

多年来&#xff0c;XMLHttpRequest一直是web开发者的亲密助手。无论是直接的&#xff0c;还是间接的&#xff0c; 当我们谈及Ajax技术的时候&#xff0c;通常意思就是基于XMLHttpRequest的Ajax&#xff0c;它是一种能够有效改进页面通信的技术。 Ajax的兴起是由于Google的Gmail…

[设计模式] ------ 简单工厂模式

简单工厂模式 不同类型下创建对应的不同的对象&#xff0c;得到不同的结果&#xff0c;就叫简单生产模式 比如 定义一个接口&#xff0c;叫A&#xff0c;里面有方法a&#xff0c;返回int类型 类B1实现A接口&#xff0c;也实现a方法&#xff0c;里面做的是加法运算 类B2实现…

第19章总结

一.Java绘图类 1.Graphics类 Graphics类是所有图形上下文的抽象基类&#xff0c;它允许应用程序在组件以及闭屏图像上进行绘制。Graphics类封装了Java支持的基本绘图操作所需的状态信息&#xff0c;主要包括颜色、字体、画笔、文本、图像等。 2.Graphics2D类 Graphics2…

RSA公钥文件(PEM)解析

公钥语法为&#xff1a; RSAPublicKey :: SEQUENCE { modulus INTEGER, //RSA合数模n publicExponent INTEGER //RSA公开幂e } 说明&#xff1a; 1.此语法中的modulus和publicExponent&#xff0c;提取自对应私钥中的同名域值。 2.PKCS1和PKCS8的公钥文件是一样的&#xff…

RSA私钥文件(PEM-PKCS#1)解析

在PKCS#1 RSA算法标准中定义RSA私钥语法 RSAPrivateKey :: SEQUENCE { version Version, //版本 modulus INTEGER, // RSA合数模 n publicExponent INTEGER, //RSA公开幂 e privateExponent INTEGER, //RSA私有幂 d prime1 INTEGER, //n的素数因子p prime2 INTEGER, //n的…

[分布式] ------ 全局唯一id生成之雪花算法(Twitter_Snowflake)

雪花算法&#xff08;Twitter_Snowflake&#xff09; 我们知道&#xff0c;分布式全局唯一id的生成&#xff0c;一般是以下几种&#xff1a; 基于雪花算法生成基于数据库基于redis基于zookeeper 本文说下雪花算法&#xff0c;后面附源码以及测试代码。 如下图&#xff1a; …

非对称加解密交互故事

1.鲍勃有两把钥匙&#xff0c;一把是公钥&#xff0c;另一把是私钥。 2.鲍勃把公钥送给他的朋友们—-帕蒂、道格、苏珊—-每人一把。 3.苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密&#xff0c;就可以达到保密的效果 4.鲍勃收信后&#xff0c;用私钥解密&#xff0…

Sqlite3中replace语句用法详解

在本例中使用如下数据库表&#xff1a; &#xff08;图 1&#xff09; 该表的表名为student&#xff0c; 存储学生信息。 所有字段的数据类型都是TEXT 。 其中id和name作为复合主键。 email字段加上了唯一约束。建表语句如下&#xff1a; CREATE TABLE IF NOT EXISTS student …