C# C FindBySubjectName函数
为什么:C# C FindBySubjectName函数,c#,security,find,certificate,x509certificate,C#,Security,Find,Certificate,X509certificate,为什么: foundCertificates = certificates.Find(X509FindType.FindBySubjectName, "TEXT 14", false); 查找与相同的证书 foundCertificates = certificates.Find(X509FindType.FindBySubjectName, "TEXT 141", false); 如果我指定我想要文本141,它不应该为我选择文本14 如何解决此问题?来自for X509FindType.F
foundCertificates = certificates.Find(X509FindType.FindBySubjectName, "TEXT 14", false);
查找与相同的证书
foundCertificates = certificates.Find(X509FindType.FindBySubjectName, "TEXT 141", false);
如果我指定我想要文本141,它不应该为我选择文本14
如何解决此问题?来自for X509FindType.FindBySubjectName枚举成员:
Find方法使用FindBySubjectName值,使用提供的值执行不区分大小写的字符串比较。例如,如果将MyCert传递给Find方法,它将查找主题名称包含该字符串的所有证书,而不考虑其他主题值。按可分辨名称搜索是更精确的搜索
因此,如果需要精确匹配,请改用X509FindType.FindBySubjectDifferentizedName。来自for X509FindType.FindBySubjectName枚举成员:
Find方法使用FindBySubjectName值,使用提供的值执行不区分大小写的字符串比较。例如,如果将MyCert传递给Find方法,它将查找主题名称包含该字符串的所有证书,而不考虑其他主题值。按可分辨名称搜索是更精确的搜索
因此,如果需要精确匹配,请改用X509FindType.FindBySubjectDifferentizedName。Tnx。但当我在FindBySubjectDiscrimitedName中搜索文本141时,它说找不到证书。在哪里可以看到证书的SubjectDifferentizedName?@StevenSeagull,打开证书详细信息->详细信息选项卡->主题字段。这是一个,明白了!X500 DifferentizedName name=certificate.SubjectName;Console.WriteLinename.Name;Tnx它现在可以在FindBySubjectDifferentizedName的情况下工作,如果您将自己的字符串文本输入Find方法,则需要在其前面加上CN=,在我的情况下,它无法找到任何证书。示例:FindX509FindType.findbysubjectdifferentiedname,CN=Example.org,….Tnx。但当我在FindBySubjectDiscrimitedName中搜索文本141时,它说找不到证书。在哪里可以看到证书的SubjectDifferentizedName?@StevenSeagull,打开证书详细信息->详细信息选项卡->主题字段。这是一个,明白了!X500 DifferentizedName name=certificate.SubjectName;Console.WriteLinename.Name;Tnx它现在可以在FindBySubjectDifferentizedName的情况下工作,如果您将自己的字符串文本输入Find方法,则需要在其前面加上CN=,在我的情况下,它无法找到任何证书。示例:FindX509FindType.findbysubjectdifferentiedname,CN=Example.org。。。。