7

Tenemos un certificado de firma de código, comprado a GlobalSign para la firma de Authenticode (como lo llaman). Ahora necesitamos firmar el applet de Java y luego el módulo Adobe AIR (¿applet?). La pregunta es: desde el punto de vista técnico, ¿existe alguna diferencia entre certificate-for-Authenticode y certificate-for-Java o certificate-for-AIR, si son emitidos por la misma CA (por ejemplo, Comodo o GlobalSign)? No veo sentido en comprar certificados diferentes si son reemplazables.Certificados de firma de código para Java, Adobe AIR, Authenticode, VBS: ¿son diferentes?

entiendo que el campo de uso de claves de certificados debe ser el mismo (firma de código), pero el uso de código tal vez extendida o política u otra extensión difiere en dichos certificados. Agradecería que alguien que tiene certificados de firma de código de dos o más tipos emitidos por una CA pueda verificar esto por mí.

Respuesta

0

Parece que cualquier certificado de firma de código funcionará para cualquier plataforma mencionada. Le pedí a GlobalSign que me ayudara con la diferencia: no respondieron; sin embargo, poco después cambiaron su página web y ahora comprarían un certificado de firma de código para todas las plataformas.

2

Por lo que he deducido de RFC 5280, las extensiones de uso de clave solo pueden decidir si el certificado se puede utilizar para la firma de código o no. No parece haber nada en el RFC que pueda restringir la firma de código Java o AIR o lo que sea. Esto parece implicar que si puede firmar un código (o cualquier otro tipo de datos que no sean claves) puede firmar cualquiera.

Dicho esto, puede haber extensiones específicas de CA en su certificado. Sin ver el certificado, es difícil saber si hay limitaciones.

Desde una perspectiva técnica, siempre que el cliente (es decir, el navegador si estamos hablando de applets) reconozca la CA y esté satisfecho con su combinación de uso de clave y tipo de certificado (DIGITAL_SIGNATURE y OBJECT_SIGNING), entonces debe multa.

+0

Esto no es exactamente así, y esta es la razón. Por ejemplo, el uso de la clave para el certificado SSL regular y el certificado EV SSL es el mismo. Es OID de política, incluido en el certificado EV SSL que define que este es el certificado EV SSL. Este ID de política es diferente para cada CA "certificada" que emite certificados EV SSL, y la lista de ID de política se actualiza periódicamente. Así que supongo que * puede * haber alguna extensión personalizada (o valor en la extensión de Extended Key Usage) que especifique que el certificado se debe usar solo para firmar cierta clase de objetos de código. Y de ahí viene la pregunta. –

+0

Sospeché que podría haber extensiones personalizadas que podrían causar problemas, pero no está claro desde el RFC, ni está claro que incluso importaría si el navegador no reconoce la extensión.Los navegadores pueden ignorar extensiones no críticas que no entienden, ¿o no? En cualquier caso, creo que puedo cambiar mi respuesta a "No sé". Parece que necesita ver los detalles del certificado que tiene. ¿Puede publicar partes relevantes del certificado? –

+0

@ Cameron si tuviera esos certificados, no habría dudas. Estoy tratando de averiguar, si tiene sentido (desde el punto de vista técnico o legal) comprar diferentes certificados para diferentes clases de objetos de código. Hasta ahora parece que tendríamos que comprar otro (ya tenemos uno) y compararlos. –

5

Hay una declaración explícita en http://www.adobe.com/devnet/air/articles/signing_air_applications.html que:

"Un desarrollador puede utilizar cualquier clase-3, certificado de alta seguridad logrado por cualquier CA para firmar un poder de corte aplicación de Adobe."

Desafortunadamente, no encuentro nada similar para Java. Sin embargo, independientemente de los requisitos mínimos de certificación para las distintas plataformas, su mejor opción podría ser ponerse en contacto con su proveedor de certificados existente para preguntar si existen diferencias significativas entre los certificados que ofrecen para estas plataformas.

Algunos de los blah-blah del sitio web de Verisign sugieren que el formato en el que se entrega el certificado al comprador es la única diferencia real entre sus ofertas, pero en realidad no lo dicen directamente, quién sabe. ..?

+0

Gracias por la referencia. Esto arroja un poco luz sobre el tema, aunque no mucho. Técnicamente puede ser que específicamente para AIR cualquier certificado de firma de código funcionaría, sin embargo (a) este no puede ser el caso para otros (Java, VBS), y (b) puede haber algunos restricciones legales que he pasado por alto (sí leí la política de GlobalSign sobre esto). Como nota al margen: utilizamos el certificado de firma de código GlobalSign para firmar controladores en modo kernel, por lo que fue comprado para un propósito, y ahora quiero usarlo para Módulos de Java (i n un proyecto diferente). –

Cuestiones relacionadas