没有合适的资源?快使用搜索试试~ 我知道了~
首页openssl数据加解密及证书使用例子
最近在做IOT项目,使用到TLS,对密匙,证书比较模糊的,通一段时间学习整理该文档。本文档包含如下内容: 1: 对称加密 2:非对称加密 3:证书基本概念 4:通过一个例子,演示通过openssl创建root,server, client及验证 通过该文档,对密匙,证书之间的关系有一个很好的理解。同时对openssl工具有一个初步认识。文档的所有命令都是测试通过的。
资源详情
资源评论
资源推荐

1 对称加解密
生产明文文件
echo "1234567890" > plaintext.txt
对 plaintext.txt 用密匙 123456 加密输出 enc.txt
openssl enc -e -k 123456 -in plaintext.txt -out enc.txt
对 enc.txt 解密输出为 dec.txt
openssl enc -d -k 123456 -in enc.txt -out dec.txt
比较两文件
di dec.txt plaintext.txt

2 非对称加解密
rsautl 参数说明
-sign 和 -verify 配对使用
-encrypt 和-decrypt 配对使用
-pubin 参数指定-inkey 输入的秘钥文件是公钥文件,否则默认是私钥文件
2.2 公钥,私钥加解密文件
私钥加密,公钥解密过程。
本例子公钥,私钥文件是不加密的。

2.2.1 生成 RSA 私钥,公钥文件
先生成私钥文件,再从私钥生产公钥文件。
2.2.1.1 生成 RSA 私钥文件
openssl genrsa -out rsa_private.key
2.2.1.2生成 RSA 公钥文件
openssl rsa - rsa_private.key -pubout -out rsa_public.key
2.2.2 用公钥,私钥加解密文件
在目录中创建一个 plaintext.txt 的文本文件,里面有一行内容“12345”
然后利用此前生成的公钥加密文件,私钥解密解密的文件。
echo "12345 " > plaintext.txt
2.2.2.1加密文件
输入文件是 输出文件是
openssl rsautl -encrypt -in plaintext.txt -inkey rsa_public.key -pubin -out
plaintext.en

2.2.2.2解密文件
输入文件是 输出文件是
openssl rsautl -decrypt -in plaintext.en -inkey rsa_private.key -out plaintext.de
2.2.3 比较文件
di plaintext.txt plaintext.de
签名和认证
私钥签名(加密过程),公钥验证签名(解密过程)。
本例子公钥,私钥文件是加密的。
2.3.1 生成原文件 source.tx,
echo "12345678" > source.txt
对 source.txt 进行签名(即加密)。
2.3.2 生成私钥
openssl genrsa -des3 -passout pass:123456 -out rsa_private.key
剩余17页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1