[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