La parte importante es la clave privada a la que está vinculado el certificado. Desafortunadamente, algunas documentaciones ampliamente implementadas se equivocan y llaman "certificado" lo que realmente es la unión del propio certificado (que contiene la clave pública y es completamente pública) y la clave privada correspondiente (que mejor no Sé público, por supuesto).
Para mantener privada la clave privada, es mejor no copiarla en muchos lugares. Cuando una clave privada "viaja" entre computadoras, normalmente es como un PKCS # 12 archive ( anteriormente conocido como "PFX"), que contiene el certificado y la clave privada, y está protegido por contraseña. La entropía de esta contraseña es crucial para la seguridad de este tránsito , pero, por supuesto, esto protege solo la clave cuando se transfiere. Tiene razón: cuanto más se copia una clave privada, más vulnerable al robo se vuelve.
La forma normal de hacer esto es la siguiente:
-
Cada máquina de compilación tiene su propio certificado de desarrollo . Los certificados de desarrollo son certificados que usted mismo genera, con una CA personalizada (que puede ser un uso rudo de la OpenSSL herramienta de línea de comandos). Las máquinas de prueba, en las que se realiza el desarrollo, están configuradas para aceptar esta CA personalizada como confiable (o quizás las comprobaciones de firmas están desactivadas por completo).
-
Para lanzamientos de producción , los binarios que deben firmarse se transportan a una máquina específica y protegida que contiene la clave de firma real (la que corresponde al certificado que compró en el "proveedor de confianza"). Las versiones no se producen con frecuencia, por lo que este procedimiento manual debería ser aceptable.
Tener un sistema de firma gratuito para todos, accesible y al que los desarrolladores pueden acceder de forma rutinaria me parece algo peligroso. Una firma con una clave en la que confían terceros es una responsabilidad : lo hace responsable. Debe esforzarse por firmar las cosas con esa clave tan raramente como sea posible, es decir, solo para lanzamientos.