La mejor manera parece utilizar un certificado de firma de código de una CA conocida. Dado que el cliente (navegador, sistema operativo) ya confía en los certificados de CA conocidos, no hay necesidad de mantenimiento adicional con esta configuración.
Applet de Java & Web Start - Code Signing indica que
... Los usuarios estarán mejor protegidos al mantener las versiones actualizadas
del JRE en sus sistemas, combinado con el código requerido que es
firmado por una autoridad de certificación confiable (en lugar de autofirmado o
código sin firmar) ...
... la autofirma es principalmente de valor para el desarrollador y la intranet
aplicaciones, ya que también requiere la gestión del almacén de claves para Java ...
Al utilizar un certificado de CA, la renovación no plantea problemas, solo podemos firmar con un certificado renovado. La marca de tiempo confiable, mientras agrega complejidad, permite a los Clientes validar su firma incluso después de que caduque, dado que había sido válida durante la operación de firma (consulte Código de firma para el largo plazo ).
La revocación del certificado se verifica mediante el Protocolo de estado de certificado en línea (OCSP) en el Cliente. Para obtener más información, consulte la sección Comprobación de revocación para aplicaciones Java aquí .
No obstante, hay muchas empresas grandes que administran una CA interna, principalmente para emitir certificados de servidor. Si ya existe una infraestructura de este tipo, podemos suponer que los certificados de CA internos ya están distribuidos a los Clientes de una forma u otra, para que los Clientes puedan confiar en los servidores. Si este es el caso, la emisión de certificados de firma de código de la misma CA no puede causar una sobrecarga administrativa adicional.