Проверка корневых сертификатов SSL через Indy для любого URL - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь проверить корневые сертификаты SSL в цепочке.Для этого я загружаю файл .pem с 126 корневыми сертификатами в OpenSSL с полем TIdSSLContext.RootCertFile.Все сертификаты успешно загружены.

Без файла .pem я никогда не видел ADepth больше 1.

Когда я пытаюсь проверить сертификаты с запросами на разные URL, для некоторых URL в цепочкесуществуют корневые сертификаты с ADept> = 2, например, Root как DigiCert High Assurance EV Root CA в OnVerifyPeer.Но большинство URL не имеют сертификатов глубже, чем ADepth = 1. Посмотрите на картинку ниже.

enter image description here

OnVerifyPeer похоже на Result := iif(ADepth >= 2, True, AOk);

LWrapper.SSLHandler.SSLOptions.RootCertFile := 'filepath to .pem file';
LWrapper.SSLHandler.SSLOptions.Method := sslvTLSv1_2;
LWrapper.SSLHandler.SSLOptions.Mode := sslmUnassigned;
LWrapper.SSLHandler.SSLOptions.VerifyMode := [sslvrfPeer];
LWrapper.SSLHandler.SSLOptions.VerifyDepth := 10;

Что я делаю не так, чтобы проверить список пользователей rootсертификаты для любого URL?

...