Página 3 de 12

Assinar digitalmente um arquivo

Enviado: 02 Ago 2016 21:09
por asimoes
Quintas,

Se não me engano o Rochinha criou um certificado, será que não é possível?

Assinar digitalmente um arquivo

Enviado: 03 Ago 2016 09:49
por HASA

Assinar digitalmente um arquivo

Enviado: 03 Ago 2016 14:28
por JoséQuintas
Segui as instruções, deu tudo certo.

Mas no final continua como não confiável, mesmo instalando o certificado.

Assinar digitalmente um arquivo

Enviado: 03 Ago 2016 14:39
por JoséQuintas
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.

Assinar digitalmente um arquivo

Enviado: 03 Ago 2016 14:55
por JoséQuintas
Faltou o resultado:
O certificado de confiança não é confiável.... rs
cert5.png

Assinar digitalmente um arquivo

Enviado: 03 Ago 2016 14:58
por asimoes
Quintas,

só falta descobrir o pulo do gato, rs

Assinar digitalmente um arquivo

Enviado: 03 Ago 2016 15:12
por JoséQuintas
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.

Assinar digitalmente um arquivo

Enviado: 03 Ago 2016 15:52
por JoséQuintas
Usei a criação indicada no site de assinar Delphi.
Um super-resumo é este:

Código: Selecionar todos

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.

Assinar digitalmente um arquivo

Enviado: 03 Ago 2016 16:15
por HASA
:'(
Srs. fui até onde o José foi e estamos sem resposta.
:(
HASA

Assinar digitalmente um arquivo

Enviado: 03 Ago 2016 19:51
por fladimir
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.

Assinar digitalmente um arquivo

Enviado: 03 Ago 2016 20:07
por asimoes
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

Assinar digitalmente um arquivo

Enviado: 04 Ago 2016 10:25
por JoséQuintas
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 ... cates.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

Assinar digitalmente um arquivo

Enviado: 06 Ago 2016 12:00
por JoséQuintas
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.

Assinar digitalmente um arquivo

Enviado: 07 Ago 2016 10:58
por asimoes
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?

Assinar digitalmente um arquivo

Enviado: 07 Ago 2016 13:26
por JoséQuintas
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"