假设 C# 和 .NET Core 7 开发环境具有 X509Certificate2SigningCertificate 类型的变量,为什么此主题密钥标识符提取在某些计算机上失败?
var issuerSubjectKey = signingCertificate.Extensions["Subject Key Identifier"].RawData;
这适用于开发和测试机器,但“issuerSubjectKey”在某些客户机器上返回为空。
事实证明,客户的机器被设置为不同的语言和文化。以下代码适用于所有机器:
var issuerSubjectKey = signingCertificate.Extensions.OfType<X509SubjectKeyIdentifierExtension>().Single().RawData;