Question

J'ai développé quelques extensions pour Firefox et je suis contrarié par le fait qu'il est si difficile de faire signer l'extension. Lorsqu'une extension n'est pas signée, le message " Auteur non vérifié " quand il est installé, et pour moi, cela ne me semble pas correct.

J'ai un script de construction simple qui construit mon fichier .xpi à partir de sources et une copie sous licence de PKZip (qui, selon de nombreux tutoriels, est nécessaire pour créer un fichier xpi signé que Firefox exige), mais je n'ai Vous n'avez pas trouvé le moyen d'obtenir un certificat gratuit / bon marché qui fonctionne réellement ou un ensemble d'instructions qui font l'affaire.

Étant donné que mes extensions sont gratuites, je ne souhaite pas dépenser 400 USD en certificat commercial, mais cela ne me dérange pas de dépenser environ 50 USD pour le faire. Je dispose de machines Linux et Windows, bien que mon script de construction utilise actuellement Windows, ce qui serait plus pratique à utiliser.

Comment avez-vous résolu ce problème? Que dois-je faire pour signer automatiquement et en toute sécurité mes extensions lors de leur construction?

Modifier: j'apprécie les résultats Google, mais les étapes qu'ils fournissent ne sont pas assez complètes pour obtenir un certificat qui fonctionne. Le sentiment que je ressens me rappelle ce classique:

alt text

Était-ce utile?

La solution

J'ai utilisé le certificat comodo pour signer des XPI. C'était l'option la moins chère à l'époque.

J'ai écrit quelques articles sur XPI Forma et un guide pour signer à l'aide d'un outil de ligne de commande java.

Mon outil XPISigner simplifie considérablement le processus et peut être intégré dans les systèmes de build.

J'ai supprimé l'outil car il ne fonctionne plus avec FF4 ou supérieur. La source est disponible sur http://code.google.com/p/xpisigner/ si tout le monde a envie de réparer.

Autres conseils

Évitez les codes de GoDaddy qui signent des certificats car le certificat d’autorité de certification intermédiaire nécessaire n’est pas dans Firefox par défaut.     C = US, ST = Arizona, L = Scottsdale, O = GoDaddy.com \, Inc., OU = http://certificates.godaddy.com/repository,CN=Go Autorité de certification Daddy Secure, SERIALNUMBER = 07969287 '

Si vous signez avec, vos utilisateurs auront des erreurs de signature.

par exemple.

SIgning could not be verified. -260

Voici ce que j'ai trouvé avec Google: http://www.mercille.org/snippets /xpiSigning.php qui indique:

  

Si vous ne voulez pas de publicité   certificat ou ne peut pas en payer un,    Ascertia peut vous fournir gratuitement un   certificat, mais en le transformant en un   certificat de signature de code nécessite un peu   travail supplémentaire, que j’ai détaillé sur    une autre page .

Je ne peux pas dire que je l'ai essayé. Et sur http://developer.mozilla.org/en/Signing_a_XPI , il est dit:

  

Le moins cher universellement supporté   Certificat (Mozilla, Java, Microsoft)   semble être le Comodo Instant-SSL   offre. Vous pouvez obtenir un gratuit   certificat pour les développeurs open-source   de Unizeto Certum, mais leur racine   certificat n'est présent que dans Mozilla   Firefox et Opera (pas Java ou   Microsoft).

Oui, la signature XPI n’est malheureusement pas très transparente. Je conseillerais de rechercher / publier dans les groupes de discussion mozilla (dev-extensions, propriétaires de projets @ mozdev, irc.mozilla.org) et d'essayer également de contacter les personnes qui l'ont fait fonctionner.

Tucows vend des certificats de signature de code Comodo à 75 USD par an, c'est aussi bon marché que ce que je peux dire ( https : //author.tucows.com/ , section "Certificats de signature de code". C’est encore trop d’argent à dépenser, je n’ai donc pas essayé de savoir comment cela fonctionnait. Ce n’est pas que je puisse essayer. D’après ce que je peux dire, vous devez être un organisme enregistré pour acheter un certificat Comodo.

Pour ce qui est d’Ascertia, il est assez facile d’obtenir un certificat ( http: // www. ascertia.com/onlineCA/Issuer/CerIssue.aspx ), mais un tel certificat est aussi inutile qu'un certificat auto-émis car vous devez importer leur certificat racine avant de voir un effet.

Si vous avez un projet Open Source, vous pouvez obtenir un certificat de signature de code gratuit d'Unizeto.

Les étapes à suivre pour obtenir le certificat lui-même sont décrites en détail ici .

Une fois le certificat obtenu, procédez comme suit:

  • récupérez la clé privée dans votre navigateur (par exemple, téléchargez-la au format .p12 depuis votre trousseau - ne définissez pas de mot de passe) et convertissez-la au format PEM via openssl pkcs12 -in key.p12 -nodes -out private. clé -nocerts
  • Ouvrez le fichier .pem que vous avez téléchargé depuis Unicert, ajoutez votre clé privée dessous et la clé publique de Certum Niveau III CA à partir de ici sous la clé privée, ainsi il se présente comme suit:

    ----- BEGIN CERTIFICATE ----- [votre certificat de Certum] ----- CERTIFICAT FINAL ----- ----- COMMENCER LA CLÉ PRIVÉE RSA ----- [la clé privée que vous venez de convertir à partir du fichier .p12 de votre trousseau] ----- FIN RSA PRIVATE KEY ----- ----- COMMENCER CERTIFICAT ----- [la clé publique Certum de niveau III que vous venez de télécharger] ----- CERTIFICAT FINAL -----

  • Enregistrez ce fichier sous cert_with_key_and_ca.pem
  • Installez xpisign.py avec installation par pip https://github.com /nmaier/xpisign.py/zipball/master
  • Exécuter xpisign -k cert_with_key_and_ca.pem unsigned.xpi signed.xpi
  • Drag & amp; Déposez le signed.xpi dans Firefox et vous devriez voir le nom de l'auteur là où il y avait auparavant un message (Auteur non vérifié) à côté du nom de l'extension.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top