Desenvolver Servidor SSL

5 respostas
criador

Bom dia,

Estou precisando criar um servidor que aceite conexões SSL.

Hoje, ele já funciona corretamente sem SSL, porém quando o crio para aceitar conexões SSL, dá o seguinte erro:

javax.net.ssl.SSLException: No available certificate or key corresponds to the SSL cipher suites which are enabled.
	at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.checkEnabledSuites(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.accept(Unknown Source)
	at graphic.socket.RSMServer.<init>(RSMServer.java:92)
	at graphic.socket.RSMServer.main(RSMServer.java:131)

Estou utilizando o seguinte código:

SSLServerSocketFactory.getDefault().createServerSocket(2012);

Pelo que li, preciso de um certificado para poder receber conexões de client’s que utilizam SSL.

É isso mesmo?

Abraços!

5 Respostas

nel

Você utiliza um certificado/keystore para indicar ao teu servidor o modo em que ele irá executar essa validação.
Depois disso, teu cliente precisa de um certificado para que consiga realizar a conexão ao teu servidor, caso contrário, fica impossível dele realizar uma validação.

criador

nel,

Até já gerei um certificado no qual contém dois arquivos: um chamado xxx.crt e outro yyy.keystore.

Ou seja, agora só preciso que meu CLIENT utilize esta chave para poder realizar a validação?

Abraços!

nel

criador:
nel,

Até já gerei um certificado no qual contém dois arquivos: um chamado xxx.crt e outro yyy.keystore.

Ou seja, agora só preciso que meu CLIENT utilize esta chave para poder realizar a validação?

Abraços!

Tu tem que indicar ao teu cliente que ele precisa do certificado digital para acessar o teu servidor SSL.
Somente assim, o servidor consegue capturar a informação e dizer que a requisição é válida.

criador

Beleza nel.

Gerei as chaves e já consegui carregar na minha aplicação.

Agora é só configurar o meu CLIENT para utilizar esta mesma chave para conseguir fazer o handshake com sucesso.

Valeu a força.

Abraços!

criador

nel,

Sabes me dizer que arquivos preciso para a chave pública e chave privada?

Porque hoje tenho apenas 1 arquivo com extensão .keystore que usei para carregar no servidor.

Preciso de mais um arquivo que o CLIENT irá utilizar, certo?

Qual é a extensão deste outro arquivo?

Abraço!

Criado 30 de abril de 2012
Ultima resposta 30 de abr. de 2012
Respostas 5
Participantes 2