如何从证书存储中获取X509Certificate并生成xml签名数据?

val*_*imo 17 .net c# xml x509certificate xml-signature

如何从证书存储中获取X509Certificate,然后在.net C#中生成XML SignatureData?

小智 40

AFAIK,XML格式不保存证书,您应该自己组合它.

这是你想要的吗 ?

   static void Main(string[] args)
   {
        X509Certificate2 cer = new X509Certificate2();
        cer.Import(@"D:\l.cer");
        X509Store store = new X509Store(StoreLocation.CurrentUser);
        store.Certificates.Add(cer);

        store.Open(OpenFlags.ReadOnly);
        X509Certificate2Collection cers = store.Certificates.Find(X509FindType.FindBySubjectName, "My Cert's Subject Name", false);
        if (cers.Count>0)
        {
            cer = cers[0];
        };
        store.Close();
   }
Run Code Online (Sandbox Code Playgroud)

  • 你需要调用"store.Open(OpenFlags.ReadOnly);" 在"查找"之前,如果在查找之前未将证书添加到商店. (36认同)