首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CryptoAPI和OpenSSL x509格式之间进行转换

在CryptoAPI和OpenSSL x509格式之间进行转换
EN

Stack Overflow用户
提问于 2011-02-02 02:49:19
回答 1查看 2.7K关注 0票数 4

我有一个CERT_CONTEXT结构,它是我通过CryptoAPI从Windows上的智能卡中提取出来的。我需要将此结构转换为与OpenSSL一致的DER编码字节数组。到目前为止,我得到的最接近的匹配是通过使用X509_ASN_ENCODING和X509_CERT_TO_BE_SIGNED修饰符的CryptEncodeObject,该修饰符将CERT_INFO结构作为输入。

问题是它与OpenSSL i2d_X509函数产生的输出不匹配。使用2048位x509证书作为输入,OpenSSL产生1789字节的编码输出,而Windows CryptoAPI产生1638字节的编码输出。

我能看到的唯一选择就是使用CERT_CONTEXT结构中的值动态创建一个X509证书,并直接使用i2d_X509函数对结果对象进行编码。唯一的问题是我无法从智能卡中提取私钥,因此这可能会导致x509证书创建例程出现问题。

如果有人能就这些问题提供任何见解/建议/建议,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-02 03:13:13

DER编码证书可以从( ctx ->pbCertEncoded,ctx->cbCertEncoded)缓冲区获取,其中ctx是一个PCCERT_CONTEXT对象。但是,您仍然无法恢复私钥。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4866672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档