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

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Assinar digitalmente um arquivo

Mensagem por JoséQuintas »

Mais uma questão pra considerar:

Depois que vence o certificado, como fica o programa assinado?

Usando a tradicional pergunta de clientes:
Se você morrer, seu programa morre junto porque o certificado venceu?
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/
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Assinar digitalmente um arquivo

Mensagem por rochinha »

Amiguinhos,
Se você morrer, seu programa morre junto porque o certificado venceu?
Acho que a assinatura não iria travar o aplicativo, apenas não estaria mais seguro pela certificação.
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.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Assinar digitalmente um arquivo

Mensagem por JoséQuintas »

Postei também no harbour-users e no uninfe, onde este último tem pessoal de várias linguagens de programação diferentes.
Por enquanto veio uma resposta no uninfe, que foi o que eu imaginei:
Assinando com time stamp ele continua válido mesmo após o certificado vencer, pois o time stamp indica que a assinatura ocorreu enquanto o certificado era válido.
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/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Assinar digitalmente um arquivo

Mensagem por asimoes »

Pessoal,

Uma pergunta: esse problema é restrito ao harbour ou acontece também com o delphi, c#, vb etc?
►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 do usuário
FFreire
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 19 Mai 2013 16:16
Localização: Andirá-PR / Itaporanga-SP

Assinar digitalmente um arquivo

Mensagem por FFreire »

Prezados...

Tenho também, como todos, os problemas conflitantes com os "agentes de segurança" dos bancos e realmente geram problemas, tais como, ícones que desaparecem, travam no fechamento do sistema, tornam extramente lentos as comunicações cliente/servidor (isso por conta do "filtro" que colocam na configuração da rede, podem olhar lá tem o "Gas Tecnologia Filter" ou algo assim instalado lá em propriedades da Rede Local)

Mas andei lendo sobre o assunto hoje e vou tentar relatar aqui o que entendi, se é que entendi...

Se comprarmos o "Code signing" ou seja o assinador de código, o que teremos que fazer é praticamente a mesma coisa que fazemos com o certificado digital para emissão de NFe/CTe, será gerado um certificado digital para esse fim específico, iremos instalar no sistema operacional e exportaremos gerando .pfx, dai iremos, toda a vez que gerarmos um EXE final, usar um aplicativo qualquer, seja ele, signtool ou um tal addss, que irá assinar o nosso EXE final, gerando assim um EXE com certificação reconhecida e dessa forma, estaremos imunes aos "agentes de segurança", pois teremos um "órgão oficial" validando nosso software. Não necessitaremos de instalar nada no cliente, pois o certificador oficial, já vem no pacote do sistema operacional, simples assim !

Eu vi um da COMODO e custa R$ 590,00/ano, acho que não é tão caro assim, cerca de 49,00/mês, bem falo por mim, que não costumo desenvolver de graça ou quase de graça como já vi alguns relatos em outros fóruns, onde o "babaca" fornece software a 50,00/mês, para mim quem não valoriza o seu próprio trabalho, tem que catar lata para vender no reciclado, o próprio José Quintas deu uma lição num cara que outro dia estava reclamando "que quase apanhou do cliente, porque ia passar a cobrar 70,00 ao invés dos míseros 50,00 mensais", enfim, voltando ao assunto, foi o que entendi.

Agora, acredito que não seja possível, nós mesmos, gerar um certificado com certificação oficial, acho que não é tão simples, pois como já li aqui, não tem funcionado, mas acho que esse seja um assunto que devemos nos aprofundar, pois é desleal a disputa, é o banco dizendo que nosso software não é seguro.

Se alguém ja adquiriu o "Code signing", pediria que relatasse ai sua experiência e se resolveu a questão com relação a esse problema !
Harbour 3.2.0+MiniGui Extended 16.02+BCC5 / HWGdebug / SIXCDX / PostgreSQL 9.5 / LetoDB 2.15 / Java8
fabiano@ffsoft.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Assinar digitalmente um arquivo

Mensagem por JoséQuintas »

Durante este tópico postei um site como referência ao assunto, e era programa NET.
O problema que ele relatou com NET foi igual ao que eu tive, e já foi postado por aqui, referente a tela do aplicativo ficar com "buracos brancos".

Justamente por causa dele arrisquei a compra do certificado.
Também porque uma das mudanças do Viktor no Harbour 3.4 é sobre assinar programa, o que indica que isso de assinatura veio pra ficar.

Até agora os relatos são de que o problema desapareceu.

Quem tiver certeza de uma situação que dá o problema e quiser testar um programa assinado:
http://www.jpatecnologia.com.br/arquivos/jpa.exe

É criar uma pasta, baixar o programa e executar.
Execute dentro da pasta, porque o programa cria arquivos e subpastas.
Pra teste pode ser usado o usuário CT e senha em branco.
Depois é só apagar a pasta e tudo que estiver dentro.

A partir do programa, em propriedades, dá pra ver se está assinado e informações do certificado.
E a assinatura inclui até meu email, isso não é opcional, é a informação que foi cadastrada pra obter o certificado.

Ou seja... programas assinados também servem pra ter email coletado e enviar spam.... rs
certificado.png
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Assinar digitalmente um arquivo

Mensagem por JoséQuintas »

