Não é possível ligar ao Rabbitmq usando o SSL
Rabbitmq
via SSL
.
Os passos que segui são os seguintes:
-
Os certificados gerados e o ficheiro pem no servidor, usando tls-gen
os ficheiros gerados foram os seguintes:
Server_key.pem
Server_certificate.pem
cliente.pem
Client_certificate.pem
Ca_key.pem
Ca_certificate.pem
-
a seguir a esta ligação ao activar o ssl rabbitmq , criei um ficheiro chamado
rabbitmq.config
em/etc/rabbitmq
, copiei um ficheiro de configuração por omissão e não comentei as linhas:[ {rabbit, [ {tcp_listeners, [5671]}, {ssl_listeners, [5672]}, {auth_mechanisms, ['EXTERNAL','PLAIN']}, {ssl_options, [{cacertfile,"/path/to/ca_certificate.pem"}, {certfile,"/path/to/server_certificate.pem"}, {keyfile,"/path/to/server_key.pem"}, {verify,verify_peer}, {fail_if_no_peer_cert,false}]} ]} ].
-
copiei as chaves do cliente da máquina que estou a tentar ligar ao rabbitmq de e estou a usar os seguintes paramters:
RABBITMQ_CONNECTION_PARAMETERS = {'host': 'rabbitmqHost', 'port': 5671, 'heartbeat_interval': 0, 'ssl': True, 'ssl_options': {'certfile':'client_certificate.pem', 'keyfile': 'client_key.pem', } }
de acordo com os parâmetros especificados nesta ligação
Sem SSL ativado e usando credenciais simples eu sou capaz de conectar ao servidor rabbitmq. No entanto, usando a configuração acima, eu recebo o erro abaixo na conexão:
depuração: pika.callback: adicionado: {'callback':>, 'only': None, 'one_shot': False,' arguments': None} 2017-03-10 16: 00: 23 [pika .callback] DEBUG: adicionado: {'callback':>, 'only': None, 'one_shot': False,' arguments': None} Depuração: pika.callback: adicionado: {'callback':>, 'only': None, 'one_shot': True, 'arguments': None,' calls': 1} 2017-03-10 16: 00: 23 [pika .callback] DEBUG: adicionado: {'callback':>, 'only': None, 'one_shot': True, 'arguments': None,' calls': 1} INFO: pika.adaptador.ligação de base: ligação ao rabbitmqSever: 5672 com SSL 2017-03-10 16: 00: 23 [pika .adaptador.base_connection] INFO: ligação ao rabbitmqSever: 5672 com SSL Aviso: pika.adaptador.base_connection: Connection to rabbitmqSever: 5672 failed: [Errno 336265218] _ssl.c: 355: erro: 140B0002: rotinas SSL: Ssl_ctx_use_ Privatekey_ file: system lib 2017-03-10 16: 00: 23 [pika .adaptador.base_connection] WARNING:Connection to rabbitmqSever: 5672 failed: [Errno 336265218] _ssl.c: 355: erro: 140B0002: rotinas SSL: Ssl_ctx_use_ Privatekey_ file: system lib Aviso: pika.ligação: não foi possível ligar, faltam 0 tentativas 2017-03-10 16: 00: 23 [pika .aviso da ligação: não foi possível ligar, 0 tentativas à esquerda Depuração: pika.callback: processamento 0: _on_ ligação _ erro 2017-03-10 16: 00: 23 [pika .callback] DEBUG: a processar 0: _on_ ligação _ erro Depuração: pika.callback : Calling > para "0: _on_ ligação _ erro" 2017-03-10 16: 00: 23 [pika .callback] DEBUG: invocando > para "0: _on_ ligação _ erro" Erro não tratado em diferido: Crítico: torcido: erro não tratado em diferido: 2017-03-10 16: 00: 23 [twisted] CRITICAL: Unhandled error in Deferred:
actualizar:
Se eu usar openssl
para me ligar:
openssl s_client -connect server:5671 -cert client_certificate.pem -key client_key.pem
tenho o seguinte:
CONNECTED(00000003)
140243320723104:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:795:
no peer certificate available
No client certificate CA names sent
SSL handshake has read 7 bytes and written 295 bytes
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
por favor, note: eu estou conectando a rabbitmq de um scrapy spider