Olá, bom dia!
Eu recebi uma chave já certificada da empresa que estou prestando serviço, eles me enviaram um e-mail com o certificado digital me pedindo para checar se ele é válido… é um arquivo com extensão .p12 e eu simplesmente não sei, nem achei como usar.
usei algumas linhas de comando que encontrei em alguns tutoriais que lí, mas tbm não funfô:
Tenho um applet e quero usar essa chave “já certificada” para certificar meu .jar, como eu devo proceder para certificar meu applet? e como eu terei certeza que a chave que me enviaram já “certificada” está realmente certificada? acredito que se eu conseguir certificar meu applet aparece alguma mensagem informando o tempo que a chave vai expirar, etc… certo?
Procurei ontem a tarde toda mas não achei nada que me pudesse ajudar, espero que alguém aqui me dê uma luz.
Olá,
depois de passar uns dias sem mexer muito no applet assinado que o Thingol me ensinou a fazer como citado acima, eu reparei uma mensagem muito estranha na janelinha que mostra o certificado ela diz:
“The applicantion´s digital signature cannot be verified”
e lá embaixo dessa janelinha abaixo do run ( ao lado do more information) aparece:
" The digital signature cannot be verified by a trust source. Only continue if you trust the origin of the application"
por favor entre nesse end. que tem um screen shoot da janela que descrevi :
Existe alguma maneira de eu verificar e ter certeza que o certificado está válido? nas informações do certificado que aparece quando dou o seguinte comando no console : keytool -v -list -storetype pkcs12 -keystore nome__do__seu__arquivo__p12
diz que é válido até setembro ainda. Agora não sei como proceder, um só certificado pode certificar vários applets? (eu não sei se ele jah está certificando algum, preciso dessa informação?). Eu preciso que essa janela apareça de forma diferente, preciso que ela diga ao usuário que o applet é certificado e confiável.
A dúvida é, será que o applet foi assinado da maneira correta? ( segui os passos que você me disse corretamente). Pelas mensagens parece que o cert. não está vencido apenas foi emitido por uma empresa não confiável.
É isso mesmo Thingol, lá aparece que ainda não venceu, só em Setembro, eu dei um screen shot diferente lá, agora aparece o campo validity por completo. dah uma olhada http://www.solsoft.com.br/Formax/more_details.jpg
Thingol, quando aparece essa tela já quer dizer que automaticamente meu applet está assinado certinho não é?
Sabe me dizer se existe mais coisa pra verificar ou só pode ser problema no certificado ( o arquivo .p12 )?
Antes me enviaram um arquivo .spc e um .pvk, mas depois me disseram que ele estava errado, e converteram pra .p12 e me enviaram, qual a diferença?
.spc e .pvk são usados para assinar arquivos usando-se a ferramenta signcode da Microsoft.
Não sei se o certificador (Verisign Class 3 Code Signing 2004) está na lista de certificadoras autorizadas no cacerts da sua máquina. Só listando (por exemplo:)
Veja se existe o "Verisign Class 3 Code Signing 2004" (isso deve ser visto listando-se um certificado pelo alias - nessa lista que lhe passei aparecem só os "alias") e listando os detalhes de um certificado apenas.
Olá Thingol, Bom dia… bem…
Eu fiz o que vc pediu, listei as certificadores e o (Verisign Class 3 Code Signing 2004) parece não estar na lista de certificadoras autorizadas no cacerts de minha máquina, eu dei o comando que você colocou acima, e apareceu uma lista enorme, mas (Verisign Class 3 Code Signing 2004) não apareceu na lista, e era era grande heim rs
O mais próximo que apareceu do que vc me disse foi seguinte linha:
verisignclass3ca, 27/10/2003, trustedCertEntry,
verisignclass1ca, 25/03/2004, trustedCertEntry,
verisignclass3g3ca, 25/03/2004, trustedCertEntry, SERÁ QUE É ISSO??
Ai o resto tinha muito “Certificate fingerprint” , “comodoaaaca” , “utnuserfirstobjectca” com seus respectivos números.
Se a linha verisignclass3ca, 27/10/2003, trustedCertEntry, for a linha que estamos procurando, o que isso quer dizer? que meu certificado está ok e que o problema foi na assinatura?
E se essa linha não for a que você me disse significa que o certificado não é válido?
Pelo o que eu entendi lendo o tópico é que esta sua chave/certificado foi gerado para assinar código Microsoft. Acho que certificado para código Microsoft é diferente do que para código Java. Até daria para usar, mas teria que importar o “certificate chain” do “certificado root” deste certificado no cacerts. Quando tivemos que assinar código Java, tivemos que comprar um certificado específico para isto.
Aqui na nossa empresa temos sempre de comprar 2 certificados - um que tem o spc e o pvk (específico para código Microsoft) e outro que é usando keystore (específico para código Java).
Pelo que estou achando, o pessoal simplesmente converteu o spc + pvk para o formato pfx (PKCS#12) usando uma ferramenta da Microsoft chamada “pvk2pfx” (que vem no Windows Device Toolkit, que é meio difícil de obter, já que é para desenvolver device drivers) ou outra, que já usei, chamada PVK Digital Certificate Files Importer. Mas isso não é suficiente para transferir o certificado de uma autoridade certificadora para a outra.
Havia um tempo em que a gente comprava um terceiro certificado (para assinar plugins Netscape) mas como ele deixou de ser utilizado faz tempo, deixamos de comprá-lo.
Não sei se outras autoridades certificadoras vendem um certificado só - eu sei que a Verisign (que é representada aqui no Brasil pela sua subsidiária Certisign) vende vários tipos de certificados, provavelmente só para ganhar dinheiro mesmo.
Tem um chamado “everything”. Não sei se atende assinar código MS e Java.
Não sei se o mecanismo de verificação de assinatura da JVM verifica algum dado do certificado ou somente se foi assinado por um certificado root “trust”.
Na minha empresa já compramos um certificado da Thawte para assinar código Java. Não temos experiência em assinatura de código MS.
hummm tá… então existe essa diferença de certificados… pra código java, microsoft, enfim… não sabia disso, achei que certificado fosse apenas um. Mas no meu caso, meu código é Java.
alguém conhece algum site que explique detalhadamente todo esse lance de certificados? não encontrei muito sobre o assunto, se não é por vocês aqui fico sem saber.
Vou olhar o link acima.
Muito obrigado novamente pela ajuda.
Um certificado de servidor não pode ser usado para assinar uma applet.
Não me pergunte por que é assim: é basicamente por motivos comerciais, não matemáticos.
Você tem de pagar algum dinheiro à Verisign ou à Thawte (filial da Verisign na África do Sul) ou à Certisign (filial da Verisign no Brasil).