baron · 4 天前

openssl命令行:RSA的用法-- 终极版

1、生成密钥

openssl genrsa -out test2048_priv.pem 2048

openssl rsa -pubout -in test2048_priv.pem -out test2048_pub.pem

openssl genrsa -out test3072_priv.pem 3072

openssl rsa -pubout -in test3072_priv.pem -out test3072_pub.pem

openssl genrsa -out test4096_priv.pem 4096

openssl rsa -pubout -in test4096_priv.pem -out test4096_pub.pem

2、查看密钥

openssl rsa -in test2048_priv.pem -text -out

openssl rsa -in test3072_priv.pem -text -out

openssl rsa -in test4096_priv.pem -text -out

image

3、基于 PKCS1v1.5 Pending的 签名、验签、加密、解密

(1) 签名和验签

openssl dgst -sign test2048_priv.pem -sha256 -out sign.txt in.txt
openssl dgst -verify test2048_pub.pem -sha256 -signature sign.txt in.txt

image

(2)加密和解密

openssl rsautl -encrypt -pkcs -in in.txt -out in_cipher.txt -inkey test2048_priv.pem
openssl rsautl -decrypt -pkcs -in in_cipher.txt -inkey test2048_priv.pem -out in_e_d.txt

image

3、基于 PKCS1v2.1 PSS signature Pending的 签名、验签

(1)

这条与TA中的TEE_ALG_RSASSA_PKCS1_PSS_MGF1_SHA256 算法对应

openssl dgst -sha256 -sign test2048_priv.pem -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -out sign2048pss.bin in.txt
openssl dgst -verify test2048_pub.pem -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -sha256 -signature sign2048pss.bin in.txt

image

(2)

这条也属于RSA PSS算法,但在TA中找不到与之对应的flag

openssl dgst -sha256 -sign test2048_priv.pem -sigopt rsa_padding_mode:pss -out sign2048pss.bin in.txt
openssl dgst -verify test2048_pub.pem -sigopt rsa_padding_mode:pss -sha256 -signature sign2048pss.bin in.txt

image
注解 :

-sha256: 指定要使用的哈希算法,此处使用SHA-256。
-sign test2048_priv.pem: 指定要用于签名的RSA私钥文件。请将private_key.pem替换为您实际使用的RSA私钥文件的路径。
-sigopt rsa_padding_mode:pss: 指定使用PSS填充模式进行签名。
-sigopt rsa_pss_saltlen👎 使用MGF1填充并指定rsa_pss_saltlen:-1以使用与哈希输出相同的盐长度。
-out sign2048pss.bin: 指定输出签名的文件名。
in.txt: 指定要签名的数据文件,您可以将其替换为您要签名的实际数据文件的路径。
4、基于 PKCS1v2.0 OAEP encryption padding的加密、解密

openssl rsautl -encrypt -oaep -in in.txt -out cipher2048_oeap.txt -inkey test2048_priv.pem
openssl rsautl -decrypt -oaep -in cipher2048_oeap.txt -out in_e_d.txt -inkey test2048_priv.pem

image

5、查看一个私钥

openssl rsa -in test_priv.pem -text

添加威♥:sami01_2023,回复ARM中文,领取ARM中文手册

推荐阅读
关注数
9491
文章数
264
vx: coding_the_world
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息