OpenSSL: как предоставить пользовательский указатель на обратный вызов проверки сертификата - PullRequest
1 голос
/ 10 ноября 2010

Я хочу использовать X509_STORE_set_verify_cb_func для получения ошибок проверки сертификата.Затем я хочу сохранить эти ошибки в списке и обработать их позже после возврата SSL_connect.

Однако мое приложение является многопоточным, и я хотел избежать блокировки мьютекса для этого обратного вызова.Любые способы передать «пустой указатель» или сохранить его где-нибудь в X509_STORE_CTX, чтобы я мог сохранить ошибку в «правильном» месте и не использовать глобальный список ошибок и заблокировать его при выполнении SSL_connect?

Спасибо

1 Ответ

0 голосов
/ 01 декабря 2010

AFAIK, вы действительно застряли с этим - просто поместите это как запись там под своим собственным идентификатором.Другим вариантом является более общий подход к обратным вызовам SSL - см., Например, ssl_hook в ssl_engine_kernel.c Apache, его модуль SSL.Хотя немного больше работы - это дает вам полный контроль над всем процессом - и полностью в вашем «собственном пространстве процесса».

Спасибо,

Dw.

...