无法获得X509Certificate2证书的代码C# [英] Could not able to get X509Certificate2 certificate by code C#

查看:1091
本文介绍了无法获得X509Certificate2证书的代码C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从我的商店找到证书,但使用以下代码我无法获得证书。它总是返回null。





我的代码有什么问题?



更新: >

我通过探索store对象复制了我的证书指纹,并将其与我的指纹字符串进行比较,并返回false!我认为在VS2010 IDE或复制粘贴问题解释字符串的问题,你可以看到下面的图。因为它应该忽略来自列表的证书。有没有人面临这种​​类型的问题?



解决方案

证书集合是空的,因为没有指纹的证书。
检查:




  • 证书在您当前用户中的存在





    • 使用mmc验证上述内容


    • $ c> X509Store store = new X509Store(StoreName.Root,StoreLocation.CurrentUser);




    修改



    以下是否有用:

      X509Certificate2Collection col = store.Certificates; 

    foreach(var currCert in col)
    {
    var currThumbprint = currCert.Thumbprint;
    if(thumbprint.ToUpperInvariant()== currThumbprint)
    {
    x509Certificate2 = currCert;
    break;
    }
    }


    I want to find certificate from my store but using following code i could not able to get certificate. It always return null.

    What's wrong with my code?

    Update:

    I have copied my certificate thumbprint by exploring store object and compare it with my thumbprint string and it return false! I think issue of interpreting string in VS2010 IDE or copy paste problem you can see that below in fig. because of this it should ignore the certificate from the list. Have anyone faced this type of issue before?

    解决方案

    Well the certificate collection is empty since there's no certificate with that thumbprint. Check:

    • that the certificate is present in your current user

    • that the certificate is stored in the personal folder

    Try:

    • using mmc to verify the above things

    • using X509Store store = new X509Store(StoreName.Root, StoreLocation.CurrentUser);

    Edit:

    Does the following return anything useful:

    X509Certificate2Collection col = store.Certificates;
    
    foreach (var currCert in col)
    {
         var currThumbprint = currCert.Thumbprint;
         if (thumbprint.ToUpperInvariant() == currThumbprint)
         {
             x509Certificate2= currCert;
             break;
         }
    }
    

    这篇关于无法获得X509Certificate2证书的代码C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