iOS---利用OpenSSL演示RSA加密解密,PEM。

我们可以用终端来演示这一系列步骤。

完成这一系列的前提,需要对RSA有一定的了解。
结合RSA加密解密。
Mac电脑的终端,是可以直接使用OpenSSL(开源加密库),利用RSA加密,来完成这一系列操作。

主要命令有三个:

一:genrsa 生成并输入一个RSA密钥

二:rsautl 使用RSA密钥进行加密,解密,签名和验证等运算

三:rsa 处理RSA密钥的格式转换等问题

开始演示:

步骤1: 在桌面创建一个文件夹,名字叫“加密”,利用终端,CD到当前文件夹下面;

CD到当前目录

(pem文件来了。private.pem代表RSA加密里面的私钥。)

步骤2:利用 “ openssl genrsa -out private.pem 1024”命令,生成一个pem文件,1024代表位数,也可以是512的。

私钥private.pem

(public.pem代表RSA加密里面的公钥。)

步骤3:利用 “openssl rsa -in private.pem -pubout -out public.pem”,从私钥private.pem里,提取公钥public.pem

生成的公钥,私钥

提示1:可以使用cat命令,查看该文件;原来就是base64编码


cat一下private.pem

提示2:可以把private.pem 转成明文,利用“openssl rsa -in private.pem -text -out private.txt
”命令,


生成了一个private.txt文件

总结1, OpenSSL 使用 PEM 文件格式存储证书和密钥;

步骤4:通过公钥来加密数据

a:创建一个展示文件message.txt,里面是想要加密的数据,“hello world!”
创建message.txt
b:利用公钥加密message.txt,输出一个enc.txt文件,命令是“openssl rsautl -encrypt -in message.txt -inkey public.pem -pubin -out enc.txt”

其中-encrypt 代表加密(和私钥有差异,记得对比)


enc文件
c:公钥加密的enc文件,利用私钥解密,生成dec.txt文件,利用命令“openssl rsautl -decrypt -in enc.txt -inkey private.pem -out dec.txt”,
dec.txt文件

步骤5:通过私钥来签名(加密)数据

a:利用私钥private.pem签名message.txt,命令“openssl rsautl -sign -in message.txt -inkey private.pem -out enc.bin”

其中-sign 代表签名(和公钥有差异,公钥是-encrypt加密)
利用 “xxd enc.bin”命令。查看bin文件加密之后的信息


enc.bin文件内容
a:利用公钥public.pem解密enc.bin,命令“openssl rsautl -verify -in enc.bin -inkey public.pem -pubin -out dec.txt”
公钥public.pem解密

大功告成。

你可能感兴趣的:(iOS---利用OpenSSL演示RSA加密解密,PEM。)