[Eppnicbr] RES: RES: RES: RES: RES: RES: Acesso TLS
Guilherme Magalhães
guilherme at iwire.com.br
Fri Aug 4 15:34:12 BRT 2006
Oi Luis!
Consegui implementar conexão TLS utilizando o próprio .NET Framework
2.0, que vêm com a classe SslStream, como:
TcpClient client = new TcpClient();
client.Connect(EppServer, EppServerPort);
SslStream sslStream = new SslStream(client.GetStream(), false, new
RemoteCertificateValidationCallback(ValidateServerCertificate));
.
.
.
X509CertificateCollection certs = new X509CertificateCollection();
certs.Add(certificate);
sslStream.AuthenticateAsClient(EppServer, certs,
System.Security.Authentication.SslProtocols.Tls, false);
Você pode conseguir o objeto X509Certificate fazendo uma query no CA
local da sua máquina Windows, com:
X509Store store = new X509Store("MY", StoreLocation.LocalMachine);
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadWrite);
Dê uma olhada no MSDN.com sobre a documentação da
System.Net.Security e System.Security.Cryptography.X509Certificates. O .NET
Framework 2.0 é um show com gerenciamento de criptografia.
Um abraço a todos da Seven! Conheci algumas pessoas daí há tempos
quando ainda era I2 ;)
Abraços,
Guilherme Magalhães
-----Mensagem original-----
De: Luis Fernando de Oliveira Leao [mailto:luis at seven.com.br]
Enviada em: sexta-feira, 4 de agosto de 2006 15:22
Para: 'Guilherme Magalhães'; eppnicbr at eng.registro.br
Assunto: RES: [Eppnicbr] RES: RES: RES: RES: RES: Acesso TLS
Guilherme,
Tivemos o mesmo problema ao tentar desenvolver o EPP quando iniciamos os
testes com a plataforma windows também (regerar o certificado do formato
PEM, só que passamos para PFX)...
Já conseguimos realizar a homologação do protocolo com o Registro.br
utilizando um componente comercial para conexão TLS, porém estamos em busca
de um componente de código aberto para isso.
Você conseguiu vencer esta etapa do certificado funcionar no Windows e
recebeu as mensagens do protocolo corretamente (GREETING por exemplo)?
Se desejar, posso disponibilizar alguns fontes que "facilitam" a criação dos
XMLs sem a necessidade de utilizar arquivos de template XML com variáveis de
substituição, como foi feito na lib-epp, além da função que é necessária
para determinar o tamanho do xml enviado, conforme a definição inicial do
TLS.
[]'s
Luís Fernando
-----Mensagem original-----
De: eppnicbr-bounces at eng.registro.br
[mailto:eppnicbr-bounces at eng.registro.br] Em nome de Guilherme Magalhães
Enviada em: segunda-feira, 31 de julho de 2006 18:27
Para: eppnicbr at eng.registro.br
Assunto: [Eppnicbr] RES: RES: RES: RES: RES: Acesso TLS
Para arquivo, consegui fazer o TLS funcionar em Windows convertendo o .PEM
em .P12 no OpenSSL e importando o .P12 no CA do LocalMachine. Incrívelmente,
importando somente o .PEM para o CA exibe o certificado mas não funciona.
Provavelmente é algo relacionado ao PrivateKey, que não deve ter sido
reconhecido pelo Windows no formato PEM...
Abraços!
Guilherme
-----Mensagem original-----
De: eppnicbr-bounces at eng.registro.br
[mailto:eppnicbr-bounces at eng.registro.br] Em nome de Guilherme Magalhães
Enviada em: segunda-feira, 31 de julho de 2006 16:28
Para: eppnicbr at eng.registro.br
Assunto: [Eppnicbr] RES: RES: RES: RES: Acesso TLS
Argh, estou ficando velho, o cypher é AES256-SHA. Mostra na hora do em que o
OpenSSL conecta :S
SSL handshake has read 2359 bytes and written 1666 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Compression: NONE
Expansion: NONE
.
.
.
Se conseguir progresso mando a lib em .NET para quem quiser utilizar ;)
Abraços,
Guilherme
More information about the eppnicbr
mailing list