Página 2 de 12

Assinar digitalmente um arquivo

Enviado: 01 Ago 2016 10:22
por asimoes
Perguntas:

O certificado tem que está registrado em cada máquina que roda o windows, ou isso é somente no executável?

Assinar digitalmente um arquivo

Enviado: 01 Ago 2016 11:22
por JoséQuintas
Isso é igual NFE. Precisa do certificado aonde vai fazer a assinatura.
Na máquina onde roda o programa, precisa só que reconheça a autoridade que emitiu o certificado.

Assinar digitalmente um arquivo

Enviado: 01 Ago 2016 13:42
por JoséQuintas
Complementando:

Compare com o XML de NFE, só que neste caso vai ser o binário do EXE.
Ao assinar, é acrescentada a assinatura ao EXE, que garante que o EXE não foi alterado desde a assinatura.
Algo como um CRC32, mas criptografado com o seu certificado.
Também vai junto uma cópia do seu certificado, mas que só vale pra conferência.
Por essa cópia ir junto, já mostra toda procedência do certificado, a tal "cadeia de certificados".

Em todo computador existem os certificados de autoridades confiáveis instalados.
Justamente através deles é que seu certificado vai ser conferido se é válido.

Minha dúvida que resta é: o que acontece depois do certificado vencer? Vai acusar novamente que o EXE é inválido ou vai continuar valendo?

Assinar digitalmente um arquivo

Enviado: 01 Ago 2016 15:07
por asimoes
Perguntas:

A ferramenta signtool da ms serve para assinar um aplicativo compilado com mingw ?

Assinar digitalmente um arquivo

Enviado: 01 Ago 2016 15:13
por JoséQuintas
Pensei em outra coisa que precisa testar:

EXE compactado com UPX.

Mas no geral, assinatura é para o EXE, ou equivalente, não importa o que foi usado.
E são tratados assim EXE, DLL, OCX, programas de instalação, etc.

O que leva à preocupação sobre o que fazer com DLLs de terceiros.
Por exemplo, se precisar assinar a DLL do RMChart, e ela causar problemas, poderão bloquear tudo do mesmo "assinante" ?

Assinar digitalmente um arquivo

Enviado: 01 Ago 2016 15:14
por asimoes
Informação interessante:

Howto: Add a Digital Signature to Executables

https://blog.didierstevens.com/2008/12/ ... ecutables/

Assinar digitalmente um arquivo

Enviado: 01 Ago 2016 15:34
por JoséQuintas
Pensei em outra coisa que precisa testar:

EXE compactado com UPX.

Mas no geral, assinatura é para o EXE, ou equivalente, não importa o que foi usado.
E são tratados assim EXE, DLL, OCX, programas de instalação, etc.

O que leva à preocupação sobre o que fazer com DLLs de terceiros.
Por exemplo, se precisar assinar a DLL do RMChart, e ela causar problemas, poderão bloquear tudo do mesmo "assinante" ?

Uia. lembrei da senha e instalei, mas não vale mais nada.
Lembro que tive que descobrir como transformar o certificado em PFX pra facilitar, não sei se agora vém pronto.
Nessa época eu usava Clipper e VB6, em 2011, e nessa época não fez diferença assinado ou não.
certificado.png
certificado.png (10.3 KiB) Exibido 6231 vezes
certificado2.png

Código: Selecionar todos

d:\TOOLS\signtool>dir
 O volume na unidade D é TRABALHO
 O Número de Série do Volume é 640D-3E41

 Pasta de d:\TOOLS\signtool

13/07/2016  00:21    <DIR>          .
13/07/2016  00:21    <DIR>          ..
24/02/2016  15:24               356 assina.bat
24/08/2010  18:14               402 assinaan.bat
11/04/2007  11:11           511.328 capicom.dll
23/08/2010  04:14                80 gerapfx.txt
02/08/2010  17:19               636 jpateckey.pvk
07/10/2010  17:47             2.325 jpatecnologia.pfx
07/10/2010  17:46           435.856 MakePFX.exe
03/08/2010  17:25             7.008 mycredentials.spc
05/05/1999  08:52            25.600 PVKImprt EULA.doc
15/04/1999  17:10            14.080 PVKIMPRT.EXE
08/05/2001  10:38               697 readme.txt
05/12/2008  13:18           108.880 signtool.exe
              12 arquivo(s)      1.107.248 bytes
               2 pasta(s)   473.013.669.888 bytes disponíveis

Assinar digitalmente um arquivo

Enviado: 01 Ago 2016 15:40
por asimoes
Sei que foge do assunto, mas achei esse utilitário interessante OleView.Exe, do sdk da microsoft.

Assinar digitalmente um arquivo

Enviado: 01 Ago 2016 19:51
por sygecom
asimoes escreveu:Agora a pergunta que não quer calar: Quem vai arcar com os custos de um certificado?
Essa não tem jeito, eles inventam e nós pagamos a conta, nem que seja com desenvolvimento longo para entender tributação e fazer toda a bagaça funcionar.
fladimir escreveu:Com relação a usar os bancos nos micros windows fiz o seguinte:

