Llevaba tiempo queriendo escribir este post. En uno de los proyectos en la última empresa que estuve trabajando me encargué de desarrollar una aplicación de firma electrónica de PDF con certificados de la FNMT y la ACCV para dispositivos Android.
Para comprobar si los certificados habían sido revocados utilizaba las librerías de Bouncy Castle. Resulta que el mismo código que funcionaba perfectamente en una aplicación de escritorio para Windows, no era capaz de comprobar la revocación en la aplicación para el terminal móvil. Simplemente provocaba un cierre forzado e inesperado de la aplicación.
Después de unas cuantas búsquedas en Google y en Stack Overflow, llegué a encontrar una solución. Resulta que el SDK de Android ya lleva parte de las librerías Bouncy Castle, así que si las añades a tu proyecto se pueden producir algunos problemas. Forma de evitar esto, o bien te refactorizas toda la librería tú mismo a mano, o pruebas a buscar alguna hecha por otra persona. Esto último fue lo que hice. Se llama Spongy Castle y podéis encontrarla aquí: https://github.com/rtyley/spongycastle