Andrew Kopeyko wrote:
- Цепочка сертификатов должна быть построена до корня.
- Проверка цепочки заканчивается на сертификате корневого CA.
- Если этот сертификат входит в список доверяемых - мы автоматически
доверяем и всем подчинённым ему сертификатам, конечным и промежуточным
CA.
- Решение о доверии может быть принято и ранее - если выдавший
конечный сертификат промежуточный CA внесён в наш список доверяемых.
Вот последний-то постулат как раз и не работает с промежуточным CA пока
не внесешь в список доверенных корневой сертификат и не увеличишь
verify_depth на единицу. Собственно, я об этом и писал первоначальное
письмо.
И не будет работать - потому что вы, ограничив verify_depth, не даёте
возможность построить полную цепочку сертификатов, т.е. до корня.
Похоже, я снова неверно\неточно выразился:
1. сначала выстраивается цепочка сертификатов, которая должна закончиться
корнем. Без построения полной цепочки сертификатов принять решение о
доверии невозможно - и принимается решение о недоверии.
2. затем пробегаем по выстроенной цепочке от end_entity к корню и
проверяем доверие к сертификатам. Вот этот-то процесс и может прерваться
до достижения корня.