sınıfta X509Certificate2Collection yeni bir yöntem var FindByThumbprint()Belirli bir SHA algoritmasına sahip SHA parmak izi aracılığıyla dijital bir sertifika bulmak için.
Duyurudan sonra devamını okuyun
Dr. Holger Schwichtenberg, 53 tanınmış uzmanıyla çok sayıda orta ve büyük ölçekli şirketi danışmanlık, eğitim ve yazılım geliştirme yoluyla destekleyen www.IT-Visions.de uzman ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası konferansa katılımı, 90'dan fazla uzmanlık kitabı ve 1.500'den fazla uzmanlık makalesi sayesinde Holger Schwichtenberg, .NET ve web teknolojileri konusunda Almanya'nın en tanınmış uzmanlarından biridir.
Daha önce sertifika parmak izlerini aramanın bir yöntemi vardı Find():
X509Certificate2Collection coll =
store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);
Bu yöntem her zaman SHA-1 algoritmasını kullanarak parmak izlerini aramıştır. SHA-2-256 (SHA256) ve SHA-3-256 aynı uzunlukta olduğundan karışıklık riski vardı. Yeni yöntem bu sorunu çözüyor FindByThumbprint()SHA algoritmasını belirleyebileceğiniz yer.
Aşağıdaki örnek kod kullanımını göstermektedir: FindByThumbprint():
public void SearchCertificateByFingerprint()
{
CUI.Demo(nameof(SearchCertificateByFingerprint));
CUI.H2("Zertifikat suchen im Store");
string thumbprint = "B9749C08E0D33C5643B7DE067A0B365870B9A9A9";
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
// Alt: Sucht immer nach SHA1-Thumbprint
//X509Certificate2Collection coll = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);
// neu: Auswahl des Hash-Algorithmus
X509Certificate2Collection coll = store.Certificates.FindByThumbprint(HashAlgorithmName.SHA256, thumbprint);
if (coll.Count == 0)
{
CUI.Warning($"Zertifikat mit Thumbprint {thumbprint} nicht gefunden.");
}
foreach (var item in coll)
{
Console.WriteLine(item.IssuerName.Name + ": " + item.Thumbprint + " -> " + item.SignatureAlgorithm.FriendlyName);
}
}
(Ben)

Bir yanıt yazın