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 asimoes » 02 Ago 2016 21:09

Quintas,

Se não me engano o Rochinha criou um certificado, será que não é possí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)
Avatar de usuário

asimoes
Colaborador

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

Assinar digitalmente um arquivo

Mensagempor HASA » 03 Ago 2016 09:49

Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 03 Ago 2016 14:28

Segui as instruções, deu tudo certo.

Mas no final continua como não confiável, mesmo instalando o certificado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18155
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 03 Ago 2016 14:39

Parece até prático.

cert1.png

cert2.png

cert3.png

cert4.png


E mesmo depois de instalar como autoridade raiz confiável, ou fornecedor confiável, ainda mostra como suspeito.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18155
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 03 Ago 2016 14:55

Faltou o resultado:
O certificado de confiança não é confiável.... rs

cert5.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18155
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Assinar digitalmente um arquivo

Mensagempor asimoes » 03 Ago 2016 14:58

Quintas,

só falta descobrir o pulo do gato, rs
►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: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 03 Ago 2016 15:12

Acabei de tentar uma gambiarra, deu certo para o que eu queria, mas.... certo demais.... rs

Alterei a data do computador e assinei com meu certificado antigo. Deu certo.

Mas ao corrigir a data do computador, mostra que o certificado usado pra assinar está vencido.... rs
No cliente aconteceria o mesmo.

Ou seja, caso seja bloqueado por causa do certificado, seus clientes obrigatoriamente precisariam de versão nova, ou pelo menos assinatura nova.
Tá aí um bloqueio por falta de pagamento,,,, rs
Mas que obriga ao SEU pagamento por um novo certificado.

Nota: ainda falta confirmar se a assinatura correta e verdadeira realmente faz diferença para os problemas que mencionei.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18155
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 03 Ago 2016 15:52

Usei a criação indicada no site de assinar Delphi.
Um super-resumo é este:

rem baixar openssl light e executar como administrador
c:\openssl\bin\openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem
c:\openssl\bin\openssl pkcs12 -export -out mycert.pfx -in mycert.pem -name "onome"
signtool sign /f mycert.pfx /p senha nomedoexe.exe


No outro site, ele diz pra primeiro criar um certificado raiz, e depois criar outro pra autenticação de servidor, assinado pelo primeiro.

Então, dúvidas:

- O certificado raiz pode ser usado pra assinar? se alterar isso será que funciona?
- Se funcionar, do lado do cliente, será aceita a instalação de um certificado gambiarra como raiz confiável?

Mas no modo gambiarra, é trocar a configuração de antivírus ou outra coisa, pra uma configuração de certificado, isso me parece continuar sendo outra gambiarra.

Se o problema ficar resolvido, é fazer oficial e cobrar adicional dos clientes, mais prático.
vai ser o que? 10 reais pra cada um ou menos?

O ponto principal, que ainda não vi, é se isso realmente vai resolver o problema de partes brancas no software depois de usar bancos.
Senão, vai ser só perda de tempo e/ou dinheiro.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18155
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Assinar digitalmente um arquivo

Mensagempor HASA » 03 Ago 2016 16:15

:'(
Srs. fui até onde o José foi e estamos sem resposta.
:(
HASA
Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

Assinar digitalmente um arquivo

Mensagempor fladimir » 03 Ago 2016 19:51

na mensagem do próprio certificado fala: "para ativar a confiabilidade, instale no repositório de autoridades confiáveis..."

talvez se conseguirmos isso resolve o problema.
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”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Assinar digitalmente um arquivo

Mensagempor asimoes » 03 Ago 2016 20:07

Tem um exemplo no harbour 3.4 na pasta contrib\hbhttpd\tests que cria um certificado, alguém pode conferir?
Atualizei o harbour agora e vi esse exemplo.

C:\Projetos_GIT\harbour-fork\contrib\hbhttpd\tests

Vejam o arquivo mkcert.sh
►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: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 04 Ago 2016 10:25

An intermediate certificate is also required to be in your keychain to ensure that your certificate is issued by a certificate authority.


https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

Minha suspeita estava certa.
Precisa de um certificado que foi emitido por autoridade confiável.
Parece piada, mas não pode ser o próprio certificado da autoridade, porque não consta quem foi que emitiu.... rs
Então será necessário criar DOIS certificados.

Postaram dois links sobre criar assinatura.
Um deles mostra como criar o certificado confiável, mas isso é só a metade.
O outro mostra como criar o segundo certificado assinado pelo primeiro.

No final, vamos precisar de 3 certificados, apesar de existirem 4.... rs

Certificado 1: autoridade raiz, a ser instalado na nossa máquina, pra criar certificado
Certificado 2: nosso certificado, a ser instalado na nossa máquina, pra assinar
Certificado 3: autoridade raiz pra conferência, a ser instalado no cliente
Certificado 4: Nosso certificado, a ser usado pra conferência, que já consta na assinatura

Não poderemos distribuir nem o certificado 1 nem o 2, senão estaremos distribuindo pra qualquer um assinar.

Existe o repositório de certificados do usuário, e o da máquina.
Dependendo da finalidade, é instalado num lugar diferente, por exemplo pra drivers.
É o que entendi até agora.

Supondo que o certificado emitido pela COMODO exija instalar certificado da COMODO....
Dá quase no mesmo de criar nosso próprio certificado.
Só será interessante se vier pré-instalado no Windows.

O que gera outra dúvida: talvez um certificado poderia gerar novos certificados vinculados a ele, afinal, tornou-se uma autoridade confiável.

É uma coisa de doido.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18155
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 06 Ago 2016 12:00

Pensei numa possibilidade:

Um certificado pode ser assinado por outro, como mencionado num dos links apresentados antes.

Não sei se um certificado de código poderia liberar sub-certificados.

Desta forma, seriam criados certificados vinculados ao existente.

Mas ok, já temos várias possibilidades que podem ter custo menor.

Agora só falta descobrir qual das opções resolve qual questão.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18155
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Assinar digitalmente um arquivo

Mensagempor asimoes » 07 Ago 2016 10:58

Quintas,

Para distribuição do exe basta que ele esteja assinado, pelo menos foi isso que o Leonardo informou a pergunta é tanto faz ele ser executado na máquina do usuário ou no servidor?
►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: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Assinar digitalmente um arquivo

Mensagempor JoséQuintas » 07 Ago 2016 13:26

A assinatura digital, seja EXE ou XML, já inclui o certificado.
Então o arquivo é "auto-verificável".
Isso garante que o EXE não foi modificado, e já fornece o certificado pra checagem.

Mas quem garante o certificado?
É a autoridade "master".
E essa autoridade "master" tem que estar no estoque de certificados de autoridades confiáveis do Windows.

Se for um certificado fabricado, precisa instalar o "master" nas máquinas aonde vai rodar o aplicativo, em TODAS.
Se for um certificado oficial, a autoridade já está instalada, atualizada até pelo próprio Windows.

Lembre-se que, se fosse simples, bastaria que os hackers fizessem a mesma coisa.
Bastaria re-assinar o EXE com vírus.

Além disso, tem as máquinas com domínio, com restrições, etc. que podem impedir de ficar instalando certificados particulares.

Lembre-se também do seu próprio post, com a configuração do Java: "somente certificados de autoridades confiáveis"
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18155
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Anterior Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 19 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
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro