0

对于我正在针对 TeleCashAPI(互联网支付网关)开发的应用程序之一。我需要在每次通话时发送客户端证书 (p12)。

到目前为止,我已经通过文件系统加载了客户端证书

public void AddCertificate(X509Certificate certificate)
{
    WebRequest.ClientCertificates.Add(certificate);
}

现在我的客户希望它更通用。它应该安装在客户端机器上(正在与这个 api 对话)。我仍然知道密码是什么,但我不知道证书。

我怎样才能获得证书?

从这个答案中,我看到了如何获得整个列表:

X509Store store = new X509Store("My");

store.Open(OpenFlags.ReadOnly);

foreach (X509Certificate2 mCert in store.Certificates){
    //TODO's
}

但是我如何找到我特别想要的证书?这甚至可能吗?

我对这个话题真的很陌生。


更清楚一点:

证书通过双击安装。我无法控制这个过程。我的任务是找到用于 TeleCash 的证书。

4

1 回答 1

3

要知道证书哈希 - 双击证书 -> 详细信息 -> 指纹

foreach (X509Certificate2 mCert in store.Certificates)
{
    if(mCert.Thumbprint.ToLower()=="Your Certificat hash")
    {
        //TODO
    }
}
于 2015-09-08T12:29:15.697 回答