对于使用了证书和密文的加密文件,研究了半个月的各种算法,造了两个星期的轮子,累的半死,最后总结三条指令就可解决:
openssl base64 -d -in cipher.pem -A > msn.sig
openssl x509 -in certificate-base64.cer -inform PEM -pubkey -noout > public.pem
openssl dgst -verify public.pem -sha1 -signature msn.sig msn
签名 :
openssl md5 -sha1 -sign private.pem -out sign1.sig FileManage
或者
openssl dgst -sha1 -sign private.pem -out sign2.sig FileManage
比较 :diff sign1.sig sign2.sig
base64转码 :base64 sign.sig
RSA私钥验证签名 :
openssl dgst -prverify private.pem -sha1 -signature sign1.sig FileManage
RSA公钥验证签名 :
openssl dgst -verify pubkey.pem -sha1 -signature sign1.sig FileManage
验签 :
//base64解码
base64 -d cipher.pem > sing.sig
//从证书导出公钥
openssl x509 -in certificate-base64.cer -inform PEM -pubkey -noout > public.pem
//公钥校验
openssl dgst -verify public.pem -sha1 -signature sing.sig FileManage