recomendadas para ons mejores extensiones complementos firefox build-automation certificate code-signing

para - mejores complementos firefox



¿Cómo firmas tus extensiones de Firefox? (6)

Evite los certificados de firma de GoDaddy ya que el certificado CA intermedio necesario no está en Firefox por defecto. C = EE. UU., ST = Arizona, L = Scottsdale, O = GoDaddy.com /, Inc., OU = http://certificates.godaddy.com/repository,CN=Go Daddy Secure Certification Authority, NÚMERO DE SERIE = 07969287 ''

Si firma con él, sus usuarios recibirán errores de firma con él.

p.ej

SIgning could not be verified. -260

He desarrollado un par de extensiones para Firefox, y me molesta que sea tan difícil conseguir la extensión firmada. Cuando una extensión no está firmada, dice "Autor no verificado" cuando está instalada, y para mí eso simplemente parece estar mal.

Tengo un script de compilación simple que crea mi archivo .xpi a partir de fuentes, y tengo una copia con licencia de PKZip (que de acuerdo con una serie de tutoriales es necesaria para construir un archivo xpi firmado que requiere Firefox), pero no he encontrado una forma de obtener un certificado gratis / barato que realmente funciona o un conjunto de instrucciones que lo solucionen.

Como mis extensiones son gratuitas, no quiero gastar $ 400 en un certificado comercial, pero no me importa gastar $ 50 más o menos para hacerlo. Tengo tanto máquinas Linux como Windows, aunque mi script de compilación actualmente usa Windows y sería más conveniente de usar.

¿Cómo has resuelto esto? ¿Qué debo hacer para firmar de forma automática y segura mis extensiones cuando están compiladas?

Editar: aprecio los éxitos de Google, pero los pasos que brindan no son lo suficientemente completos sobre cómo obtener realmente un certificado que funcione. La sensación que tengo me recuerda a este clásico:

texto alternativo http://www.sciencecartoonsplus.com/images/miracle3.gif


He usado el certificado de comodo para firmar XPIs. Era la opción más barata en ese momento.

He escrito algunas publicaciones sobre el formato XPI y un método para firmar utilizando una herramienta de línea de comandos de Java.

Mi herramienta XPISigner simplifica el proceso considerablemente y es integrable en los sistemas de compilación.

Eliminé la herramienta porque ya no funciona con FF4 o superior. La fuente está disponible en http://code.google.com/p/xpisigner/ si alguien tiene ganas de solucionarlo.


Lo que encontré con Google fue esto: http://www.mercille.org/snippets/xpiSigning.php que dice:

Si no quiere un certificado comercial o no puede pagar uno, Ascertia puede proporcionarle un certificado gratuito, pero convertirlo en un certificado de firma de código requiere un trabajo adicional, que he detallado en otra página .

No puedo decir que lo haya intentado. Y en http://developer.mozilla.org/en/Signing_a_XPI dice:

El certificado más barato con soporte universal (Mozilla, Java, Microsoft) parece ser la oferta Comodo Instant-SSL. Puede obtener un certificado gratuito para desarrolladores de fuente abierta de Unizeto Certum, pero su certificado raíz solo está presente en Mozilla Firefox y Opera (no en Java o Microsoft).


Sí, la firma de XPI desafortunadamente no es nada trivial. Aconsejaría buscar / publicar en los grupos de noticias de mozilla (dev-extensions, project owners @ mozdev, irc.mozilla.org) y también tratar de ponerme en contacto con las personas que lo hicieron funcionar.


Si tiene un proyecto de código abierto, puede obtener un certificado de firma de código gratuito de Unizeto.

Los pasos para obtener el certificado en sí se describen en detalle aquí .

Una vez que tenga el certificado, haga lo siguiente:

  • obtenga la clave privada de su navegador (por ejemplo, descárguela como .p12 desde su llavero - no establezca una contraseña) y openssl pkcs12 -in key.p12 -nodes -out private.key -nocerts en formato PEM mediante openssl pkcs12 -in key.p12 -nodes -out private.key -nocerts
  • Abra su archivo .pem que descargó de Unicert, agregue su clave privada debajo de él, y la Public Key of Certum Level III CA desde aquí debajo de la clave privada, por lo que se ve así:

    -----BEGIN CERTIFICATE----- [your certificate from Certum] -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- [the private key you just converted from the .p12 file from your keychain] -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- [the Certum Level III CA public key you just downloaded] -----END CERTIFICATE-----

  • Guarde este archivo como cert_with_key_and_ca.pem
  • Instale xpisign.py con la pip install https://github.com/nmaier/xpisign.py/zipball/master
  • Ejecute xpisign -k cert_with_key_and_ca.pem unsigned.xpi signed.xpi
  • Arrastra y signed.xpi el signed.xpi en Firefox y deberías ver el nombre del autor donde antes había un mensaje (Autor no verificado) al lado del nombre de la extensión.

Tucows vende certificados de firma de código de Comodo por $ 75 por año, eso es tan barato como lo que puedo decir ( https://author.tucows.com/ , sección "Certificados de firma de código"). Todavía es demasiado dinero para gastar, así que no probé cómo funciona. No es que yo pueda probar, por lo que puedo decir que necesita ser una organización registrada para comprar un certificado de Comodo.

En cuanto a Ascertia, obtener un certificado es bastante fácil ( http://www.ascertia.com/onlineCA/Issuer/CerIssue.aspx ), pero dicho certificado es tan inútil como un certificado auto-emitido porque necesitarías importar su certificado. certificado raíz antes de ver un efecto.