Welcome! Log In Create A New Profile

Advanced

ngx_http_ssl_module: клиентские сертификаты

March 02, 2010 05:22AM
Приветствую!

При использовании клиентских сертификатов, подписанных алгоритмом sha256WithRSAEncryption при попытке установки соединения nginx рвет его с ошибкой в логе:
[code]
SSL_do_handshake() failed (SSL: error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message digest algorithm) while SSL handshaking
[/code]

Где-то в интернете наткнулся на информацию, что OpenSSL при стандартной инициализации подключает не все алгоритмы, и нужно отдельно вызывать OpenSSL_add_all_algorithms(). Собственно, после этого все заработало:

[code]
--- nginx-0.8.31/src/event/ngx_event_openssl.c 2009-11-23 17:09:57.000000000 +0300
+++ nginx-my/src/event/ngx_event_openssl.c 2010-02-06 16:04:14.871090623 +0300
@@ -106,6 +106,8 @@

ENGINE_load_builtin_engines();

+ OpenSSL_add_all_algorithms();
+
ngx_ssl_connection_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);

if (ngx_ssl_connection_index == -1) {

--- nginx-0.8.31/src/event/ngx_event_openssl.h 2009-11-11 13:59:07.000000000 +0300
+++ nginx-my/src/event/ngx_event_openssl.h 2010-02-06 16:00:43.691095715 +0300
@@ -15,6 +15,7 @@
#include <openssl/err.h>
#include <openssl/conf.h>
#include <openssl/engine.h>
+#include <openssl/evp.h>

#define NGX_SSL_NAME "OpenSSL"

[/code]
Subject Author Posted

ngx_http_ssl_module: клиентские сертификаты

enikesha March 02, 2010 05:22AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 91
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready