RSA
1、生成公钥和私钥
// 1、生成private.pem
openssl genrsa -out private.pem 1024
// 2、生成public.pem
openssl rsa -in private.pem -pubout -out public.pem
// 3、生成private.text查看private.pem相关信息
openssl rsa -in private.pem -text -out private.text
2、加密解密文件
公钥加密私钥解密
// 1、生成加密文件 enc.txt
openssl rsautl -encrypt -in message.txt -inkey public.pem -pubin -out enc.txt
// 2、解密文件 dec.txt
openssl rsautl -decrypt -in enc.txt -inkey private.pem -out dec.txt
私钥加密公钥解密
// 3、生成加密文件 enc1.txt
openssl rsautl -sign -in message.txt -inkey private.pem -out enc1.txt
// 4、生成解密文件 dec1.txt
openssl rsautl -verify -in enc1.txt -inkey public.pem -pubin -out dec1.txt
3、在程序中使用依次生成 csr、crt、der、p12格式文件
// 证书请求文件
1、openssl req -new -key private.pem -out rsacert.csr
// 生成证书
2、openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
// 转换为der文件:程序中可用
3、openssl x509 -outform der -in rsacert.crt -out rsacert.der
// 生成p12文件:程序中可用
4、openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt
DES
1、ebc和cbc加密
// ebc 每个数据块进行独立的加密
1、openssl enc -des-ecb -K 616263 -nosalt -in message.txt -out msg1.bin
// cbc 使用一个秘钥和一个初始化向量对数据进行加密,每一个数据的加密都对前一个数据依赖,每一块数据解密都依赖前一块数据
2、openssl enc -des-cbc -iv 0102030405060708 -K 616263 -nosalt -in message.txt -out msg2.bin
网友评论