2010-09-07 17 views
7

La mayoría de las CA están vendiendo certificados de firma de código en diferentes "productos", como Verisign o Certum:Diferencia entre Authenticode, SPC y Java CodeSign?

  • Microsoft Authenticode - "Te permite firmar EXE, OCX, DLL, bla ..."

  • Java codesign - "le permite firmar código Java"

  • certificado de compañía de software - "permite que se registre el software"

Bueno, estoy REALMENTE confundido acerca de esto. ¿Cuál es la diferencia entre todos estos productos, excepto el PRECIO? Le pregunté a Verisign y a otros CA un par de veces porque tengo curiosidad, pero no recibí respuesta.

Recibí un certificado Authenticode de Certum CA. Lo inscribí en Internet Explorer, lo exporté como PKCS # 12 PFX y pude firmar EXE, DLL, ... según lo prometido.

Ahora ... Intenté importar este PFX a Java con keytool, luego traté de firmar un JAR. ¡Y funcionó!

Y luego está el misterioso "Certificado de editor de software" como producto. No sé qué puedo/debo firmar con eso ... ¿Mac? Linux? ¿No es "Microsoft Authenticode" un certificado de editor de software también? ¿No es un "software" EXE? Eso realmente me confunde.

Entonces, mi pregunta es ahora: cuando he ordenado un certificado de Microsoft Authenticode, ¿es ilegal usarlo para firmar, por ejemplo,? Archivos JAR o si es posible cualquier otro contenido? Parece que no hay diferencia técnica entre estos certificados. Todos esos productos deben tener el mismo código EKU-OID "1.3.6.1.5.5.7.3.3", que no establece ninguna diferencia entre EXE, JAR, Adobe Air y lo que también existe por ahí. Entonces, si todos los certificados de "CodeSigning" son técnicamente iguales, ¿por qué tengo que decidir si quiero ser un "Desarrollador de Java" o "Desarrollador de Windows" o "Desarrollador de software"?

¿Aún existen diferencias en el certificado? Tal vez no tengo suficientes derechos en JAR cuando uso Authenticode-certs para la firma?

(PS: Yo no uso mi software comercialmente)

+0

Ya sabes, se trata de certificados de cerca (desarrollamos y vendemos biblioteca de PKI), tengo las mismas preguntas y ninguna respuesta. Esto parece marketing BS, porque como notó correctamente, el uso de la clave es el mismo y desde el punto de vista técnico, los certificados son los mismos. Tal vez intenten engañar a algunos usuarios para que compren varios certificados diferentes o los emitan directamente en el formato correspondiente (PKCS # 7/PKCS # 8, JKS, PKCS # 12). –

+0

Gracias por tu comentario. ¿Pues, qué piensas? ¿Podría un CA revocar mi certificado si descubren que también firmo el software JAR?No estoy muy seguro de que esté de acuerdo con sus términos legales, ya que existen estos "productos". –

+0

Perdón por no haber respondido antes: su pregunta no fue notada. Estoy investigando esta cuestión nuevamente y para GlobalSign CA no hay ninguna indicación en sus documentos que prohíba explícitamente el uso de los certificados de autenticidad para Adobe AIR. Puede ocurrir, sin embargo, que lo traten como una violación del Acuerdo del Suscriptor (aunque no existe tal restricción establecida allí). Así que estoy teniendo este problema yo mismo ahora (tratando de decidir si necesito comprar otro certificado para diferentes tipos de firma) y no tengo solución. –

Respuesta

2

No hay ninguna diferencia técnica como lo has adivinado. Con la cadena de herramientas adecuada, se puede usar un certificado para firmar aplicaciones Java para firmar ejecutables de Windows.

Ver por ejemplo Jsign, una herramienta para firmar ejecutables de Windows utilizando un almacén de claves Java o un almacén de claves estándar PKCS # 12.

1

Escribí un breve artículo sobre la conversión de un certificado de Java y su uso para Authenticode. Puede encontrarlo aquí: http://blog.botha.us/sarel/?p=21

Hemos estado haciendo esto durante años sin ninguna consecuencia negativa.

Cuestiones relacionadas