积极答复者
根证书的注册表Blob值项代表什么?

问题
-
将一张根证书安装到本地计算机下受信任的根证书存储区,在注册表的相关位置也会有证书的值。
想问一下各位大佬,注册表的Blob值代表的是什么?
图片链接:https://img2020.cnblogs.com/blog/1798500/202011/1798500-20201123222016843-1711298929.png
使用Win32 API安装根证书到根证书存储区的方式得到的Blob值项和使用certlm.msc导入根证书得到的Blob值项是不一样的,Blob值项里是什么信息呢?
下面是我使用Win32 API安装根证书的关键代码:
HCERTSTORE hCertStore = NULL; hCertStore = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, NULL, CERT_SYSTEM_STORE_LOCAL_MACHINE, _T("ROOT")); if (hCertStore == NULL) { DWORD dwErrorCode = GetLastError(); if (dwErrorCode == ERROR_ACCESS_DENIED) { AfxMessageBox(_T("请以管理员启动")); return; } } // pCertContextInFile是从证书文件中得到的PPCERT_CONTEXT if (!CertAddCertificateContextToStore(hCertStore, pCertContextInFile, CERT_STORE_ADD_NEW, NULL)) { CertFreeCertificateContext(pCertContextInFile); CertCloseStore(hCertStore, CERT_CLOSE_STORE_CHECK_FLAG); AfxMessageBox(_T("证书安装失败")); return; }
使用此种方法得到的Blob值项是:
030000000100000014000000D3FBFAA8A67FC9A2EADBF86AEB5D07A9D6AF322E200000000100000023030000+(根证书的十六进制串)
使用certlm.msc导入根证书得到的Blob值项是:
0400000001000000100000006C4139B0DBE1C3BEFDC83F5794A2EA0B0F00000001000000140000003D4C691
DBA6527DD8037BD928839D97FF5DBD21A1400000001000000140000005869C9D5DD14B313A0713C7C038D0
3E63D0F8E011900000001000000100000004C20CF3A717A7E6C89EB97B723E41CDE0300000001000000140000
00D3FBFAA8A67FC9A2EADBF86AEB5D07A9D6AF322E5C000000010000000400000000080000200000000100000023030000+(根证书的十六进制串)
哪种方式得到的Blob的值是正确的?
答案
-
Hi,
感谢再次发布。
Blob值代表的是什么?您可以查看此文档:证书BLOB属性
您是否尝试过CertAddEncodedCertificateToStore?
另外,你使用的证书类型是什么?
感谢
Drake
"Win32 API" forum will be migrating to a new home on Microsoft Q&A !
We invite you to post new questions in the "Win32 API" forum’s new home on Microsoft Q&A !
For more information, please refer to the sticky post.- 已标记为答案 Quincy1024 2020年12月2日 1:11
全部回复
-
Hi,
感谢再次发布。
Blob值代表的是什么?您可以查看此文档:证书BLOB属性
您是否尝试过CertAddEncodedCertificateToStore?
另外,你使用的证书类型是什么?
感谢
Drake
"Win32 API" forum will be migrating to a new home on Microsoft Q&A !
We invite you to post new questions in the "Win32 API" forum’s new home on Microsoft Q&A !
For more information, please refer to the sticky post.- 已标记为答案 Quincy1024 2020年12月2日 1:11
-
感谢大佬回复!
使用的是根证书。
证书详细内容如下图所示:(账户无法直接发送图片,汗……)
图片链接:
https://s3.ax1x.com/2020/12/01/D4mags.png
https://s3.ax1x.com/2020/12/01/D4mY4g.png
https://s3.ax1x.com/2020/12/01/D4mNCQ.png使用的是Base64编码 X.509格式导出的cer文件,证书文件内容如下所示:
-----BEGIN CERTIFICATE----- MIIDHzCCAgegAwIBAgIEGCVShDANBgkqhkiG9w0BAQUFADAiMQswCQYDVQQGEwJD TjETMBEGA1UEChMKQ0ZDQSBDUyBDQTAeFw0xMTA1MjAxNTI3MDVaFw00MTA1MTIx NTI3MDVaMCIxCzAJBgNVBAYTAkNOMRMwEQYDVQQKEwpDRkNBIENTIENBMIIBIjAN BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAshVScIOG1yHCTl2FSU1XHONBWXcS tlJr79ZeOZ8GkH+YFG0U60iaveoYBb4B7gAcc/pprxHEhgVr8uRBjlOAfp9vLrRX 1dJH00j93T7DXVRchGVjD/4x3zyjKLuNekeiBcA+7ry0m3FCHGSj31Kocw4kfrUc +BsDz4gIXJtsu617/AO4bvA+a+nBfxhwnIRNItsCLkO6qJfGIzeGMO+IYJ1s4XzL XCsrXM4ofUj6jblh5Cqo7ZwFRa0dV5lmgOz8xBYzvn/t+8HoIlwRq7zAbw1I8IpC VYcaE4+aPBK47hY9o9q9+JAqKbYQQwjLW4MSv4GNCKCVHQCeHD0QLoxtQwIDAQAB o10wWzAfBgNVHSMEGDAWgBRYacnV3RSzE6BxPHwDjQPmPQ+OATAMBgNVHRMEBTAD AQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUWGnJ1d0UsxOgcTx8A40D5j0PjgEw DQYJKoZIhvcNAQEFBQADggEBAGXTChXGscLtYcWtYF8v9OLdvzEWXclSAbyPI15S PYVrTleGMfUWraszz9CUrypuoYiWTnhr8ldOZ5HmR1IYIcs/XFQztTruAyCbAnMQ s2il3WqEZ1N5N5AG9PeAg/EYoLxJ9+lHpNa9fLjMK9x9IzDu6/qtkdDN6NuJgqTX 6gk8RpSl8PSaxxhmyum6t1adm5S7fj2IlbWdjHcRUQEBn5l7/MNaleGh1q7+5fc3 sLIC+udfA42SLYrDCAQGJ8UK5ec37hKSKQxT1WXJnSgP5hcYd+Jmb3AeXz7PoR7t 8TsDYnMum7OHLlLlxm+wmZ1ew+SCTlz1nwhPaDqWOIZmSXc= -----END CERTIFICATE-----