o próprio José Quintas deu uma lição num cara que outro dia estava reclamando "que quase apanhou do cliente, porque ia passar a cobrar 70,00 ao invés dos míseros 50,00 mensais",
Na verdade não foi nem tanto pelo preço.
Justamente a reclamação era dele não ser reconhecido como um profissional.
Ele comentou que ficou discutindo com a cliente, na loja dela, com todo mundo olhando, e quase apanhou.
E durante a discussão ameaçou que iria colocar no aplicativo pra parar de funcionar.

Meu comentário foi sobre esse comportamento.
Pra ser reconhecido como profissional, é necessário se comportar como profissional.
Comentei apenas pra mostrar que ele mesmo estava gerando o motivo pra não ser reconhecido como tal.
Foi mais pra chamar atenção do erro, e tudo indica que ele entendeu assim, como sendo pra mostrar o erro.
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/
Avatar do usuário
FFreire
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 19 Mai 2013 16:16
Localização: Andirá-PR / Itaporanga-SP

Assinar digitalmente um arquivo

Mensagem por FFreire »

Prezados...

Só para comentar o off topic uninfe ai citado, acho que tem pessoas que são tão negativas que mesmo nas melhores hipóteses, conseguem inverter e piorar as coisas !

Quintas, eu baixei o seu demo aqui e vi que esta assinado, executei ele e realmente não deu nenhum problema, depois tentei em outro lugar onde havia instalado os "guardiões" e também aparentemente não deu erro algum, mas gostaria de fazer um teste com o seu .EXE sem assinatura, pois tem não como saber onde daria o problema e se daria o problema sem assinatura, entende. Seria possível ?
Harbour 3.2.0+MiniGui Extended 16.02+BCC5 / HWGdebug / SIXCDX / PostgreSQL 9.5 / LetoDB 2.15 / Java8
fabiano@ffsoft.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Assinar digitalmente um arquivo

Mensagem por JoséQuintas »

Aqui sem assinatura:

http://www.jpatecnologia.com.br/arquivos/jpa_nao.exe

Também ainda não estou 100% convencido.... rs
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Assinar digitalmente um arquivo

Mensagem por JoséQuintas »

Estou fazendo mais testes.

Dá pra assinar o EXE com ou sem time-stamp - carimbo de assinatura.

Teste1:
Peguei meu certificado vencido há alguns anos.
Alterei a data do computador, e assinei SEM time-stamp.
Tudo ok.
Ao atualizar a data do computador, mostra que o certificado expirou, e a assinatura não é confiável.

Teste2:
Peguei o certificado atual, e assinei COM time-stamp
Alterei a data do computador pra 2020.
Demorou pra dar resposta, mas mostrou como assinatura e certificado válidos.
Tudo indica que foi usada a url de checagem de time-stamp.

Conclusão:
nenhuma ainda.
Se checar o horário de internet, o certificado está dentro da validade.
Então não dá pra afirmar que vale no futuro.
Daqui um ano talvez tenha a resposta, ou se eu encontrar algum arquivo antigo assinado.

Novas dúvidas:
O que aconteceria se a url de checagem não estivesse mais disponível?
Será que precisamos nos preocupar com isso?

Mas acabo de pensar numa coisa muuuuito interessante, que pode explicar muuuita coisa:
Se para um certificado velho, há a checagem do time stamp na internet ....
Isso explica a necessidade de ficar atualizando o Windows, e a lentidão em muitas coisas.
Até mesmo porque o Windows deixa de fazer coisas, quando a data/hora estão erradas.
Talvez até a validade do Windows acabe ficando relacionada com as assinaturas.


Pois é... a coisa só complica.
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/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Assinar digitalmente um arquivo

Mensagem por asimoes »

Quintas,

A assinatura está vinculada a uma url ? o que acontece se o usuário por algum motivo ficar sem provedor de acesso a internet, será que o antivirus ou plugin de banco vão atrapalhar o funcionamento da 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)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Assinar digitalmente um arquivo

Mensagem por asimoes »

O antivirus e os plugins de banco verificam se a assinatura do software está vencida?
►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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Assinar digitalmente um arquivo

Mensagem por JoséQuintas »

Isso tudo é novo pra mim também.
Ainda não sei qual pode ser a reação em tudo isso.

À primeira vista, o uso da internet pra validar horário foi só quando o horário do computador não foi suficiente.
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/
Avatar do usuário
FFreire
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 19 Mai 2013 16:16
Localização: Andirá-PR / Itaporanga-SP

Assinar digitalmente um arquivo

Mensagem por FFreire »

Quintas...só para entender...quando instalado os "guardiões", o seu EXE sem assinatura travava ? onde ? vi que usa a parte gráfica mais nos botões, não aparecia os ícones dos botões ? pergunto isso, porque testei os dois EXE que vc mandou e ficaram iguais, ou seja, sem problemas... vc chegou a ver algum problema em alguma situação ?
Harbour 3.2.0+MiniGui Extended 16.02+BCC5 / HWGdebug / SIXCDX / PostgreSQL 9.5 / LetoDB 2.15 / Java8
fabiano@ffsoft.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Assinar digitalmente um arquivo

Mensagem por JoséQuintas »

Sim, como se tivessem retângulos brancos sobre as telas.
Acabava cobrindo parcial o conteúdo da tela do aplicativo, impedindo o uso..
Cheguei a ver pessoalmente isso acontecendo.

Os usuários aonde acontecia o problema disseram que não acontece mais.
Ainda estou acompanhando pra ver se realmente sumiu o problema, ou se foi só coincidência.

Não alterei mais nada no aplicativo, continuo usando compactação, e mesmos recursos de antes.
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/
Responder