code signing - comodo - ¿Qué tiene de especial un certificado de firma de código?
globalsign code signing (6)
Depende de lo que estés haciendo con eso. Si desea que el certificado sea aceptado por un navegador en una comunicación SSL, debe tener un certificado raíz instalado en el navegador. Los certificados generados por las autoridades ya tienen sus certificaciones de raíz instaladas en los navegadores.
Si está utilizando el certificado solo para firmar un ensamblaje, entonces no lo necesita. Depende de quién esté verificando el certificado y si les importa si la raíz es una autoridad conocida.
Más aquí:
¿Es diferente de cualquier otro certificado que pueda generar a través de makecert o comprar de alguna autoridad?
El certificado que se utiliza para firmar software es el mismo certificado que se usaría para firmar cualquier documento. Lo que es diferente sobre la firma de software es donde finalmente reside la firma. En una firma de documentos típica, la firma acaba de anexarse al documento original. No se puede agregar una firma a la mayoría de los tipos de software por razones obvias (algunos lenguajes interpretados lo permiten, pero no sé si se hace en la práctica).
Las soluciones al problema de firma varían según el entorno de ejecución. Para un binario ejecutable, la firma a menudo se almacena en un archivo separado. En Java, puede tener una firma incrustada en un archivo JAR ejecutable.
Microsoft tiene una buena referencia para una introducción al proceso de firma .
Que yo sepa, los certificados tienen un atributo de "uso de la clave" que describe a qué usos está destinado el certificado: servidor SSL, firma de código, firma de correo electrónico, etc. Por lo tanto, creo que depende del SO o navegador web, o e -mail cliente, para verificar estos bits.
También agregaría que un ensamblado de .NET debe tener un nombre fuerte (lo que requiere que se firme) para poder ser agregado al GAC.
Existen diferentes tipos de certificados ... de la CA que se incluye en el servidor de Win 2003, puede solicitar:
- Autenticación de cliente
- Protección de correo electrónico
- Autenticación del servidor
- Firma de código
- Firma de sello de tiempo
- IPSec
- Otro
Cuando un cert se pone en acción, el papel que pretende realizar es tan importante como la identificación. No se trata solo de identidad, sino también de autorización de roles. Un certificado de protección de correo electrónico no debería poder realizar la autenticación del servidor. Las preocupaciones de seguridad dictan una restricción necesaria en la potencia otorgada a través de un solo certificado. La API subyacente debe hacer cumplir el uso correcto, ya sea a través del sistema operativo o una abstracción como .NET Framework.
Existen diferentes tipos de certificados porque existen roles muy diferentes en autenticación y autorización que los necesitarían. Permitir diferentes tipos de certificados y jerarquías permite un modelo de cadenas de certificados, como se encuentra en la "Ruta de certificación" en un certificado. Un certificado de autenticación de servidor necesitará tener un certificado de CA de nivel superior en algún lugar de los certificados raíz de confianza ... o ser parte de un árbol de certificados familiares que finalmente lo haga. Las Autoridades de Certificación de terceros, estoy seguro, les dan un precio en una escala de funcionalidad y confianza.
Boot To The Head está en lo cierto ... hay un atributo Enhanced Key Usage que proporciona una descripción de lo que el certificado afirma que es el rol (por ejemplo, Server Authentication o, en el caso del certificado de mi CA: Firma digital, firma de certificado, Off -line CRL Signing, CRL Signing). Mira los detalles en las propiedades de un certificado y lo encontrarás.
Como mencionó Mile L y Boot to the Head, el uso de clave extendida es lo que determina el propósito para el que se puede usar la clave.
La mayoría de las autoridades de certificación comercial (Verisign et al) emiten certificados para fines únicos o para el mínimo posible.
Usan este estrechamiento de la puropse para forjar diferentes mercados para los certificados y luego les dan el precio correspondiente.
Puede verlos vendiendo diferentes certificados de Firma de Objetos para Windows Assemblies / Java / Office / Adobe Air, etc. cuando (en la mayoría de los casos) el certificado resultante es el mismo.
Por ejemplo, el certificado de designación de código de Comodo emitido aquí puede firmar applets de Java, aplicaciones de WebStart, extensiones de Firefox e incluso ensambles de Windows.