一 基于 openssl 实战验证 RSA
本文不算是'openssl'命令系列的'第一篇章',本'篇章'只是为理解'rsa'算法所写
本文'假定'工作在'linux'下,并且'openssl'命令已经安装
生产: 使用 'openssl' 生成'公私钥'证书
遗留: 公私钥的证书'如何'对应之前的'数字'呢?
目标: 理解'主流服务器'所使用的'openssl'与'RSA'的关系
① openssl生成rsa私钥
openssl genrsa -out private.pem
备注: '-out' 把'私钥'导入到一个文件中
② openssl从生成rsa私钥从私钥中提取出rsa公钥
openssl rsa -in private.pem -pubout -out public.pem
备注: openssl生成的私钥文件中'包含了公钥'信息
③ 分析公私钥含有哪些信息
1、私钥是基于'ASN.1'格式编码的
2、我们要把'私钥'按照'ASN.1'格式,解析之后'基于RFC'定义的格式找到'私钥'的信息
需求1: 查看 'ASN.1 格式'的私钥
备注: openssl asn1parse -i -in private.pem
说明: 取出'n、k',便于一会对'公钥'做ANS.1 解析时,对照是否一致
需求2: 查看 ASN.1 格式的'公钥'
openssl asn1parse -i -in public.pem
备注: 'X.590'格式
④ RSA加解密案例
1、'加密'文件
openssl rsautl -encrypt -in wzj.txt -inkey public.pem -pubin -out wzj.en
2、'解密'文件
openssl rsautl -decrypt -in wzj.en -inkey private.pem -out wzj.de
⑤ 答疑解惑
公钥证书需要依赖'PKI'证书管理体系来运作和管理