Conexão https

8 respostas
S

Galera acho que to fazendo algum confusão, é o seguinte montei um webservice e configurei o tomcat para receber acesso via https, gerei um certificado com os seguintes valores.

alias=tomcat
Objetivo: CN=localhost, OU=corp, O=corp,L=citie,ST=sc,C=br
Emissor: CN=localhost, OU=corp, O=corp,L=citie,ST=sc,C=br
Válido: 15/09/2008 - 14/03/2009

quando acesso via local funciona corretamente, mas quando acesso por outro pc da esta mensagem
"certificate does note contain the correct site name"

já tentei mudar o localhost para o endereço da rede 192.168.0.12, mas quando acesso de um outro pc com ip diferente da o mesmo erro, gostaria de saber o que se deve colocar no campo CN=

Obrigado.

8 Respostas

T

Deve-se colocar no campo CN o nome DNS da máquina, porque o browser (ou outro client HTTPS/SSL) faz o reverse DNS e checa se bate.

Por exemplo, digamos que você vá gerar um certificado para a máquina “hack.it.please.com”; você confere se o reverse DNS está certo (talvez com “ping -a hack.it.please.com” ou o comando adequado) e então configura o CN.

S

no meu caso que estou usando 2 pcs para teste, um com ip 192.168.0.12 onde esta o servidor e o outro com o ip 192.168.0.7 que está o cliente, não consigo testar? Terei que enviar pra um servidor com dns?

T

Não é preciso usar DNS se seu arquivo /etc/hosts (ou \windows\system32\drivers\etc\hosts ) estiver corretamente configurado, ou então (no caso de sua rede local) se a resolução de nomes, via WINS, estiver funcionando corretamente.

Eu normalmente mexo no arquivo hosts na máquina “client”, para fazer os testes. Mas nunca use um certificado com CN = localhost.

S

tem como tu me explicar o que eu tenho que fazer pra isso aqui funcionar?
como eu disse tenho um maquina com o server ligado no ip 192.168.0.12, e outra com o cliente rodando no ip 192.168.0.7.

qual o valor correto para se colocar no CN neste caso? estou usando o windows nas 2 maquinas e o tomcat rodando, como eu disse se rodo o cliente na mesma maquina que o servidor funciona normalmente, este erro ocorre quando tento conectar de uma maquina com ip diferente é ai que estou apanhando, e pelo jeito por um motivo simples, mas que não estou entendendo como fazer para resolver.

S

Bom dei uma olhada no arquivo host qeu vc citou, nele coloquei a seguinte linha no host do cliente “192.168.0.7 pcserver.com” ou seja no certificado do servidor no campo CN deverei colocar o dns do servidor que é pcserv.com? isso confere? e assim usar este certificado no cliente?

T

Tá bom, vamos lá.

Digamos que você vá emitir um certificado para um servidor “www.microsoft.com”, cujo IP é 65.55.11.222. Então você vai emitir um certificado com CN = www.microsoft.com

Agora digamos que você tenha um cliente (não importa qual é o IP dele. Não importa mesmo. Nem quero saber, e tenho raiva de quem sabe.). Importa apenas modificar o arquivo HOSTS desse cliente.

Neste caso, devemos pôr uma linha no hosts desse cliente:

65.55.11.222    www.microsoft.com

Só isso.

S

ok e vamos supor que este servidor não tenha um dns, apenas um endereço ip, 200.94.25.363 por exemplo, posso colocar no CN o numero do ip em vez do DNS?

T

De modo geral, SSL requer que você tenha um nome válido no DNS.
Se você puser como CN um IP, muitos browsers irão simplesmente dizer que o certificado é inválido, e ponto final. Não fique inventando.
Essa história de usar HOSTS é só para você fazer testes, já que na realidade você tem de cadastrar corretamente o endereço no DNS.

Uma coisa legal que já vi, e que é interessante se você precisar hospedar N sites SSL com o mesmo domínio, são os certificados com “*” que se vendem (obviamente um pouco mais caros). Dê uma olhada nisso nos sites https://jdk6.dev.java.net e outros sob dev.java.net. Examine as propriedades do certificado e veja que ele serve para todos os nomes que terminam por .dev.java.net.

Criado 15 de setembro de 2008
Ultima resposta 16 de set. de 2008
Respostas 8
Participantes 2