Assinatura Digital de aplicativos sem OpenSSL

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por carlos_dornelas »

No meu caso, seguindo o BAT, quando executa a linha:
@echo Assinando aplicativo diretamente com PFX
@signtool sign /v /f RDS-SERVER.pfx ^ /t http://timestamp.url meuexe.exe
obtenho a mensagem: SignTool Error: The specified PFX password is not correct


Quando o BAT tenta executar a linha:
@echo Assinando aplicativo a partir do repositorio interno com PFX
@signtool sign /v /n "Me" /s SPC ^ /t http://timestamp.url meuexe.exe
Exige a seguinte mensagem: SignTool Error: No certificates were found that met all the given criteria

Quando vai importar o certificado, eu segui o padrão e fui somente clicando no continuar... mas vi que tem como escolher onde importar... será esse o problema?
Imagem

[]s

Antonio Carlos
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por rochinha »

Amiguinhos,

carlos_dorneles e pauloa1 procedam com a instalação do .PFX e na escolha do repositório NÃO escolham o padrão, joguem em Autoridades de Certificação Raiz Confiáveis.

No momento da instalação do PFX coloquem a senha e marquem e na tela Repositório de Certificados escolha colocar todos os certificados no repositório a seguir, clique em Procurar e escolha Autoridades de Certificação Raiz Confiáveis, avance e conclua.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
paiva
Usuário Nível 3
Usuário Nível 3
Mensagens: 300
Registrado em: 04 Ago 2005 10:28

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por paiva »

DUVIDA.

tenho certificado por ter empresa.
acho que tenho da empresa e como pessoa fisica (socio)

com esse certificado posso assinar um exe ?

qual seria o comando ?

de forma simples rs para leigo


Paiva
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por Jairo Maia »

paiva escreveu:tenho certificado por ter empresa.
acho que tenho da empresa e como pessoa fisica (socio)

com esse certificado posso assinar um exe ?
Se seu certificado tem o recurso de "Assinar Códigos" sim, mas tem que ter esse recurso.
pauloa1 escreveu:Mas ao vincular com o exe do sistema da esse erro.
Tanto com as dicas do Rochinha, como com as dicas da Ana Mitoooo, consigo gerar os certificados, mas esbarrei nas mesmas dúvidas postadas anteriormente pelos colegas, ou seja, também não tive sucesso.

Se tento assinar usando diretamente o PFX, diz que a senha não confere, mas a senha é a mesma que usei para gerar os certificados, e com a dica do Rochinha de fazer Copiar/Colar para garantir que fossem idênticas.

Se tento assinar a partir do repositório, também recebo a mensagem: No certificates were found that met all the given criteria (Nenhum certificado foi encontrado que atendesse a todos os critérios informados). Se verifico a cadeia de certificados de "Autoridades de Certificação Raiz Confiáveis", ele está lá, mas não encontra.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por carlos_dornelas »

Rochinha, obrigado pela paciência, mas segui o roteiro:
carlos_dorneles e pauloa1 procedam com a instalação do .PFX e na escolha do repositório NÃO escolham o padrão, joguem em Autoridades de Certificação Raiz Confiáveis.

No momento da instalação do PFX coloquem a senha e marquem e na tela Repositório de Certificados escolha colocar todos os certificados no repositório a seguir, clique em Procurar e escolha Autoridades de Certificação Raiz Confiáveis, avance e conclua.
e o problema da senha continua...

Assinando aplicativo diretamente com PFX
SignTool Error: The specified PFX password is not correct.
Assinando aplicativo a partir do repositorio interno com PFX
SignTool Error: No certificates were found that met all the given criteria

Pergunta: Na geração do meu exe, alguma coisa devo acrescentar? ou o SignTool assina qualquer exe?

[]s

Antonio Carlos
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por rochinha »

Amiguinhos,

Eis o batch com modificações:

Código: Selecionar todos

@cls
@del RDS*.cer RDS*.pvk RDS*.pfx
@certutil -delstore Root RDS-CARoot
@rem certmgr.exe

@echo.
@echo Criando certificado raiz...
@makecert.exe ^
-n "CN=RDS-CARoot" ^
-r ^
-pe ^
-a sha512 ^
-len 4096 ^
-sky Signature ^
-cy authority ^
-sv RDS-CARoot.pvk ^
RDS-CARoot.cer

@echo.
@echo Instalando certificado raiz...
@certutil.exe -user -addstore Root RDS-CARoot.cer
@rem RDS-CARoot.cer / Root or TrustedPeople

@echo.
@echo Previsualiza se certificado raiz foi bem Instalando...
@RDS-CARoot.cer

@echo.
@echo Criando certificado terminal baseado no certificado raiz...
@makecert.exe ^
-n "CN=5volution.com.br,O=Nome Empresarial,OU=Desenvolvimento,L=Soa Paulo,S=SP,C=BR" ^
-iv RDS-CARoot.pvk ^
-ic RDS-CARoot.cer ^
-pe ^
-h 0 ^
-a sha512 ^
-len 4096 ^
-b 07/05/2015 ^
-e 07/05/2039 ^
-sky Exchange ^
-eku 1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13 ^
-sv RDS-SERVER.pvk RDS-SERVER.cer

@dir rds*.* /od
@pause

@echo.
@echo Criando certificado PFX...
@pvk2pfx.exe ^
-pvk RDS-SERVER.pvk ^
-spc RDS-SERVER.cer ^
-pfx RDS-SERVER.pfx ^
-po 123123
@dir rds*.* /od

