Acceso instalado certificado para firmar

Estoy tratando de firmar un objeto en un proyecto Java + JSF.

Lo que he hecho hasta ahora es crear mi propio certificado X509, así como una CA con XCA e instalarlos en Firefox y Chrome.

He estado buscando durante 3 días cómo podría acceder para firmar (la ventana emergente típica que solicita seleccionar un certificado en caso de que tenga más de uno instalado) pero simplemente no puedo encontrar algo útil. He visto varias veces esta línea de código:

X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");

pero no tengo idea de dónde puedo obtener esa solicitud con el certificado.

1) ¿Dónde puedo obtener esa solicitud?

2) ¿Necesito una conexión SSL para poder hacer esto?

3) Solo ... cómo, no puedo encontrar información, por lo que agradeceré cualquier ayuda

Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta