Clipper On Line • Ver Tópico - Assinar digitalmente um arquivo

Assinar digitalmente um arquivo

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

Moderador: Moderadores

 

Assinar digitalmente um arquivo

Mensagempor sygecom » 30 Jul 2016 14:43

Pessoal,
Quem ainda não passou, vai passar por isso, os bancos(Itaú,Banco do Brasil e etc...) tem um aplicativo que monitora nossos sistemas e acaba por deixando tudo mais lento, ou algum antivírus que incomoda tentando deletar nossos sistemas.
Para resolver isso fizemos aqui a assinatura digital dos nossos binários e dll's para tornar o processo mais confiante e o resultado foi imediato, ficou tudo mais rápido.

O processo inicia adquirindo um certificado digital especifico para assinatura de código(Code Signing) e claro tentei antes usar o certificado que usamos para emitir NFe e não deu certo, nós cogitamos dois, da Norton e da Comodo e, por fim ficamos com a Comodo pelo custo e suporte ser mais simplificado.
https://www.comodobr.com/produtos/certi ... igning.php

Nesse meio tempo, houve uma série de verificações dos dados da empresa, telefonema para checagem e etc...

Recebemos o certificado e instalamos na maquina, e logo em seguida exportamos para o pessoal da programação poder assinar nossos arquivos.

Para quem já meche com NFe deve saber exportar um certificado, mas para quem não souber no google tem varios exemplos, abaixo um passo a passo do site dos correios:
https://www.correios.com.br/para-sua-em ... al-tipo-a1

Para assinar, usamos uma ferramenta da Microsoft chamada: SignTool, abaixo tem um link que demonstra todos os parâmetros dela:
https://msdn.microsoft.com/en-us/librar ... 64(v=vs.85).aspx

Para quem não tem o MSVC 2010 instalado da maquina, pode baixar o pacote completo deles abaixo, é só descompactar:
http://sagierp.com.br/devel/xbase/compi ... 32bits.rar

Exemplo para fazer assinatura de um .EXE:
d:\devel\msvc201032bits\v7.0A\Bin\signtool.exe sign /v /f "d:\devel\doc\meu_certificado.pfx" /p senha /t "http://timestamp.verisign.com/scripts/timstamp.dll" /a "c:\sistemas\sistema.exe"


Nesse exemplo o meu signtool.exe está no seguinte caminho: d:\devel\msvc201032bits\v7.0A\Bin\, então apenas observe o caminho onde vai descompactar ou onde está instalado o MSVC para ajustar no comando acima.

Exemplo de um .EXE assinado, quando clica com o botão da direita no .EXE e vai em propriedades:
Imagem
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 6667
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 77 vezes

Assinar digitalmente um arquivo

Mensagempor fladimir » 30 Jul 2016 16:24

obrigado por Compartilhar Leo..
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


DESKTOP CONSOLE Harbour | MinGW | DBF | CDX | FastReport | MySQL
DESKTOP VISUAL... Harbour | MinGW | Xailer | MariaDB Nativo | FastReport
MOBILE Android/IOS e WEB - Windev Mobile 22
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2370
Data de registro: 15 Nov 2006 19:21
Curtiu: 26 vezes
Mens.Curtidas: 138 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 30 Jul 2016 17:47

Numa época comprei direto dos EUA, mas depois era caro pra renovar.
O BAT que eu usava era este:

echo url de timestamp
echo http://timestamp.verisign.com/scripts/timstamp.dll
if "%1" == "" goto :semdados
:ok
d:\tools\signtool\signtool sign /v /d "http://www.jpatecnologia.com.br" /du "http://www.jpatecnologia.com.br" /t http://timestamp.verisign.com/scripts/timstamp.dll %1
goto :fim
:semdados
echo nao foi especificado arquivo a assinar
:fim


Essa ferramenta tinha download individual, não sei se ainda tem.
O readme dá uma idéia da idade da ferramenta.

Known Issue
-----------

Due to a difference in default keylengths between Windows Millennium/Windows XP and other
versions of Windows, the pvkimprt.exe utility may fail when used to import keys between
Millennium or XP and other Windows platforms. The following is a workaround:
...


Sacanagem que parece estar virando obrigatório isso.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11916
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 762 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 30 Jul 2016 17:56

Não lembro mais a senha, mas de qualquer jeito não vale mais.... rs

certificado.png
certificado.png (5.23 KiB) Visualizado 3321 vezes


