Pergunta

Eu desenvolvi um par de extensões para o Firefox, e estou irritado que é tão difícil de obter a extensão assinado. Quando um ramal não está assinado, ele diz que "Autor não verificado" quando é instalado, e para mim isso só parece errado.

Eu tenho um script de construção simples que constrói meu arquivo .xpi a partir de fontes, e eu tenho uma cópia licenciada do PKZip (que de acordo com uma série de tutoriais é necessário para construir um arquivo xpi assinado que Firefox exige), mas eu haven 't encontrado uma maneira de obter um certificado de livre / barato que realmente funciona ou um conjunto de instruções que fazem o truque.

Uma vez que minhas extensões são livres, eu não quer gastar US $ 400 em um certificado comercial, mas eu não me importo de gastar US $ 50 ou mais para fazê-lo. Eu tenho duas máquinas Linux e Windows, embora o meu script de construção atualmente usa Windows e que seria mais conveniente para o uso.

Como você resolveu isso? O que eu preciso fazer para automaticamente e com segurança assinar minhas extensões quando eles são construídos?

Editar: Eu aprecio os hits do Google, mas os passos que eles fornecem não são suficientes completas sobre como realmente obter um certificado que obras. O sentimento que eu tenho me faz lembrar deste clássico:

text alt

Foi útil?

Solução

Eu usei o certificado comodo a assinar XPIs. Era a opção mais barata no momento.

Eu escrevi alguns posts sobre o XPI Forma t e um howto para assinando usando uma ferramenta java comando.

Minha ferramenta XPISigner simplifica o processo consideravelmente e é integrável em sistemas de compilação.

Eu removi a ferramenta como ele não funciona mais com FF4 ou superior. Fonte está disponível em http://code.google.com/p/xpisigner/ se alguém se sente como fixação.

Outras dicas

Evite os certificados codesigning GoDaddy como o certificado CA intermediário necessário não é no Firefox por padrão. C = US, ST = Arizona, L = Scottsdale, O = GoDaddy.com \, Inc., OU = http://certificates.godaddy.com/repository,CN=Go papai seguro Certification Authority, SERIALNUMBER = 07969287'

Se você assinar com ele seus usuários receberão a assinatura erros com ele.

por exemplo.

SIgning could not be verified. -260

O que eu encontrei com o Google foi o seguinte: http://www.mercille.org/snippets /xpiSigning.php que afirma:

Se você não quer um comercial certificado ou não pode pagar um, Ascertia pode fornecê-lo com um livre certificado, mas transformá-lo em um certificado de assinatura de código requer algum trabalho extra, que eu detalhei em outra página .

Eu não posso dizer que eu já tentei. E no http://developer.mozilla.org/en/Signing_a_XPI diz:

O mais barato universalmente suportado (Mozilla, Java, Microsoft) certificado parece ser o Comodo Instant-SSL oferta. Você pode obter um livre certificado para desenvolvedores open-source de Unizeto certum, mas a sua raiz certificado só está presente no Mozilla Firefox e Opera (não Java ou Microsoft).

Sim, assinatura XPI é infelizmente muito untrivial. Aconselho busca / postagem para os grupos de notícias da Mozilla (dev-extensões, proprietários do projeto @ mozdev, irc.mozilla.org) e também está tentando entrar em contato com as pessoas que tenho que trabalhar.

Tucows vende código Comodo assinar certificados para US $ 75 por ano, que é tão barato como ele vai do que eu posso dizer ( https : //author.tucows.com/ , "Código Certificados de Assinatura" seção). Isso ainda é muito dinheiro para mim passar por isso eu não tentar como ele funciona. Não que eu posso tentar, pelo que eu posso dizer que você precisa para ser uma organização registada para comprar um certificado de Comodo.

Como a Ascertia, recebendo um certificado é suficiente fácil ( http: // www. ascertia.com/onlineCA/Issuer/CerIssue.aspx ) -. mas tal certificado é tão inútil quanto um certificado emitido por conta própria, porque você precisa importar seu certificado raiz antes de ver um efeito

Se você tem um projeto Open Source, você pode obter um certificado de assinatura de código livre de Unizeto.

Os passos para obter o certificado em si são descritos em detalhes aqui .

Depois de ter o certificado, faça o seguinte:

  • obter a chave privada do seu navegador (por exemplo baixá-lo como p12 do seu chaveiro - não definir uma senha) e convertê-lo em formato PEM via openssl pkcs12 -in key.p12 -nodes -out private.key -nocerts
  • Abra o arquivo .pem que você baixou Unicert, adicione sua chave privada por baixo, eo Public Key of Certum Level III CA de aqui abaixo da chave privada, por isso parece com isso:

    -----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-----

  • Salve o arquivo como cert_with_key_and_ca.pem
  • Instale xpisign.py com pip install https://github.com/nmaier/xpisign.py/zipball/master
  • Executar xpisign -k cert_with_key_and_ca.pem unsigned.xpi signed.xpi
  • Drag & Drop the signed.xpi em Firefox e você deve ver o nome do autor onde antes havia um (Autor não verificado) mensagem ao lado do nome da extensão.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top