У меня есть приложение, работающее в нескольких колл-центрах.Он используется многими агентами в течение всего дня, но иногда я получаю отчет об ошибках SSL.Я использую System.Net.ServicePointManager.ServerCertificateValidationCallback для выгрузки всей цепочки и ошибки при возникновении проблемы.
В этом случае в журнале ошибок отображается состояние цепочки и информация о состоянии:
Status: NotSignatureValid => The signature of the certificate cannot be verified.
Я также экспортирую и выгружаю информацию о сертификате (отпечаток, эмитент и т. Д.) В цепочке, включая формат PEM, сгенерированный следующим образом:
int certNumber = 0;
foreach (System.Security.Cryptography.X509Certificates.X509ChainElement element in chain.ChainElements)
{
certNumber++;
sb.AppendLine("Certificate #" + certNumber + ":");
sb.AppendLine(" Subject: " + element.Certificate.Subject);
sb.AppendLine(" Issuer: " + element.Certificate.Issuer);
sb.AppendLine(" Serial #: " + element.Certificate.SerialNumber);
sb.AppendLine(" Thumbprint: " + element.Certificate.Thumbprint);
sb.AppendLine(" Valid Dates: " + element.Certificate.NotBefore.ToString() + " to " + element.Certificate.NotAfter.ToString());
sb.AppendLine(" Signature Algorithm: " + element.Certificate.SignatureAlgorithm.FriendlyName);
sb.AppendLine(" Version: " + element.Certificate.Version);
sb.AppendLine(" Encoded Certificate: " + Convert.ToBase64String(element.Certificate.Export(X509ContentType.Cert)));
}
Я трижды проверил результаты и подтвердилчто цепочка завершена, и все закодированные сертификаты, сброшенные (и дважды проверенные посредством отпечатков пальцев, тоже), являются правильными.Я не вижу никаких свидетельств того, что происходит какой-либо перехват / проверка MITM или SSL - они просто правильные, необработанные сертификаты, поэтому я не уверен, как подпись сертификата может быть недействительной.
Сертификаты все2048-разрядный, и единственное, что я могу видеть, это то, что субъектный сертификат и промежуточный CA используют sha256RSA для своих алгоритмов подписи, но корневой CA использует sha1RSA, но это было объективно подтверждено в отдельной сети как точная.
Есть идеи?