@rem echo Assinando aplicativo diretamente com PFX
@signtool.exe sign /v /f RDS-SERVER.pfx /p 123123 /du "http://meusite.com.br" /d "Descrever o aplicativo" /t http://timestamp.digicert.com MyExecutable.exe
Fiz modificações no comando após a mensagem Criando certificado terminal baseado no certificado raiz acrescentando -h 0 que torna o certificado de terminal como sendo finalizado e não permitindo ser também um CA certificador.

Modifiquei o parâmetro -sku pois o final da numeração terminava com 1 o que não permitia assinar executáveis quando o correto é 3 e acrescentei mais alguma numeração para melhorar as características do certificado.
RDS-CARoot.png
Como visto na imagem na posição 1, após serem pedidas a senha umas tres vezes o certificado raiz será instalado pela ferramenta CertUtil e o certificado sera apresentado(posição 2).

Após dar OK(não precisa instalar) execute o certmgr e veja se RDS-CARoot aparece no repositório de Autoridades raiz Confiáveis.

Na posição 4 está o código já modificado e testado. O código renovado está logo ai acima e com a chamada para assinatura ativada e configurada para ser processada com êxito.

Basta troca o nome MyExecutable.exe pelo nome do executável que precisa ser assinado e alterar as strings dos parâmetros /du e /d

Na linha 31 do batch modifique -n "CN=5volution.com.br,O=Nome Empresarial,OU=Desenvolvimento,L=Soa Paulo,S=SP,C=BR" com sua informações pessoais.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
pauloa1
Usuário Nível 3
Usuário Nível 3
Mensagens: 227
Registrado em: 25 Jun 2008 14:57
Localização: Augusto Pestana-RS

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por pauloa1 »

Grande Rochinha!!! Agora sim, funcionou.

Só um detalhe:

Na linha 31 do batch modifique -n "CN=5volution.com.br,O=Nome Empresarial,OU=Desenvolvimento,L=Soa Paulo,S=SP,C=BR" com sua informações pessoais.

CN=5volution.com.br = Aparece no nome do signatário.
Email= em branco
data da assinatura = em branco


No mais 100%


Falta testar nos clientes.

Mas assinou o exe.

Paulo
pauloa1
Usuário Nível 3
Usuário Nível 3
Mensagens: 227
Registrado em: 25 Jun 2008 14:57
Localização: Augusto Pestana-RS

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por pauloa1 »

Estava Olhando o certificado pago que tenho, a data da assinatura também não aparece, e quanto ao email ao meu ver é até bom não aparecer.

Paulo
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por Jairo Maia »

Deu certo Rochinha... Show de bola...
pauloa1 escreveu:CN=5volution.com.br = Aparece no nome do signatário.
Paulo, aqui aparece os meus dados, que coloquei seguindo as instruções do Rochinha na última mensagem dele. Em lugar nenhum aparece "5volution.com.br", apenas meus dados.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
pauloa1
Usuário Nível 3
Usuário Nível 3
Mensagens: 227
Registrado em: 25 Jun 2008 14:57
Localização: Augusto Pestana-RS

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por pauloa1 »

Jairo!

O que quis dizer é que
"CN=5volution.com.br = Aparece no nome do signatário."
Eu troquei "5volution.com.br" pelo nome da empresa.

E saiu certo nome da empresa.

Não sair por exemplo, site, empresa, email etc... em separado.

Mas tá tudo certo, o importante é assinar.

Paulo
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por rochinha »

Amiguinhos,

MA.GA.VI.LIA, que bom que todos conseguiram. Afinal o tópico serviu bem ao título.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
paiva
Usuário Nível 3
Usuário Nível 3
Mensagens: 300
Registrado em: 04 Ago 2005 10:28

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por paiva »

Jairo

lá no IE...

Opções de internet / conteúdo /certificados / avançados

em Todos os certificados de meus clientes estão marcado entre outras coisa o: Assinatura de Códigos .

com um certificado desses eu Posso assinar o exe para evitar Problemas com antivirus ?

caso afirmativo
como poderia assinar e verificar se resolve o problema (tenho clientes que os antivirus torram o saco ai poderei testar la rs
Paiva
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por Itamar M. Lins Jr. »

Olá!
Tem isso no harbour 3.4 que o Viktor fez.
Para gerar certificado p/ o servidor(protocolo) https!

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por carlos_dornelas »

Salve Rochinha

Aqui também deu certo!!

Grato

Antonio Carlos
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Assinatura Digital de aplicativos sem OpenSSL

Mensagem por rochinha »

Amiguinhos,

Fiz algumas modificações no batch:

Código: Selecionar todos

...
@echo.
@echo Criando certificado terminal baseado no certificado raiz...
@makecert.exe ^
-n "CN=5volution.com.br,O=JOSE CARLOS DA ROCHA:18123456000105,OU=Desenvolvimento,L=Sao Paulo,S=SP,C=BR" ^
-iv 5V-CARoot.pvk ^
-ic 5V-CARoot.cer ^
-pe ^
-h 0 ^
-a sha512 ^
-len 2048 ^
-b 07/05/2015 ^
-e 07/05/2039 ^
-sky Signature ^
-eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.3,1.3.6.1.5.5.7.3.4,1.3.6.1.4.1.311.10.3.13 ^
-sv 5V-SERVER.pvk 5V-SERVER.cer
...
- Alterei o -len para manter no padrão dos certificados vendidos;
- Alterei o -sky para Signature mas quando estava como Exchange assinava do mesmo jeito;
- Alterei o -eku acrescentando outras características para serventia do certificado;

Obtendo a seguinte configuração no certificado de terminal:
certificado.png
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder