Bom dia Pessoal, preciso da ajuda de alguem que conheca de seguranca e me indique o "caminho das pedras". Meu objetivo e' praticar JAVA + SSL + JSSE e fazer alguns exemplos apenas de teste, localmente, para aprender como todo funciona. Ja dei uma estudada em toda a parte Java de seguranca, a nivel conceptual (digital signature, certificate, cryptography algorithm, encryption, message digest, providers, etc), de API (java.security.*, JSSE) e ferramentas (keytool, jarsigner, policytool) do Java 2, tudo menos JCE, por causa das restricoes de download de USA (saben quando a Sun vai liverar este produto, porque, pelo que sei, USA ja abriu mao das restricoes). Especificamente, minha ideia e' fazer os seguintes exemplos de teste: 1) um exemplo de acesso a um servidor com HTTPs atraves de Netscape, sem java, e que retorne um HTML bobo, estatico, tipo "Hello World", mas criptografado. Nao consegui achar um bom tutorial de HTTPs, mas pelo que entendi, forma parte do protocolo que o servidor mande, antes de mais nada, seu certificado. O browser checa que o certificado esteja regisrtado por algum cartorio reconhecido (na lista de cartorios locais ao browser). Se nao estiver, nada feito. Se reconhece o certificado como valido, comeca a transmitir dados criptografados com a chave publica do certificado, que somente poderao ser de-criptografados e lidos pelo servidor, porque so ele possui a chave privada. O servidor, por sua vez, manda dados criptografados com sua chave privada; estes dados serao de-criptografados pelo browser atraves da chave publica que tirou do certificado (porem qq hacker que fique no meio, que pegue os dados enviados pelo servidor e tenha a chave publica do mesmo, podera ler esta informacao; ai a necessidade de ter o certificado tambem do cliente e por isto o crescimento do padrao SET). Para rodar este exemplo vou precisar, e' claro, de um certificado para o servidor. Vcs imaginam que nao quero pagar um certificado. Atraves do Keytool e' possivel gerar chaves (publicas,privadas) e o correspondente self-certificate. Este self-certificate pode ate ser exportado para arquivo. Eu tentei importar no Netscape este certificao, na parte de "yours", mas nao funcionou. Primeira pergunta: a) e' possivel gerar self-certificados com o Keytool para fazer este tipo de teste ? Como ? O Netscape apenas importa certificados do tipo PKCS12 ? Como gerar estes tipos com o Keytool ou API ? Existe alguma outra alternativa ? Como disse anteriormente, nao consegui um link com informacao "para leigos" de HTTPs e por tanto nao imagino se devo colocar na pagina HTML algum cabecalho especial, ou se o Webserver se encarrega de fazer tudo isto automaticamente. Segunda pergunta: b) Como deve ser o cabecalho das paginas para HTTPs ? Terceira pergunta: c) Eu tenho apenas o servidor que vem com o jswdk, e agora tambem fiz o download do Tomcat 3.0, que aparentemente suporta algo de seguranca. Pelo que vi o Apache nem vem com a parte de seguranca por causa das restricoes de USA, de qq forma nao tenho ele. Mas, e' possivel fazer este exemplo teste com o jswdk ou Tomcat ? Se nao, existe algum webserver simples, gratis, pequeno, pata WIN, com o qual possa fazer meus testes ? 2) um segundo exemplo de acesso que quero fazer e' atraves de Netscape, porem chamando a um servlets, com alguns parametros, e que retorne um HTML bobo, criptografado, usando JSSE. Imagino que se consigo fazer o teste anterior nao terei problemas em fazer este. Porem: Quarta Pergunta: d) existe alguma forma de usar browsers e webserevers, ou servelts + JSSE, de tal forma de que o cliente tambem tenha um certificado e a autenticacao seja dupla ? ou , e' possivel usar browsers e o SET ? Teria como eu fazer uma exemplo local usando esta forma de autenticacao/criptografia com browsers ? Como ? Como esta o "estado da arte" para que todas as empresas e individuos possam ser reconhecidos atraves de seu proprio certificado ? Bom, disculpem que o e-mail seja um pouco longo. Mas resulta dificil falar de seguranca e nao explicar direito o que se pretende, e desde ja, muito obrigado a todos os pela ajuda, Daniel (de Rio) Daniel --------------------------- LISTA SOUJAVA --------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP [dúvidas mais comuns: http://www.soujava.org.br/faq.htm] [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm] ---------------------------------------------------------------------