Caro Luiz, Minhas respostas seguem abaixo.
----- Original Message ----- From: "Luiz Geovani Vier" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, November 28, 2001 12:33 AM Subject: [java-list] Criptografando uma chave privada... AcessoBOL, só R$ 9,90! O menor preço do mercado! Assine já! http://www.bol.com.br/acessobol/ Senhores, Gostaria de saber se é possível criptografar uma chave privada com uma chave pública de outro par e depois descriptografar esta chave privada com a chave privada que é par da chave pública que foi usada para criptografar. (ufa!) >>> Sem problemas. É só considerar o encoded da chave a ser encriptada como sendo um dado como um outro qualquer. Apenas para que entendam o problema: Quero gerar um par de chaves no cliente e criptografar os dados com a chave pública criada. Depois quero usar a chave pública do servidor para criptografar a chave privada do cliente, que será enviada ao servidor junto com os dados criptografados. O servidor irá descriptografar a chave privada do cliente com a sua chave privada e depois descriptografar os outros dados com a chave privada do cliente. >>> Em termos de algoritmo está tudo OK. Agora no que diz respeito a segurança :-((( >>> Como o próprio nome diz "chave privada", deve ser somente de conhecimento do seu proprietário. >>> O que Vc está querendo fazer, pelo menos como entendi, seria melhor implementado através de um "envelope digital". >>> Num envelope digital Vc teria os dados sendo protegidos por uma chave simétrica gerada randomicamente neste momento, e esta chave simétrica seria encriptada usando a chave pública do destinatário. O conteúdo do envelope digital será o dado sendo protegido mais a chave simétrica encriptada pela chave pública. A PrivateKey tem um método chamado getEncoded() que retorna um array de bytes... Por acaso é a chave em si? Se for, como faço para transformar novamente o array em um objeto PrivateKey? >>> Nas classes que implementam PrivateKey normalmente tem um construtor que recebe a chave codifica (encoded). Estou usando RSA (Cryptix 3.1 e JDK 1.2.2). Grato antecipadamente... Geovani [ ]´s Luciano da Silva Coelho [EMAIL PROTECTED] Sun Certified Programmer for JAVA2 Sun Certified Web Component Developer for J2EE Sun Certified Instructor for JAVA2 Diretor de Tecnologia e-Sec Tecnologia em Segurança de Dados www.esec.com.br ------------------------------ 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 regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------