其他分享
首页 > 其他分享> > OpenSSL数字签名实验

OpenSSL数字签名实验

作者:互联网

(一)实验目的

通过实验理解数字摘要、数字签名原理与应用

补充:# 用SHA1算法计算文件file.txt的哈西值,输出到stdout

openssl dgst -sha1 file.txt
# 用SHA1算法计算文件file.txt的哈西值,输出到文件digest.txt
openssl sha1 -out digest.txt file.txt

用DES3算法的CBC模式加密文件plaintext.doc,
# 加密结果输出到文件ciphertext.bin
openssl enc -des3 -salt -in plaintext.doc -out ciphertext.bin

 

# RSA
# 产生1024位RSA私匙,用3DES加密它,口令为trousers,
# 输出到文件rsaprivatekey.pem
openssl genrsa -out rsaprivatekey.pem -passout pass:trousers -des3 1024
# 从文件rsaprivatekey.pem读取私匙,用口令trousers解密,
# 生成的公钥匙输出到文件rsapublickey.pem
openssl rsa -in rsaprivatekey.pem -passin pass:trousers -pubout -out rsapubckey.pem
# 用公钥匙rsapublickey.pem加密文件plain.txt,
# 输出到文件cipher.txt
 openssl rsautl -encrypt -pubin -inkey rsapublickey.pem -in plain.txt -out cipher.txt

(二)实验步骤

1. 创建明文文档plain.txt,写入内容。

 

 

 

 

2. (打开bin目录下的exe文件运行)计算plain.txt的哈希值,输出到文件digest.txt。

注意这个地方是sha1 =是数字1而不是字母L

 

 

 

 

 

 

3. 利用RSA算法对摘要进行签名。

(1)创建1024位的RSA私钥,写入文件rsaprivatekey.pem,同时用3DES加密,设置密码。

 

 

 

 

(2)从文件rsaprivatekey.pem中提取公钥,写入文件rsapublickey.pem.

 

 

 

 

(3)利用上述私钥对摘要digest.txt进行签名,生成签名文档signature.bin

 

 

4.对签名signature.bin进行公钥验证。

 

 

 两者进行对比:

 

标签:文件,加密,数字签名,OpenSSL,rsaprivatekey,pem,实验,txt,out
来源: https://www.cnblogs.com/greedy1129/p/15345850.html