openssl 加密(encrypt)、解密(decrypt)、签名(sign)、验证(verify)

一、使用openssl rsautl 进行加密、解密、签名、验证

javascript 复制代码
[kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl --help
Usage: rsautl [options]
-in file        input file
-out file       output file
-inkey file     input key
-keyform arg    private key format - default PEM
-pubin          input is an RSA public
-certin         input is a certificate carrying an RSA public key
-ssl            use SSL v2 padding
-raw            use no padding
-pkcs           use PKCS#1 v1.5 padding (default)
-oaep           use PKCS#1 OAEP
-sign           sign with private key
-verify         verify with public key
-encrypt        encrypt with public key
-decrypt        decrypt with private key
-hexdump        hex dump output
-engine e       use engine e, possibly a hardware device.
-passin arg    pass phrase source
[kyzjj@yyzc-zjjcs04 openssl]$

二、使用私钥签名openssl rsautl -sign

javascript 复制代码
[kyzjj@yyzc-zjjcs04 openssl]$ cat test
hello world
[kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl -sign  -inkey private.key  -in test -out sign-test
[kyzjj@yyzc-zjjcs04 openssl]$

三 、使用公钥验证openssl rsautl -verify

javascript 复制代码
[kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl -sign  -inkey private.key  -in test -out sign-test
[kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl -verify  -inkey  public.key  -pubin    -in sign-test
hello world
[kyzjj@yyzc-zjjcs04 openssl]$

上述方式可以确认身份,如果我用这个公钥能解密,那一定是你发送的,因为私钥只有你有

四、使用公钥加密

kyzjj@yyzc-zjjcs04 openssl$ openssl rsautl -encrypt -inkey public.key -pubin -in test -out en-test

kyzjj@yyzc-zjjcs04 openssl$

五、使用私钥解密

kyzjj@yyzc-zjjcs04 openssl$ openssl rsautl -decrypt -inkey private.key -in en-test

hello world

kyzjj@yyzc-zjjcs04 openssl$

相关推荐
well06124 分钟前
Linux 文件相关底层知识
linux·运维·服务器
Lsetea20 分钟前
OpenSSL verify报CA certificate key too weak:auth_level与弱密钥链排查
运维·https·ssl证书·openssl·证书链
库拉镜像AI牛牛1 小时前
漫剧工作室量产方案:依托知漫剧 AI 短剧降本增效
大数据·服务器·前端·人工智能·语音识别
沫璃染墨1 小时前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构
姜鱼问生2 小时前
宝塔面板优雅下线:先 stop 再 disable 再 rm
运维·服务器
闭包不眠2 小时前
PDF文字提取交付前该检查什么
运维·服务器·图像处理·人工智能·计算机视觉·pdf
guo_wen_qiang3 小时前
云服务器sentinel搭建-控制台
服务器·sentinel
LabVIEW开发3 小时前
Anritsu 2602A:频谱仪的几种测量怎么自动跑
运维·服务器·labview·labview知识·labview功能·labview程序
2401_868534784 小时前
存储系统规划设计
运维·服务器·智能路由器
Ivanqhz4 小时前
KV Cache
服务器·数据库·人工智能·深度学习·算法