【发布时间】:2018-01-08 07:17:38
【问题描述】:
我需要找到证书详细信息中指定的公钥。我使用了 WinHttpQuery 选项并提供了 WINHTTP_OPTION_SERVER_CERT_CONTEXT 作为选项标志。
bRet = WinHttpQueryOption(
hRequest,
WINHTTP_OPTION_SERVER_CERT_CONTEXT,
&pCert,
&dwLen
);
我使用从 WinhttpQueryOption 返回的结构找到了公钥加密类型。现在我需要找到公钥的大小
示例:RSA(2048 位)
有没有办法使用这种方法找到公钥的大小,或者还有其他方法吗?
【问题讨论】:
-
我认为,
pCert变量包含一个指向CERT_CONTEXT结构的指针。你可以通过这个对象(有一个pCertInfo字段,其中包含一个指向CERT_INFO结构的指针)。使用它缩小到SubjectPublicKeyInfo。 -
是的,我就是这样做的,这就是我找到加密算法的方式。我可以获得算法名称和公钥(以编码形式)。现在我如何获得密钥的大小?注意:公钥是 CRYPT_BIT_BLOB 类型
-
公钥的大小明确规定为 256 位。不要在此处发布文字图片,尤其是不要发布文字图片的链接。不清楚你在问什么。
-
嗯,我发布它是为了从证书详细信息中清楚我想要什么。这就是为什么我提到它作为证书详细信息示例。
标签: c++ ssl-certificate visual-c++-2010 winhttp