gpt4 book ai didi

c# - 使用 X509 证书从 XML 文件中提取公钥?

转载 作者:太空狗 更新时间:2023-10-29 19:58:33 25 4
gpt4 key购买 nike

我正在尝试从 XML 文件在 C# 中创建一个 X509Certificate2 对象。 XML 文件是我们从供应商处收到的 SAML 元数据文件。

我正在尝试从这些 XML 元素中提取公钥:

<X509Data>
<X509Certificate>
MIIB7DCCAVmgAwIBAgIQPjHcBTL63bBLuJZ88RcrCjAJBgUrDgMCHQUAMBExDzANBgNVBAMT
BnJvbWVvazAgFw0xMDAzMTUwMjI1MjZaGA8yMTEwMDIxOTAyMjUyNlowETEPMA0GA1UEAxMG
cm9tZW9rMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDAu/sBh13A27rR7gJpZsI6zCee
TXNohQWlq2z6Zg8Oxzsy5JoVV
</X509Certificate>
</X509Data>

在 C# 中有没有办法从 XML 元素中提取 .cer 文件或公钥?

最佳答案

Randall 的回答是正确的。但在 SAML token 中,我相信证书将始终采用 Base64 编码。所以对于后代来说,对我有用的解决方案是:

var document = new XmlDocument();
document.LoadXml(txtXml.Text);
var certificateStr = document.SelectSingleNode("X509Data/X509Certificate").InnerText;
byte[] data = Convert.FromBase64String(certificateStr);
var x509 = new X509Certificate2(data);
Console.WriteLine("Public Key Format: {0}", x509.PublicKey.EncodedKeyValue.Format(true));

关于c# - 使用 X509 证书从 XML 文件中提取公钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13639890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com