Acho que quando fiz custou uns 200 reais, e depois pra renovar era mais de 1.000 reais.
Na época não percebi diferença no programa com ou sem assinatura.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11916
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 762 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 30 Jul 2016 18:01

Uma coisa a mais:

No Visual Studio Express, ele assina o EXE também.
Não tem como usar a mesma assinatura pra ser grátis?
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11916
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 762 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 30 Jul 2016 18:31

Depois de pesquisar assinatura grátis, cheguei nesta página que dizia de existir grátis:

http://stackoverflow.com/questions/1177552/code-signing-certificate-for-open-source-projects

Mas que agora é pago, cerca de 20 euros com taxas, mas não encontrei informação sobre quanto tempo vale o certificado.

Parece destinado a open source / programador individual

https://en.sklep.certum.pl/data-safety/code-signing-certificates.html
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11916
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 762 vezes

Assinar digitalmente um arquivo

Mensagempor asimoes » 30 Jul 2016 20:07

Uma alternativa é usar máquinas virtuais, porque até para compilar o harbour fica lento. O Bradesco e Itaú já tem aplicativos próprios de acesso ao banco, não usam mais aquele módulo de segurança da gas tecnologia.
►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)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4208
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 294 vezes
Mens.Curtidas: 210 vezes

Assinar digitalmente um arquivo

Mensagempor rochinha » 30 Jul 2016 21:19

Amiguinhos,

Eu cheguei a usar algum tutorial na internet para gerar o meu próprio certificado em minha máquina para registrar meus aplicativos, mas não tenho tanta certeza de que atuou de forma a dar mais segurança. Gerei os PEMs depois gerei o PFX e usei o signtool.exe para assinar.

Tem esse tal de kSign que é gratis, assina, mas enche o pacová abrindo o browser com seu site.

JoséQuintas
Encontrei o signtool.exe na pasta C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin em meu Windows Seven ThinPC. Mas ele faz parte do Microsoft .NET 2 SDK.

asimoes
Uma alternativa é usar máquinas virtuais, porque até para compilar o harbour fica lento. O Bradesco e Itaú já tem aplicativos próprios de acesso ao banco, não usam mais aquele módulo de segurança da gas tecnologia.

Na verdade, pelo menos o aplicativo do Itau é um browser modificado e um proxy seguro.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4221
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 511 vezes
Mens.Curtidas: 183 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 30 Jul 2016 22:12

Justamente são os aplicativos dos bancos que estão ferrando com tudo.
Eles causam mais problemas do que os programas de segurança anteriores.
Justamente os que confirmei foram Bradesco e Itaú.
Nas máquinas que possuem esses programas, depois de usar o banco, os aplicativos em Harbour passam a não atualizar a tela direito.

http://www.pctoledo.com.br/forum/viewtopic.php?f=47&t=16934

O chato é que a solução pareceu a adotada pelos políticos brasileiros.

Aliás... a informática tá phoda:

- pagar pra usar o computador, onde os softwares usam mais que nós
- pagar pra antivírus, pelo sistema operacional permitir vírus
- pagar pra fazer programa de computador (certificado), por problemas causados por outros
- no celular, pagar pra uso limitado, pra propaganda de outros usarem nosso tempo pago
- tentaram limitar a internet residencial, talvez porque o SPAM e outras propagandas consumam muita internet

e por aí vai....

E muitos ainda concordam com isso, o que é pior ainda....

Já que é interesse da Microsoft proteger o Windows, ELA deveria fornecer ferramenta pra isso, até mesmo vinculada à própria licença do Windows. O software, perigoso ou não, é criado em uma máquina com licença de Windows, que possui todos os dados do "dono".
Aliás... isso é o que ela já faz nos produtos dela, caso alguém ainda não saiba.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11916
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 762 vezes

Assinar digitalmente um arquivo

Mensagempor asimoes » 31 Jul 2016 08:23

Quintas,

Teve uma atualização do aplicativo desktop do itaú semana passada e comecei a notar lentidão, mas não estava assim antes. Isso é uma praga mesmo!
Achei essa janela segurança da instalação do Java.

Screen Shot 07-31-16 at 08.22 AM.PNG
►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)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4208
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 294 vezes
Mens.Curtidas: 210 vezes

Assinar digitalmente um arquivo

Mensagempor fladimir » 31 Jul 2016 10:13

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.

Resumindo, hj eu no meu micro não tenho nenhuma dessas ferramentas dos bancos q deixa tudo lento, fiz a dica acima (pesquisei na net, se achar o link posto depois, pq numa busca rápida não achei) e resolveu meu problema.

