Domanda

Ho sviluppato un paio di estensioni per Firefox e sono infastidito dal fatto che sia così difficile ottenere la firma dell'estensione. Quando un'estensione non è firmata, viene indicato " Autore non verificato " quando è installato, e per me sembra proprio sbagliato.

Ho un semplice script di compilazione che costruisce il mio file .xpi da fonti e ho una copia con licenza di PKZip (che secondo una serie di tutorial è necessaria per costruire un file xpi firmato che Firefox richiede), ma non ho ho trovato un modo per ottenere un certificato gratuito / economico che funziona davvero o una serie di istruzioni che fanno il trucco.

Dato che le mie estensioni sono gratuite, non voglio spendere $ 400 per un certificato commerciale, ma non mi dispiace spendere $ 50 o giù di lì per farlo. Ho sia macchine Linux che Windows, anche se il mio script di build attualmente utilizza Windows e sarebbe molto comodo da usare.

Come hai risolto questo? Cosa devo fare per firmare automaticamente e in modo sicuro le mie estensioni quando vengono create?

Modifica: apprezzo i risultati di Google, ma i passaggi che forniscono non sono abbastanza completi su come ottenere effettivamente un certificato che funzioni. La sensazione che provo mi ricorda questo classico:

alt text

È stato utile?

Soluzione

Ho usato il certificato comodo per firmare gli XPI. Era l'opzione più economica al momento.

Ho scritto alcuni post su XPI Forma te un howto per firma usando uno strumento da riga di comando java.

Il mio strumento XPISigner semplifica notevolmente il processo ed è integrabile nei sistemi di build.

Ho rimosso lo strumento perché non funziona più con FF4 o versioni successive. La fonte è disponibile su http://code.google.com/p/xpisigner/ se qualcuno ha voglia di riparare.

Altri suggerimenti

Evita i certificati di firma del codice GoDaddy poiché il certificato CA intermedio necessario non è in Firefox per impostazione predefinita.     C = US, ST = Arizona, L = Scottsdale, O = GoDaddy.com \, Inc., OU = http://certificates.godaddy.com/repository,CN=Go Daddy Secure Certification Authority, SERIALNUMBER = 07969287 '

Se firmi con esso i tuoi utenti riceveranno errori di firma con esso.

es.

SIgning could not be verified. -260

Quello che ho trovato con Google è stato questo: http://www.mercille.org/snippets /xpiSigning.php che indica:

  

Se non vuoi una pubblicità   certificato o non può permettersene uno,    Ascertia può offrirti un servizio gratuito   certificato, ma trasformandolo in a   richiede un certificato per la firma del codice   lavoro extra, di cui ho parlato in dettaglio    un'altra pagina .

Non posso dire di averlo provato. E su http://developer.mozilla.org/en/Signing_a_XPI dice:

  

Il più economico supportato universalmente   (Mozilla, Java, Microsoft) certificato   sembra essere Comodo Instant-SSL   offerta. Puoi riceverne uno gratis   certificato per sviluppatori open source   da Unizeto Certum, ma la loro radice   il certificato è presente solo in Mozilla   Firefox e Opera (non Java o   Microsoft).

Sì, la firma XPI è sfortunatamente abbastanza banale. Consiglierei di cercare / pubblicare nei newsgroup di mozilla (estensioni di sviluppo, proprietari di progetti @ mozdev, irc.mozilla.org) e anche di cercare di mettermi in contatto con le persone che lo hanno fatto funzionare.

Tucows vende certificati di firma del codice Comodo per $ 75 all'anno, il che è economico come quello che posso dire ( https : //author.tucows.com/ , " Certificati di firma del codice " sezione). Sono ancora troppi soldi da spendere, quindi non ho provato a farlo. Non che io possa provare, da quello che posso dire è necessario essere un'organizzazione registrata per acquistare un certificato Comodo.

Per quanto riguarda Ascertia, ottenere un certificato è abbastanza semplice ( http: // www. ascertia.com/onlineCA/Issuer/CerIssue.aspx ) - ma un tale certificato è inutile come un certificato auto-emesso perché dovresti importare il loro certificato radice prima di vedere un effetto.

Se hai un progetto Open Source, puoi ottenere un certificato di firma del codice gratuito da Unizeto.

I passaggi per ottenere il certificato stesso sono descritti in dettaglio qui .

Dopo aver ottenuto il certificato, procedere come segue:

  • ottieni la chiave privata dal tuo browser (es. scaricala come .p12 dal tuo portachiavi - non impostare una password) e convertila in formato PEM tramite openssl pkcs12 -in key.p12 -nodes -out private. key -nocerts
  • Apri il tuo file .pem che hai scaricato da Unicert, aggiungi la tua chiave privata sotto di essa e la Chiave pubblica di CA di livello III CA da qui sotto la chiave privata, quindi appare così:

    ----- INIZIA CERTIFICATO ----- [il tuo certificato da Certum] ----- CERTIFICATO DI FINE ----- ----- INIZIA TASTO PRIVATO RSA ----- [la chiave privata che hai appena convertito dal file .p12 dal tuo portachiavi] ----- FINE CHIAVE PRIVATA RSA ----- ----- INIZIA ATTESTATO ----- [la chiave pubblica CA Certum di livello III che hai appena scaricato] ----- CERTIFICATO DI FINE -----

  • Salva questo file come cert_with_key_and_ca.pem
  • Installa xpisign.py con pip install https://github.com /nmaier/xpisign.py/zipball/master
  • Esegui xpisign -k cert_with_key_and_ca.pem unsigned.xpi signed.xpi
  • Trascina & amp; Trascina signed.xpi in Firefox e dovresti vedere il nome dell'autore dove prima c'era un messaggio (Autore non verificato) accanto al nome dell'estensione.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top