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\]$

相关推荐
躲猫猫的喵喵1 天前
Ubuntu2204降内核版本
linux·运维·服务器·ubuntu
cccccc语言我来了1 天前
(Linux (6):从包管理到工具探索,构建系统操作基础认知)
linux·运维·服务器
wuk9981 天前
CentOS7环境搭建L2TP服务器
运维·服务器
恒创科技HK1 天前
香港1核2G云服务器当网站服务器够用不?
运维·服务器
学习3人组1 天前
Node.js 网站服务器开发
运维·服务器·node.js
来知晓1 天前
Linux:WSL内存空间管理之清完内存C盘可用空间不增问题解决
linux·运维·服务器
GTgiantech1 天前
科普SFP 封装光模块教程
服务器·网络·数据库
深圳市恒讯科技1 天前
如何在服务器上安装和配置数据库(如MySQL)?
服务器·数据库·mysql
wanhengidc1 天前
云手机能够流畅运行大型游戏吗
运维·服务器·游戏·智能手机·云计算
繁华的地方不一定留下你的脚印1 天前
ubuntu18.04版本配置静态IP并且可以上网(解决配置静态IP不能额上网的问题)
运维·服务器