Como gerar, assinar e importar certificado SSL de Java [duplicado]

Possível duplicado:
Gere certificados, chaves públicas e privadas com Java

Preciso gerar certificados autoassinados em tempo de execução, assiná-los e importá-los para o keystore Java. Eu posso fazer isso usando "keytool" e "openssl" na linha de comando da seguinte maneira:

keytool -import -alias root -keystore keystore.txt -file cacert.pem
keytool -genkey -keyalg RSA -keysize 1024 -alias www.cia.gov -keystore keystore.txt
keytool -keystore keystore.txt -certreq -alias www.cia.gov -file req.pem
openssl x509 -req -days 3650 -in req.pem -CA cacert.pem -CAkey cakey.pem -CAcreateserial -out reqsigned.pem 
keytool -import -alias www.cia.gov -keystore keystore.txt -trustcacerts  -file reqsigned.pem

É claro que posso enviar meu aplicativo com binários keytool e openssl e executar os comandos acima em Java, mas estou procurando uma abordagem mais limpa que me permita fazer tudo isso usando Java puro.

Alguma biblioteca que eu possa usar?

questionAnswers(2)

yourAnswerToTheQuestion