Galera, estou precisando implementar SSL numa aplicação web que estou desenvolvendo. O problema é que nunca mexi com SSL, entendo pouquíssimo da arquitetura de autenticação de requisição.
Alguém poderia me indicar tutoriais, artigos, apostilas, exemplos de implementação de SSL?
Por onde devo começar?
Estou um tanto quanto perdido pois não tenho idéia alguma sobre como iniciar.
a) Não quero saber muitos detalhes, preciso só instalar um certificado no Tomcat de modo que o cliente possa fechar uma conexão segura (https). Esse certificado deve ser emitido pela Verisign, Certisign ou outra certificadora digital.
b) Preciso criar uma aplicação que identifique o cliente através de um certificado digital, tal como o site da Receita Federal, que requer que o contribuinte use um e-CPF ou e-CNPJ (certificado digital).
c) Preciso usar o Tomcat para hospedar um web service com conexão SSL, e também que bloqueie os usuários desse web service não autorizados (isto é, sem certificados).
d) NDA
Para cada coisa há um nível específico de conhecimento do SSL. Escolha o seu!
M
marciocamurati
Bom, se a idéia for utilizar o Tomcat localmente para testes você irá precisar:
Gerar um certificado digital local para seu tomcat, para isso você pode utilizar no Windos o seguinte comando no se CMD:
E adicionando o password que você gerou para o ser certificado na property keystorePass.
[]s
Y
Yky_Mattshawn
Cara, me encaixo parcialmente na alternativa A. Preciso simplesmente fazer uma conexão segura com o cliente.
Assim: o usuário entra numa URL não-segura. Efetua login. Nesse momento ele é redirecionado para uma página com protocolo https e assim se mantém durante toda a sessão dentro do sistema (web).
OBS.: sobre os detalhes, até gostaria de saber sobre eles! Afinal, é sempre importante aprender o que não se sabe. Logo, aproveitando que vou ter de implementar isso no sistema, já quero estudar um pouco sobre SSL. Mas o importante no momento é só eu fazer a conexão segura e mantê-la durante a sessão.
P.S.: fico até meio inseguro sobre como me expressar: “manter segura”, “continuar segura na sessão”. Não entendo como a conexão pode ser controlada. Vou ter de alterar minhas páginas e Action’s? Vou ter que colocar dados adicionais na sessão? Vou ter que proteger pastas do servidor? São muitas dúvidas, hehe.
M
marciocamurati
Cara para utilizar SSL não é necessária nenhuma alteração significativa na sua implementação, o certificado é configurado no servidor, no caso existem duas opções utilizadas manter o site inteiro de baixo de um certificado SSL ou apenas uma parte do site.
Mas de qualquer forma não muda a sua implementação no máximo o acesso as páginas debaixo do SSL que terão que ser acessadas utilizando o protocolo HTTPS.
[]s
T
thingol
Só há algumas sutilezas se você precisar fazer download de PDFs ou outros arquivos não-HTML sob o Internet Explorer. É recomendável testar a aplicação, depois de configurado o https, para ver se não há problemas com links, cache-control ou outras coisas chatas.
Y
Yky_Mattshawn
Bah, galera, mas eu ainda estou boiando oO.
Como assim, configurar o certificado? Onde eu o consigo?
Li algo sobre o openSSL, mas nem sequer consigo instalá-lo, muito menos encontrar um tutorial que explique como fazer isso no Windows. oO
To tri perdido.
T
thingol
Se você tiver acesso a um Windows 2000 ou 2003 Enterprise Server onde estiver instalado o Certificate Services, vai ver que emitir um certificado de teste é bastante simples.
Há também empresas (como a Comodo, www.instantssl.com ) que oferecem certificados de teste válidos por um mês que funcionam em qualquer browser e podem ser importados para qualquer web server.
T
thingol
Eu lido com o OpenSSL desde 1999, mas mesmo assim acho difícil lidar com ele.
Se você tiver uma receita de bolo certinha (não me peça a receita de bolo, cada vez que eu tento usar dá um resultado diferente) e tiver os binários já compilados (você precisa de um compilador C++, de um Perl e de um macro-assembler decente para recompilar o código, portanto não é trivial recompilar o OpenSSL), tudo bem, senão é melhor usar outra coisa para emitir seus certificados.
Y
Yky_Mattshawn
Baixei aqui um OpenSSL e me parece que com isso aqui eu consigo criar o certificado. É um ZIP contendo um executável openssl.exe, duas libs e um openssl.cnf.
Estou passando um print screen do erro que estou obtendo ao tentar gerar.
T
thingol
Estranho, tentei exatamente o mesmo comando e funcionou OK.
Se você estiver usando o Windows Vista (Windows 6.0, conforme mostrado na sua tela), o diretório C:\ não pode ser escrito ou modificado pelo usuário, só pelo administrador. Tente um outro diretório, de preferência sob seu diretório C:\users<usuario>.
Dica: o comando que você executou (openssl req) não é o mais adequado porque ele serve para solicitar um certificado e pôr a chave privada em um arquivo .pem, a menos que você esteja criando uma autoridade certificadora.
O melhor é procurar como é que a partir da ferramenta keytool você cria um keystore que o Tomcat carregue e, a partir dele, criar uma solicitação de certificado que possa ser copiada para um arquivo-texto, para ser enviada a uma autoridade certificadora.