Bancos testados: Banco do Brasil, Bradesco e Sicredi.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


DESKTOP CONSOLE Harbour | MinGW | DBF | CDX | FastReport | MySQL
DESKTOP VISUAL... Harbour | MinGW | Xailer | MariaDB Nativo | FastReport
MOBILE Android/IOS e WEB - Windev Mobile 22
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2370
Data de registro: 15 Nov 2006 19:21
Curtiu: 26 vezes
Mens.Curtidas: 138 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 31 Jul 2016 19:51

Encontrei isto:
É exatamente o problema que vém acontecendo.

Inicialmente vou responder a seguinte dúvida: quais são os benefícios de assinar um aplicativo?

São diversos benefícios, vou listar aqui alguns que tiveram maior relevância para nossa empresa:
1.Recentemente tivemos um problema gravíssimo com nosso software Pet Shop Control. Vários clientes nos reportaram que ao longo do dia, por diversas vezes, todos ícones e botões do software sumiam (ficavam brancos). Acabamos descobrindo que o aplicativo de segurança bancário da GAS TECNOLOGIA, bloqueava nosso software, por ele não conter uma assinatura digital. Portanto, sempre que um cliente acessava um internet banking, o sistema de segurança era ativado e bloqueava o Pet Shop Control.
2.Sempre que lançávamos uma atualização do software via clickonce, quando os clientes colocavam para atualizar, aparecia uma mensagem do SmartScreen do Windows, tentando bloquear essa operação, falando que o computador poderia estar em risco.
3.Quando os clientes vão instalar o software sem assinatura digital, aparece que o Publisher é desconhecido. Isso passa uma imagem ruim para o usuário.
4.A maioria dos anti-vírus consideram aplicativos sem assinatura digital suspeitos, podendo bloquear determinadas operações.

Esses são os pontos mais importantes que identificamos.



http://www.devsol.com.br/blog/?p=458
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11916
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 762 vezes

Assinar digitalmente um arquivo

Mensagempor asimoes » 31 Jul 2016 20:11

Agora a pergunta que não quer calar: Quem vai arcar com os custos de um certificado?
►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)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4208
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 294 vezes
Mens.Curtidas: 210 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 31 Jul 2016 20:51

O mais barato é na Comodo mesmo, R$690,00 pra um ano.
Em outros lugares chega até quase R$1.500,00.
Aquele que mencionei baratinho, cerca de R$80 reais, não tá funcionando.... rs
Se entendi direito, isso é só pra Windows.

Já vi no Harbour 3.4 indícios do certificado do VSzakats.

2016-07-29 00:55 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
* config/win/mingw.mk
+ add support for code signing using `osslsigncode` tool
; NOTE: Code signature appended to executables will
-if for nothing else, due to the included
signed-timestamp- inherently render those files
non-deterministic.
Anyhow, determinism was already broken by
using MSYS2 _and_ updating it to the freshest
version of components before the build.

* package/mpkg_win.sh
+ rebuild code signatures for binaries created by the
GNU Make process. This is necessary because the
post-processing to make them deterministic
modifies the exe and breaks the original signatures.

* appveyor.yml
* package/vsz_01_code.p12.gpg -> package/vszakats.p12.gpg
* update code signing key

* package/mpkg_win_ci.sh
* clear HB_CODESIGN_KEY if decryption didn't take place or didn't succeed
* remove debug lines

* .travis.yml
+ try to install osslsigncode (for cross-builds)

* .gitattributes
- package/vsz_01_ca.crt
% remove root CA
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11916
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 762 vezes

Assinar digitalmente um arquivo

Mensagempor pauloa1 » 01 Ago 2016 09:57

Sinceramente não sei onde tudo isso vai parar....
Ta cada vez mais complicado...

Leonardo!
o link não ta abrindo.
Para assinar, usamos uma ferramenta da Microsoft chamada: SignTool, abaixo tem um link que demonstra todos os parâmetros dela:
https://msdn.microsoft.com/en-us/librar ... 64(v=vs.85).aspx

Uma dúvida!

Você só assina quando vai enviar o exe para o cliente?
Todas as dlls externas também precisam ?
Quando está alterando etc.. e compilando várias vezes ao dia não precisa assinar?

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?

Paulo
pauloa1
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 189
Data de registro: 25 Jun 2008 14:57
Cidade/Estado: Augusto Pestana-RS
Curtiu: 1 vez
Mens.Curtidas: 5 vezes

Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Itamar M. Lins Jr. e 13 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro