Я использую смарт-карту для аутентификации.
SecurityTokenService (служба аутентификации) размещается только на моем компьютере. Смарт-карта имеет действующий сертификат, и ее корневой сертификат также установлен в хранилище локального компьютера на моем компьютере.
Когда я использую метод X509Certificate2.Verify
для проверки сертификата в моей службе, он всегда возвращает false
.
Может ли кто-нибудь помочь мне понять, почему метод X509Certificate2.Verify () всегда возвращает false?
Примечание: я использовал X509Chain
и проверил все флаги (X509VerificationFlags.AllFlags
). Когда я создаю чанин, он возвращает true
с ChainStatus
как RevocationStatusUnknown
.
РЕДАКТИРОВАТЬ 1:
Я заметил, что метод X509Certificate2.Verify()
возвращает true
, если я напишу этот код в приложении Windows Form. Он возвращает false
только в коде стороны службы. Почему так? Удивительно, но факт!