Bom Dia Pessoal,
Eu não sei se é a minha lógica que não esta funcionando, ou é outro problema. Bom, vamos la, estou querendo enviar dados de uma forma segura, claro, optei pelo SSL. Mas queria também criptografar estes dados antes de enviar, então, optei pelo RSA. Peguei um código aqui no GUJ que encripta um texto e gera uma chave publica e uma privada para desemcriptar.
Segue o código bem simples:
[code] public static void main(String[] args) throws Exception {
//-- Gera o par de chaves, em dois arquivos (chave.publica e chave.privada)
GeradorParChaves gpc = new GeradorParChaves();
gpc.geraParChaves (new File (“chave.publica”), new File (“chave.privada”));
//-- Cifrando a mensagem "Hello, world!"
byte[] textoClaro = "Hey Motherfuck!".getBytes("ISO-8859-1");
CarregadorChavePublica ccp = new CarregadorChavePublica();
PublicKey pub = ccp.carregaChavePublica (new File ("chave.publica"));
Cifrador cf = new Cifrador();
byte[][] cifrado = cf.cifra (pub, textoClaro);
//printHex (cifrado[0]);
//printHex (cifrado[1]);
//-- Decifrando a mensagem
CarregadorChavePrivada ccpv = new CarregadorChavePrivada();
PrivateKey pvk = ccpv.carregaChavePrivada (new File ("chave.privada"));
Decifrador dcf = new Decifrador();
byte[] decifrado = dcf.decifra (pvk, cifrado[0], cifrado[1]);
//System.out.println (new String (textoClaro, "ISO-8859-1"));
} [/code]
Bom, ate ai tudo bem, as chaves estão geradas aqui no meu computador e o texto esta criptografado. Mas minha dúvida é a seguinte. Vou enviar este texto criptografado para algum lugar, ou mando somente a chave publica ou privada ?
Em poucas palavras, o que preciso mandar para o usuário/servidor entender o texto que criptografei ? Uma das coisas que preciso mandar que sei é a chave privada…mas queria saber como mandar essa chave usando o SSL, isso que não estou conseguindo pensar. Esta tudo gerado e criptografado, mas não estou conseguindo pensar na logica de mandar (e o que mandar) isso via SSL.
Desde já agradeço, e sei que realmente não estou conseguindo entender a logica do negocio…rs
Obs: Já tenho o código para criar o Servidor SSL e o Cliente SSL (os dois estão funcionando perfeitamente)