Openssl 如何获取ECC sm2证书公钥数据?
我现在通过调用x509系列API接口函数可以解析sm2证书,获取出证书的信息比如:序列号,CN值等,
但是获取公钥数据时出错。
直接上代码吧
EVP_PKEY * pubKey ;
X509 *x509Cert = NULL;
x509Cert = d2i_X509(NULL,usrCertificate,usrCertificateLen);
//获取证书版本,能正确获取到值
Version = X509_get_version(x509Cert);
//这里省略一些解析证书的代码
//下面是获取公钥数据的代码
if ( x509Cert->cert_info == NULL)
return ;
pubKey = X509_PUBKEY_get(x509Cert->cert_info->key); 这里获取到的pubKey为空,导致获取不到公钥数据
是不是这种解析方法有问题!
应该怎么样获取到公钥数据呢?大家帮忙解决下吧,谢谢了!
...全文
相关推荐
sm2加密,解密,签名,验签,sm3哈希,基于openssl的C语言实现
sm2加密,解密,签名,验签,sm3哈希,基于openssl的C语言实现
使用openssl命令行产生密钥对、签发证书[详细]
这个公钥内容的前半部分是什么呢?注意:以下操作命令均在openssl的bin目录内执行。
openssl+SM2开发实例一(含源码)
是中国国家密码管理局(CNCA)颁布的椭圆曲线密码算法标准,属于非对称加密算法。它基于椭圆曲线离散对数问题,提供了安全可靠的数字签名、密钥交换和公钥加密等功能。SM2被设计为适用于各种场景下的密码学应用,包括数字证书、数据加密、数字签名、身份认证等。SM2是一种非对称加密算法,意味着它使用两个密钥:公钥和私钥。公钥用于加密数据和验证签名,而私钥用于解密数据和生成签名。SM2基于椭圆曲线密码学(Elliptic Curve Cryptography,ECC),使用椭圆曲线上的点运算来实现加密和签名操作。
生成SM2公私钥(证书形式).rar
生成SM2公私钥 一.系统环境 系统环境:windows系统。 二.工具软件 工具软件:Win64OpenSSL。 三.生成SM2公私钥
SM2证书签发工具
工具能生成SM2密钥和签发SM2证书。 工具仅限学习交流使用,只能签发根证书。


