Assinar digitalmente um arquivo
Moderador: Moderadores
Assinar digitalmente um arquivo
Perguntas:
O certificado tem que está registrado em cada máquina que roda o windows, ou isso é somente no executável?
O certificado tem que está registrado em cada máquina que roda o windows, ou isso é somente no executável?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
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.
Na máquina onde roda o programa, precisa só que reconheça a autoridade que emitiu o certificado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
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?
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?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Assinar digitalmente um arquivo
Perguntas:
A ferramenta signtool da ms serve para assinar um aplicativo compilado com mingw ?
A ferramenta signtool da ms serve para assinar um aplicativo compilado com mingw ?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
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" ?
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" ?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Assinar digitalmente um arquivo
Informação interessante:
Howto: Add a Digital Signature to Executables
https://blog.didierstevens.com/2008/12/ ... ecutables/
Howto: Add a Digital Signature to Executables
https://blog.didierstevens.com/2008/12/ ... ecutables/
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
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.
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.
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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Assinar digitalmente um arquivo
Sei que foge do assunto, mas achei esse utilitário interessante OleView.Exe, do sdk da microsoft.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Assinar digitalmente um arquivo
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.asimoes escreveu:Agora a pergunta que não quer calar: Quem vai arcar com os custos de um certificado?
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.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
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.pauloa1 escreveu:Sinceramente não sei onde tudo isso vai parar....
Ta cada vez mais complicado...
Vou colocar o link dentro do CODE abaixo, copia e cola no navegador:Leonardo!
o link não ta abrindo.
Código: Selecionar todos
https://msdn.microsoft.com/en-us/library/windows/desktop/aa387764(v=vs.85).aspxSim, em quando estamos comilando e testando não fazemos assinatura, só na versão final do cliente que vai assinado.Você só assina quando vai enviar o exe para o cliente?
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.Todas as dlls externas também precisam ?
Não precisa, até atrapalha.Quando está alterando etc.. e compilando várias vezes ao dia não precisa assinar?
Não muda nada, apenas substituiu o .EXE assinado pelo velho e nada mais.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 precisa chefe, assina na sua maquina o .EXE manda para o cliente o .EXE assinado e pronto.asimoes escreveu:Perguntas:
O certificado tem que está registrado em cada máquina que roda o windows, ou isso é somente no executável?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Assinar digitalmente um arquivo
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.JoséQuintas escreveu:Pensei em outra coisa que precisa testar:
EXE compactado com UPX.
Pensei nisso também, na duvida assinei apenas o que eu posso compilar e mexer caso precise, o resto não assinei nada.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" ?
Deve funcionar, assinei .EXE compilado com xHarbour BCC55, MSVC-2010 e DLL em Lazarus.asimoes escreveu:Perguntas:
A ferramenta signtool da ms serve para assinar um aplicativo compilado com mingw ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Assinar digitalmente um arquivo
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#
Eu não sei se isso afeta também sistemas feitos em c#
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Assinar digitalmente um arquivo
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.
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.
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.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
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.
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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Assinar digitalmente um arquivo
É complicado criar o seu próprio certificado para aplicação?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
É preciso COMPRAR o certificado, não dá pra fabricar isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
