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] 
-------------------------------------------------------------------------

Responder a