Существует ли кроссплатформенный эквивалент C/C++ для CertGetCertificateChain()?

Я пытаюсь программно построить и проверить цепочку сертификатов на основе объекта сертификата X509 в памяти (полученного по сетевому соединению) и каталога файловой системы, содержащего доверенные корневые сертификаты.

Я знаком с тем, как это сделать в Windows, используя CertGetCertificateChain, но в своих исследованиях я не нашел такого же простого в использовании API. В частности, тот, который будет передаваться по сети для получения сертификата (сертификатов) подписи (CA) с использованием поля доступа к информации центра сертификации (AIA) в сертификате конечного объекта.

Я нашел этот пример для gnuTLS, и Я нашел эти похожие ответы здесь, и здесь, но я понимаю, что сложность - враг безопасного шифрования, и они кажутся довольно сложными по сравнению.

Существует ли API-интерфейс, эквивалентный CertGetCertificateChain, который является кроссплатформенным, как в POSIX-portable?

Я покупаю библиотеки, поэтому я не привязан к конкретной библиотеке (OpenSSL, LibreSSL, gnuTLS и т. д.), просто ищу подходящую для работы.


person Anro    schedule 20.02.2016    source источник
comment
Есть ли API-интерфейс, эквивалентный CertGetCertificateChain, который является кроссплатформенным... - какая платформа и/или какая библиотека?   -  person jww    schedule 21.02.2016
comment
@jww, я обновил вопрос, чтобы уточнить, о чем я спрашиваю.   -  person Anro    schedule 22.02.2016