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.
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=
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.
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?
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.
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.
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?
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:
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?
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.