Los certificados de cliente son la respuesta. La mayoría de los navegadores importan estos certificados de cliente como PKCS # 12 (.p12, .pfk).
Puede convertir un certificado x509 existente en un archivo PKCS # 12 con la clave pública (.crt), la clave privada (.key) y el certificado CA (.crt). Usted puede hacer esto con OpenSSL con el siguiente comando:
openssl pkcs12 -export -out client.p12 -inkey client.key -in client.crt -certfile ca.crt
Si autofirmada sus certificados es importante asegurarse de que la serie del certificado es diferente de otros certificados. Si son iguales, puede experimentar errores al intentar importar el archivo .p12 (de modo que tenga cuidado con -set_serial en ejemplos de openssl).
Desafortunadamente, la única forma multiplataforma de hacer certificados móviles/extraíbles es usar una tarjeta inteligente (usando PKCS # 11).
En Mac OS X, Safari y Chrome acceden a sus certificados desde el llavero. En realidad, puede crear un llavero personalizado en una unidad flash USB (Archivo -> Nuevo llavero). Después de haber creado el llavero, simplemente puede arrastrar su archivo .p12 a su Llavero. Lo bueno de esto es que puedes controlar el acceso a la aplicación que tiene acceso a los certificados, y puedes hacer que el llavero se bloquee luego de una cierta cantidad de inactividad.
Con Safari, esto funciona muy bien. Si desenchufa la unidad flash, deja de enviar ese certificado después de unos segundos. Si lo vuelve a enchufar, lo recoge inmediatamente. Si bloquea el certificado con "Acceso a Llaveros", solicita la contraseña. Le impide expulsar correctamente la unidad flash mientras está en uso, pero después de un minuto Safari libera su bloqueo.
Chrome es meticuloso. Almacena el certificado en caché durante varios minutos. Si bloquea el llavero, continúa usando la versión en caché. Si intenta desmontar correctamente la unidad flash, verá que Chrome la está utilizando hasta que la cierre. Si enchufa la unidad flash mientras Chrome se está ejecutando, no la recogerá.
Parece ser que Safari es el único navegador que lo admite. Firefox y Opera tienen sus propias tiendas clave.
Si desea ocultar su llavero personalizado en la unidad de memoria flash, puede crear una carpeta invisible, prefijarla con un punto (como "./.keys"). Al crear su llavero, puede ver la carpeta invisible en la ventana de diálogo presionando Comando + Mayús + ".".
Esto es posible, pero a veces fastidioso. Google para "certificado de cliente SSL". –
¿Cómo puedo hacer que el certificado sea portátil/extraíble (almacenar en memoria USB)? – Luke
Normalmente, los certificados se instalan en el perfil de navegador específico. La funcionalidad de certificado sin conexión debería ser compatible con el navegador. O bien, podría usar una instalación "portátil" de Firefox o algo que almacene todo el navegador y toda su información de perfil (incluido el certificado del cliente) en una memoria USB. –