Usa o Mozilla e instala nele o User-Agent e configura o Navegador como Linux-Opera.

Isso engana os bancos, achando q estão navegando em um micro com SO Linux e Navegador Opera e ai como eles não tem nada (ainda) pra isso abre os bancos
Problema chefe, é fazer isso em escala muito grande de usuários, e tem lugar que tem TI que o ainda acha que o problema é no sistema, até convencer o o cara do TI do problema, ai o problema se arrasta por semanas.
pauloa1 escreveu:Sinceramente não sei onde tudo isso vai parar....
Ta cada vez mais complicado...
Pior que todo dia é uma nova invenção e assim agente passa o tempo todo trabalhando para sobreviver a essas loucuras sem fim produtivo algum.
Leonardo!
o link não ta abrindo.
Vou colocar o link dentro do CODE abaixo, copia e cola no navegador:

Código: Selecionar todos

https://msdn.microsoft.com/en-us/library/windows/desktop/aa387764(v=vs.85).aspx
Você só assina quando vai enviar o exe para o cliente?
Sim, em quando estamos comilando e testando não fazemos assinatura, só na versão final do cliente que vai assinado.
Todas as dlls externas também precisam ?
Nós temos umas DLL feita em Lazarus que assinamos, e mais alguns .EXE auxiliar que mandamos junto com o sistema, quando assinei apenas o .EXE principal resolveu tudo, mas na duvida assinei tudo e mandei para os clientes novamente.
Quando está alterando etc.. e compilando várias vezes ao dia não precisa assinar?
Não precisa, até atrapalha.
Na máquina do cliente, fica a mesma coisa, ou é preciso atualizar ou enviar alguma coisa?
Caso precisar algo no cliente é só no servidor ou nos terminais também?
Não muda nada, apenas substituiu o .EXE assinado pelo velho e nada mais.
asimoes escreveu:Perguntas:

O certificado tem que está registrado em cada máquina que roda o windows, ou isso é somente no executável?
Não precisa chefe, assina na sua maquina o .EXE manda para o cliente o .EXE assinado e pronto.

Assinar digitalmente um arquivo

Enviado: 01 Ago 2016 20:00
por sygecom
JoséQuintas escreveu:Pensei em outra coisa que precisa testar:

EXE compactado com UPX.
Eu parei de usar UPX faz um tempo, na época também era por causa dos anti-virus, mas nem me arisco a colocar de novo.
O que leva à preocupação sobre o que fazer com DLLs de terceiros.
Por exemplo, se precisar assinar a DLL do RMChart, e ela causar problemas, poderão bloquear tudo do mesmo "assinante" ?
Pensei nisso também, na duvida assinei apenas o que eu posso compilar e mexer caso precise, o resto não assinei nada.
asimoes escreveu:Perguntas:

A ferramenta signtool da ms serve para assinar um aplicativo compilado com mingw ?
Deve funcionar, assinei .EXE compilado com xHarbour BCC55, MSVC-2010 e DLL em Lazarus.

Assinar digitalmente um arquivo

Enviado: 01 Ago 2016 20:54
por asimoes
Só pra lembrar o harbour não tá sozinho nesse problemão, sistemas feitos em delphi também devem padecer do mesmo problema.
Eu não sei se isso afeta também sistemas feitos em c#

Assinar digitalmente um arquivo

Enviado: 02 Ago 2016 09:21
por rochinha
Amiguinhos,

Uma coisa a ser lembrada:

Pelo menos no meu caso, quando criei o meu certificado, com dicas de internautas, passei a colocá-lo em meu SETUP e o mesmo ao ser instalado já instala o .PFX na máquina do cliente.

Eu não tive problemas com certificado mas tive muitos problemas com Trojan EVO.Gen e por não saber se era a certificação ou compactação tirei tudo.

Resumindo tenho 2 certificados o que eu criei e o NFe comprado.

Assinar digitalmente um arquivo

Enviado: 02 Ago 2016 20:12
por JoséQuintas
O relato do outro tópico me deixou na dúvida se o certificado vai resolver o problema do programa do banco ou não - ref. problema com GTWVW.

E também vai precisar teste compactado e sem compactação. (assinar antes e/ou depois de compactar).

Me chamou a atenção um relato sobre EXEs/DLLs compactados.
Isso causa precisar de uma área a mais de memória pra conter o processo, durante todo o uso.
Apesar que 8MB em 2GB representar pouco, chamou a atenção.

Assinar digitalmente um arquivo

Enviado: 02 Ago 2016 20:38
por asimoes
É complicado criar o seu próprio certificado para aplicação?

Assinar digitalmente um arquivo

Enviado: 02 Ago 2016 21:07
por JoséQuintas
É preciso COMPRAR o certificado, não dá pra fabricar isso.