[Eppnicbr] Certificado SSL

Cesar Fazan listas at itm.net.br
Wed Jul 19 22:34:02 BRT 2006


Olá Hugo,

    Eu havia feito uma tentativa parecida sem sucesso anteriormente.
    Refiz novamente para descrever passo-a-passo.
    O que é realmente estranho é que um teste de conexão com o servidor EPP 
da EURid funciona sem problemas .. veja no final do e-mail. Apenas no 
servidor do Registro.br continua acusando erro de handshake.

    O shepp funciona normal aqui ... mais o openssl apenas consegue conectar 
se eu especificar (-cert client.pem), a mesma coisa com php5 ... preciso 
sempre especificar onde esta o client.pem o que até onde eu sei torna o uso 
incompativel com php4 e perl e talvez com outras linguagens onde não se pode 
definir o certificado a ser utilizado para conexão.

    O servidor utilizado para testes é um FreeBSD 5.4-RELEASE-p4, segue 
abaixo o resultado dos testes:

(root)(~/registro.br) openssl verify client.pem
client.pem: /C=BR/ST=Sao Paulo/L=Sao Paulo/O=Registro.br/OU=shepp/CN=0
error 20 at 0 depth lookup:unable to get local issuer certificate

(root)(~/registro.br) openssl x509 -in root.pem -text > 
/etc/ssl/certs/registrobr.pem
(root)(~/registro.br) cd /etc/ssl/certs && 
/usr/src/crypto/openssl/tools/c_rehash .
Doing .
registrobr.pem => ddfcc2df.0

(root)(/etc/ssl/certs) cd ~/registro.br/
(root)(~/registro.br) openssl verify client.pem
client.pem: OK

(root)(~/registro.br) openssl s_client -tls1 -connect beta.registro.br:700
CONNECTED(00000003)
depth=1 /C=BR/ST=Sao Paulo/L=Sao 
Paulo/O=Registro.br/OU=EPP/CN=registro.br/emailAddress=epp at registro.br
verify error:num=19:self signed certificate in certificate chain
verify return:0
49946:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake 
failure:/usr/src/secure/lib/libssl/../../../crypto/openssl/ssl/s3_pkt.c:1052:SSL 
alert number 40
49946:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake 
failure:/usr/src/secure/lib/libssl/../../../crypto/openssl/ssl/s3_pkt.c:529:

(root)(~/registro.br) openssl s_client -tls1 -connect 
epp.registry.tryout.eu:33128
CONNECTED(00000003)
depth=1 /C=BE/ST= /L=Leuven/O=DNS BE/CN=DNS BE Root Certificate 
Authority/emailAddress=certificate at dns.Be
verify error:num=19:self signed certificate in certificate chain
verify return:0
---
Certificate chain
 0 s:/C=BE/ST=Unknown/L=Brussels/O=EURid/OU=EPP Server/CN=EURid vzw
   i:/C=BE/ST= /L=Leuven/O=DNS BE/CN=DNS BE Root Certificate 
Authority/emailAddress=certificate at dns.Be
[...]
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 1024 bit
SSL-Session:
    Protocol  : TLSv1
[...]


César

----- Original Message ----- 
From: "Hugo Koji Kobayashi" <koji at registro.br>
To: <eppnicbr at eng.registro.br>
Sent: Wednesday, July 19, 2006 7:11 PM
Subject: Re: [Eppnicbr] Certificado SSL


Cesar,

Tanto o certificado para testes como os certificados para produção são
assinados pelo certificado que se encontra no arquivo root.pem, o qual
é distribuído na libepp_nicbr.

Basta importar este certificado raiz (self-signed como outro
certificado raiz qualquer) na sua base de CA confiáveis. Via openssl
você importa isto pela seguinte interface:

http://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html

Não há previsão para utilização de certificados assinados por
terceiros.

Hugo

On Wed, Jul 19, 2006 at 11:48:55AM -0300, Cesar Fazan wrote:
>     Depois de muito quebrar a cabeça tentando efetuar a conexão com o
> servidor EPP do Registro.br utilizando as linguagens perl e php, encontrei 
> o
> erro acusando sobre o certificado ssl ser auto-assinado.
>
>     O servidor EPP de produção também utiliza certificado auto-assinado?
>     Isso irá mudar no futuro para uma maior compatibilidade?
>
>     No php5 encontrei uma forma de conseguir conectar utilizando o arquivo
> client.pem encontrado na libepp_nicbr, porém sem sucesso com php4 e perl.
>
>     Encontrei o erro após a execução do comando
> > openssl s_client -tls1 -crlf -connect beta.registro.br:700
>
> CONNECTED(00000003)
> depth=1 /C=BR/ST=Sao Paulo/L=Sao
> Paulo/O=Registro.br/OU=EPP/CN=registro.br/emailAddress=epp at registro.br
> verify error:num=19:self signed certificate in certificate chain
> verify return:0
> 46294:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake
> failure:/usr/src/secure/lib/libssl/../../../crypto/openssl/ssl/s3_pkt.c:1052:SSL
> alert number 40
> 46294:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake
> failure:/usr/src/secure/lib/libssl/../../../crypto/openssl/ssl/s3_pkt.c:529:
>
>
>     Quando eu peço para o openssl ler o certificado client.pem ele conecta
> sem problemas, mas isso não torna muito pratico o processo de criação das
> APIs.
>
>     Testei conexões com outros servidores EPP como EURid, Centralnic sem
> nenhum problema já que os mesmos não utilizavam certificados 
> auto-assinado.
>
>     Abaixo o resultado do openssl lendo o client.pem
>
> > openssl s_client -tls1 -crlf -cert client.pem -connect
> > beta.registro.br:700
> CONNECTED(00000003)
> depth=1 /C=BR/ST=Sao Paulo/L=Sao
> Paulo/O=Registro.br/OU=EPP/CN=registro.br/emailAddress=epp at registro.br
> verify error:num=19:self signed certificate in certificate chain
> verify return:0
> ---
> Certificate chain
>  0 s:/C=BR/ST=Sao Paulo/L=Sao 
> Paulo/O=Registro.br/OU=EPP/CN=beta.registro.br
>    i:/C=BR/ST=Sao Paulo/L=Sao
> Paulo/O=Registro.br/OU=EPP/CN=registro.br/emailAddress=epp at registro.br
>  1 s:/C=BR/ST=Sao Paulo/L=Sao
> Paulo/O=Registro.br/OU=EPP/CN=registro.br/emailAddress=epp at registro.br
>    i:/C=BR/ST=Sao Paulo/L=Sao
> Paulo/O=Registro.br/OU=EPP/CN=registro.br/emailAddress=epp at registro.br
> ---
> [...]
> New, TLSv1/SSLv3, Cipher is AES256-SHA
> Server public key is 2048 bit
> SSL-Session:
>     Protocol  : TLSv1
> [...]
>
> Atenciosamente,
>
>     César Fazan
>
> _______________________________________________
> eppnicbr mailing list
> eppnicbr at eng.registro.br
> https://eng.registro.br/mailman/listinfo/eppnicbr
_______________________________________________
eppnicbr mailing list
eppnicbr at eng.registro.br
https://eng.registro.br/mailman/listinfo/eppnicbr




More information about the eppnicbr mailing list