The openssl notes

本文介绍了OpenSSL的一些常用命令,包括查看版本号、计算消息摘要(如SHA1)、对摘要进行签名和验证、对称加密(如DES3)以及RSA密钥生成和使用。还提到了Diffie-Hellman参数生成和CSR(证书签名请求)的创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. openssl version 查看版本号

  2. openssl dgst 消息摘要

    消息摘要,所采用的命令是通过选项的形式实现的,消息摘要的输入可以是stdin,或者文件。

    比如:openssl dgst -sha1 test.txt

    当然,也可以直接用命令,省掉dgst。例如:openssl sha1 test.txt

    openssl dgst 除了可以计算消息摘要,还可以对摘要进行签名,验证签名。例如:

    (1) 签名:openssl dgst -dss1 -sign dsakey.pem -out dsasign.bin file.txt

    通过dss1计算文件file.txt的消息摘要,然后用私钥dsakey.pem对消息摘要进行签名,保存在dsasign.bin

    (2) 验证签名:openssl dgst -dss1 -prverify dsakey.pem -signature dsasign.bin file.txt

    用私钥dsakey.pem 对签名dsasign.bin进行验证

  3. openssl enc 对称加密

    每一个对称加密可以直接使用,省掉enc. 如果加上enc,那么各个命令是以选项的形式出现。

    1) key是用来加密、解密数据

    2) pasword/passphrase(口令) 是用来生成key和初始化向量。生成Key的时候,是通过password 和 salt(8位随机数)

    共同作为输入的。

    例如:

    1) 加密 openssl des3 -salt -in test.c -out ciphertest.bin

    用des3加密test.c 密文保存在ciphertest.bin

    2) 解密 openssl des3 -d -in ciphertest.bin -out test1.txt

    用des3解密ciphertest.bin 密文保存在test1.txt

  4. openssl dhparam Diffie-Hellman命令

  5. rsa

5.1 openssl genrsa 生成rsa私钥

openssl genrsa -out rsaprivatekey.pem -passout pass:test -des3 1024

生成一个私钥1024位的私钥,保存在 rsaprivatekey.pem。私钥生成输出口令是test,私钥加密算法是des3

5.2 openssl rsa 通过私钥生成公钥

openssl rsa -in rsaprivatekey.pem -passin pass:test -pubout -out rsapublickey.pem

和5.1相反的过程

5.3 openssl rsautl 用秘钥对进行加密、解密,签名、验证签名

这个一般是加密比较小的数据,比如秘钥,太大的数据要用对称加密,下面的加密就失败了.

openssl rsautl -encrypt -pubin -inkey rsapublickey.pem -in test.c -out testrsacipher.txt

result:

RSA operation error

139836004808352:error:0406D06E:rsa routines:RSA_padding_add_PKCS1_type_2:data too large for key size:rsa_pk1.c:151:

6 openssl req 生成CSR

openssl req -new -x509 -days 365 -key trans.key -out trans.crt

生成一个自签名的证书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值