Когда мы повторно используем ранее сохраненные SSL_SESSION
,
имеет ли повторно используемый сеанс SSL оригинальный сертификат X.509?
Мой код вылетает очень редко, и расследование показало, что
сеанс SSL используется повторно, и некоторые поля сертификата однорангового узла (certinfo->key->pkey
) перепутаны.
1-е рукопожатие от CLT до SVR.
SVR отправляет сертификат X.509 в CLT, а CLT сохраняет сертификат.
Мы можем получить сертификат, используя SSL_get_peer_certificate()
.
CLT сохраняет SSL_SESSION
с SSL_get1_session()
.
2-е рукопожатие от CLT до SVR.
На этот раз CLT предлагает сохраненные SSL_SESSION
с SSL_set_session()
и сокращенное рукопожатие произошло.
Когда CLT вызывает SSL_get_peer_certificate()
, может ли CLT получить оригинал
Сертификат X.509?
Кажется, что связь с SSL_SESSION
и включенным сертификатом peer X.509 ослаблена. Должны ли мы сохранять одноранговый сертификат X.509 с явным повышением refcnt, в дополнение к вызову SSL_get1_session
просто для правильного использования SSL_get_peer_certificate()
для повторно используемых SSL_SESSION
?
Я использую LibreSSL и OpenSSL в Linux.
Любые комментарии будут высоко оценены.