Как узнать, что не так с цифровым сертификатом? - PullRequest
0 голосов
/ 30 марта 2020

Есть ли способ узнать, где именно проблема с цифровым сертификатом в Windows?

Я купил сертификат подписи кода в CA и использую его для подписи приложения ClickOnce (с помощью mage.exe). ) и процесс подписания идет нормально. Но когда клиент устанавливает мое приложение ClickOnce, установщик предупреждает пользователя, что издатель не проверен. Я получил это для работы с самоподписанным сертификатом. Я хотел бы узнать, где именно проблема с этим сертификатом от CA. Есть ли способ «отладить» процесс проверки сертификата (AFAIK этот процесс является Authenticode).

1 Ответ

0 голосов
/ 01 апреля 2020

Authenticode - это только тип подписи.

Вы дважды щелкнули по сертификату, который использовался для создания подписи. Расширение оболочки для Windows Explorer может сказать вам, что не так - например, «Ненадежный» (root / эмитент не находится в хранилище доверенных центров сертификации), срок его действия истек, отозван ...

Копать глубже (CRL и OCSP): Отзыв проверка выполняется без списков отзыва сертификатов (CRL) и протокола статуса сертификата в сети (OCSP).

  1. Вот белая бумага для Windows.

  2. Использование. NET (C#)

X509Chain ch = new X509Chain();
ch.ChainPolicy.RevocationMode = X509RevocationMode.Online;
ch.Build (certificate);
Console.WriteLine ("Chain Information");
Console.WriteLine ("Chain revocation flag: {0}", ch.ChainPolicy.RevocationFlag);
Console.WriteLine ("Chain revocation mode: {0}", ch.ChainPolicy.RevocationMode);
Console.WriteLine ("Chain verification flag: {0}", ch.ChainPolicy.VerificationFlags);
Console.WriteLine ("Chain verification time: {0}", ch.ChainPolicy.VerificationTime);
Console.WriteLine ("Chain status length: {0}", ch.ChainStatus.Length);
Console.WriteLine ("Chain application policy count: {0}", ch.ChainPolicy.ApplicationPolicy.Count);
Console.WriteLine ("Chain certificate policy count: {0} {1}", ch.ChainPolicy.CertificatePolicy.Count, Environment.NewLine);

Источник: https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.x509certificates.x509chain.build?view=netframework-4.8

DigiCert предлагает инструмент , который полезен
...