Как прочитать клиентский сертификат в polarssl?

Как прочитать сертификат клиента со стороны сервера, используя mbedtls(polarssl)? У меня был сервер, который был закодирован с помощью mbedtls(polarssl), Я хочу прочитать сертификат клиента и получить некоторую информацию из этого сертификата. Может кто-нибудь знает, какая функция будет использоваться для чтения сертификата клиента?

1 ответ

Решение

Я думаю, что вы могли бы использовать mbedtls_x509_crt_info, которая возвращает информационную строку о сертификате.

Вы можете get the peer certificate from the ssl session когда клиент подключается, а затем распечатать информацию.

mbedtls_ssl_context ssl;

...

mbedtls_x509_crt *crt = ssl.session->peer_cert;

unsigned char buf[1024];
int ret = mbedtls_x509_crt_info((char *) buf, sizeof( buf ) - 1, "", crt);
if( ret != -1 )
{
    mbedtls_printf( "%s\n", buf );
}

Я не проверял это, просто проверил примеры.

Другие вопросы по тегам