wget + nginx + ssl

Igor Sysoev is at rambler-co.ru
Fri Sep 11 13:57:23 MSD 2009


On Fri, Sep 11, 2009 at 12:46:15PM +0300, Mihails wrote:

> Я согласен,только почему такой вариант сработал ?

Не знаю, я воспроизвёл описанную процедуру создания сертификатов
и получил описанные ниже результаты с wget. Я бы рекомендовал повторить
процедуру создания сертификата, причё написав всё в виде Makefile
для вопроизводимости.

> Igor Sysoev wrote:
> >On Fri, Sep 11, 2009 at 10:52:00AM +0300, Mihails wrote:
> >
> >  
> >>С использованием : "ssl_client_certificate ca.crt" и команды "wget -d  
> >>--no-check-certificate --certificate=./client.crt 
> >>--private-key=./client.key https://192.168.1.210" ,соединение 
> >>происходит,но выдает ошибку :
> >>
> >>---request begin---
> >>GET / HTTP/1.0
> >>User-Agent: Wget/1.11.4
> >>Accept: */*
> >>Host: 192.168.1.210
> >>Connection: Keep-Alive
> >>
> >>---request end---
> >>HTTP request sent, awaiting response...
> >>---response begin---
> >>HTTP/1.1 400 Bad Request
> >>Server: nginx/0.7.61
> >>Date: Fri, 11 Sep 2009 07:46:39 GMT
> >>Content-Type: text/html
> >>Content-Length: 231
> >>Connection: close
> >>
> >>---response end---
> >>400 Bad Request
> >>Closed 3/SSL 0x08976f28
> >>2009-09-11 10:46:39 ERROR 400: Bad Request.
> >>
> >>Лог фаил пишет :
> >>2009/09/11 10:46:27 [info] 2288#3484: *100 client SSL certificate verify 
> >>error: (7:certificate signature failure) while reading client request 
> >>headers, client: 192.168.1.211, server: 192.168.1.210, request: "GET / 
> >>HTTP/1.0", host: "192.168.1.210"
> >>2009/09/11 10:46:39 [info] 2288#3484: *101 client SSL certificate verify 
> >>error: (7:certificate signature failure) while reading client request 
> >>headers, client: 192.168.1.211, server: 192.168.1.210, request: "GET / 
> >>HTTP/1.0", host: "192.168.1.210"
> >>
> >>После чего в конфиге обратно прописал : ssl_client_certificate 
> >>client.crt и запустил такую же команду с wget. В результате успешно 
> >>соединился и скачал фаил:
> >>
> >>---request begin---
> >>GET / HTTP/1.0
> >>User-Agent: Wget/1.11.4
> >>Accept: */*
> >>Host: 192.168.1.210
> >>Connection: Keep-Alive
> >>
> >>---request end---
> >>HTTP request sent, awaiting response...
> >>---response begin---
> >>HTTP/1.1 200 OK
> >>Server: nginx/0.7.61
> >>Date: Fri, 11 Sep 2009 07:50:44 GMT
> >>Content-Type: text/html
> >>Content-Length: 151
> >>Last-Modified: Wed, 30 Aug 2006 11:39:18 GMT
> >>Connection: keep-alive
> >>Accept-Ranges: bytes
> >>
> >>---response end---
> >>200 OK
> >>Registered socket 3 for persistent reuse.
> >>Length: 151 [text/html]
> >>Saving to: `index.html'
> >>    
> >
> >В --certificate= нужно указывать сертификат, выданный клиенту.
> >В ssl_client_certificate нужно указывать сертификат, которым был подписан
> >это клиентский сертификат. Это разные сертифиткаты.
> >
> >  
> >>Igor Sysoev wrote:
> >>    
> >>>On Thu, Sep 10, 2009 at 11:02:04AM +0300, Mihails wrote:
> >>>
> >>> 
> >>>      
> >>>>Запускаю : " wget -d --certificate=/home/client.crt
> >>>>https://192.168.1.210"
> >>>>Connecting to 192.168.1.210|192.168.1.210|:443... connected.
> >>>>Created socket 3.
> >>>>Releasing 0x09456c98 (new refcount 1).
> >>>>Initiating SSL handshake.
> >>>>SSL handshake failed.
> >>>>OpenSSL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert
> >>>>handshake failure
> >>>>Closed fd 3
> >>>>Unable to establish SSL connection.
> >>>>После чего пришёл к выводу,что через
> >>>>wget не происходит соединение.
> >>>>   
> >>>>        
> >>>Что в error_log nginx' на info уровне ?
> >>>
> >>>-       ssl_client_certificate  client.crt;
> >>>+       ssl_client_certificate  ca.crt;
> >>>
> >>>У меня wget с этим набором сертификатов соединялся только в таком случае:
> >>>
> >>>wget -d --no-check-certificate
> >>>       --certificate=client.crt
> >>>       --private-key=client.key
> >>>
> >>>Для
> >>>
> >>>wget -d --ca-certificate=ca.crt
> >>>       --certificate=client.crt
> >>>       --private-key=client.key
> >>>
> >>>Выдавалось
> >>>
> >>>Initiating SSL handshake.
> >>>Handshake successful; connected socket 3 to SSL handle 0x0808fa00
> >>>certificate:
> >>> subject: ...
> >>> issuer:  ...
> >>>ERROR: Certificate verification error for t42: self signed certificate
> >>>To connect to localhost insecurely, use `--no-check-certificate'.
> >>>Closed 3/SSL 0x808fa00
> >>>Unable to establish SSL connection.
> >>>      
> >
> >
> >  
> 

-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list