当前位置: 技术问答>linux和unix
openssl 读取私/公钥签名和验签的问题
来源: 互联网 发布时间:2017-02-18
本文导语: 首先,我有cert.pfx文件(证书),用命令: openssl pkcs12 -in cert.pfx -password pass:00000000 -clcerts -nokeys -nodes -out cert.pem //得到证书文件 openssl pkcs12 -in cert.pfx -password pass:00000000 -clcerts -nocerts -nodes -out pri.key //...
首先,我有cert.pfx文件(证书),用命令:
openssl pkcs12 -in cert.pfx -password pass:00000000 -clcerts -nokeys -nodes -out cert.pem //得到证书文件
openssl pkcs12 -in cert.pfx -password pass:00000000 -clcerts -nocerts -nodes -out pri.key //得到私钥文件
然后我代码中有:
fp1=fopen("pri.key","rw+");
pri_pkey(PEM_read_PrivateKey(fp1,NULL,NULL,NULL);//得到私钥
ret-RSA_sign(NID_md5 sslData,sizeof(sslData),signature,signatureLen,pri_pkey->pkey.rsa);//用私签名。
.
.
ret 最后等于1。(也就是说签名成功!)
/********************验签*******************/
//变量的定义我都没有写出来。
fp2=fopen("cert.pem","rw+");
x509=PEM_read_X509(fp2,NULL,NULL,NULL);
pub_pkey=X509_extract_key(x509);
//以上三个函数主要是为了得到公钥。
ret=RSA_verify(NID_md5,sslDAta,sizeof(sslData),signature,&signatureLen,pub_pkey->pkey.rsa);//公钥验签。
为什么这个时候 :ret==0;(也就是说验签没有成功!)
这个问题做了好久了,一直都没有找到答案!请高人指点!跪谢!
openssl pkcs12 -in cert.pfx -password pass:00000000 -clcerts -nokeys -nodes -out cert.pem //得到证书文件
openssl pkcs12 -in cert.pfx -password pass:00000000 -clcerts -nocerts -nodes -out pri.key //得到私钥文件
然后我代码中有:
fp1=fopen("pri.key","rw+");
pri_pkey(PEM_read_PrivateKey(fp1,NULL,NULL,NULL);//得到私钥
ret-RSA_sign(NID_md5 sslData,sizeof(sslData),signature,signatureLen,pri_pkey->pkey.rsa);//用私签名。
.
.
ret 最后等于1。(也就是说签名成功!)
/********************验签*******************/
//变量的定义我都没有写出来。
fp2=fopen("cert.pem","rw+");
x509=PEM_read_X509(fp2,NULL,NULL,NULL);
pub_pkey=X509_extract_key(x509);
//以上三个函数主要是为了得到公钥。
ret=RSA_verify(NID_md5,sslDAta,sizeof(sslData),signature,&signatureLen,pub_pkey->pkey.rsa);//公钥验签。
为什么这个时候 :ret==0;(也就是说验签没有成功!)
这个问题做了好久了,一直都没有找到答案!请高人指点!跪谢!
|
先生成一对密钥,之后生成一个csr文件,之后用自己的ca签发这个csr得到一个crt,从里边把私钥字段拷贝出来放到一个xxx.pem文件里,剩下的留在crt文件里即可。
之后服务端程序就可以加载这两个文件了,客户端来SSL连接将会完成SSL握手通信。
|
1, 生成私钥+公钥
2,生成签名请求
3,签发签名请求得到数字证书
4,将私钥单独存储,将数字证书存储
2,生成签名请求
3,签发签名请求得到数字证书
4,将私钥单独存储,将数字证书存储
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。