C++ Certmgr-不更新没有私钥的自签名证书

C++ Certmgr-不更新没有私钥的自签名证书,c++,windows,certificate,private-key,cryptoapi,C++,Windows,Certificate,Private Key,Cryptoapi,我正在使用Windows操作系统的自签名证书和证书管理器 首先,我创建了一个自签名证书“RootCA”,该证书分配了一个私钥/公钥对,但我已使用下一个certutil.exe命令成功销毁了该证书的私钥: certutil -user -delkey "RootCA" 另外,我已经检查了刷新和导出私钥,这是不可能的,因为它已被销毁 问题是当我销毁私钥后在证书管理器中可视化“RootCA”时,“General”选项卡表示“您有一个与此证书对应的私钥。”: 我的问题是: 有没有办法更新/删除以前的

我正在使用Windows操作系统的自签名证书和证书管理器

首先,我创建了一个自签名证书“RootCA”,该证书分配了一个私钥/公钥对,但我已使用下一个certutil.exe命令成功销毁了该证书的私钥:

certutil -user -delkey "RootCA"
另外,我已经检查了刷新和导出私钥,这是不可能的,因为它已被销毁

问题是当我销毁私钥后在证书管理器中可视化“RootCA”时,“General”选项卡表示“您有一个与此证书对应的私钥。”:

我的问题是:


有没有办法更新/删除以前的证书信息?如果是,是否可以通过编程方式执行此操作?

使用Microsoft CryptoAPI将
CertSetCertificateContextProperty
函数的参数设置为
NULL
可以解决此问题。

使用
CERT\u KEY\u PROV\u INFO\u PROP\u ID
调用
CertSetCertificateContextProperty
。是否可以通过编程方式执行此操作?-毫无意义的问题,因为一切都结束了programmatically@RbMm就这样!将“CertSetCertificateContextProperty”函数的“pData”参数设置为“NULL”,解决了该问题。谢谢:)