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: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 7135
- 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: 7135
- 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: 4666
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Curtiu: 1 vez
- 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: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 20415
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Assinar digitalmente um arquivo
É preciso COMPRAR o certificado, não dá pra fabricar isso.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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/
