Gostaria de criptografar algumas informações com criptografia assimétrica.
Já verifiquei como gerar o par de chaves, exportar somente a chave pública etc. Porém em todos os exemplos que vi a chave pública e privada são gravadas em um arquivo. (keystore)
Gostaria de fazer algo diferente, gerar a chave pública e privada e salvar as informações da chave em uma String? Alguém sabe se isto é possível?
No meu exemplo, não uso um KeyStore e sim um arquivo serializado. Em vez de serializar em um arquivo, crie um array de bytes (cuidado com strings, já que a conversão arrays de bytes -> strings não é perfeita e você tem de usar alguma codificação como Base-64 ou hexadecimal para evitar problemas na conversão.)
E quanto a esta pergunta, alguém sabe se é possível?
[quote]Gostaria de fazer algo diferente, gerar a chave pública e privada e salvar as informações da chave em uma String? Alguém sabe se isto é possível?
[/quote]
Do jeito que eu fiz, eu salvei as coisas em um FileOutputStream, mas você pode modificar meu exemplo e salvar em um ByteArrayOutputStream, obter o byte array correspondente, e então usar sun.misc.BASE64Encoder para converter o byte[] em uma String sem problemas.