用过OpenSSL的DSA的请帮助解惑
DSA算法中的签名包括R和S两项数据,但OpenSSL的签名验证函数DSA_verify中,对于签名参数只包含一个指针参数和指针长度参数,那么,R和S两项数据如何作为指针参数传递呢???
int DSA_verify(int type,const unsigned char *dgst,int dgst_len,
const unsigned char *sigbuf, int siglen, DSA *dsa);
第一个参数是加密方式,应该是NID_SHA1
第二个参数是摘要,第三个是摘要的长度
第四个参数是签名,第五个参数是签名的长度
第六个参数是公钥
现在如何把R和S传递给第四个参数呢???
如能成功解决,本贴再加100分感谢。
int DSA_verify(int type,const unsigned char *dgst,int dgst_len,
const unsigned char *sigbuf, int siglen, DSA *dsa);
第一个参数是加密方式,应该是NID_SHA1
第二个参数是摘要,第三个是摘要的长度
第四个参数是签名,第五个参数是签名的长度
第六个参数是公钥
现在如何把R和S传递给第四个参数呢???
如能成功解决,本贴再加100分感谢。
...全文
相关推荐
openssl下载:openssl-0.9.8b.tar.gz
- 示例代码和测试程序:帮助理解如何使用 OpenSSL API。- 文档:包含用户指南、API 参考和其他相关文档。
DSA算法
DSA(Digital Signature Algorithm,数字签名算法)是一种非对称加密算法,用于生成和验证数字签名。它是美国国家标准与技术研究所(NIST)于1994年发布的一种公钥密码体制。DSA算法的基本原理是基于数论中的离散对数问题。它利用了有限域上的运算和离散对数的难解性,实现了数字签名的生成、验证和认证。
ssllib.zip
`openssl-1.0.2s` 是 OpenSSL 的一个特定版本,它包含了 SSLv2/v3、TLSv1.x 的实现,以及各种加密算法,如 RSA、DSA、ECC 等。
Open OMA DM-开源
加密库采用了openssl,这是一个强大的安全套接字层密码库,支持各种加密算法、SSL协议以及一些常用的公钥算法,如RSA和DSA,确保了通信过程中的数据安全性。
.net DSA加密(C#读取OPENSSL生成的DSA的pem文件的秘钥)
在本资源中,我们关注的是如何使用C#来处理OpenSSL生成的PEM格式的DSA密钥。


