Assinar digitalmente um arquivo
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
Existe certificado especial pra assinar programa.
Sinceramente não sei se e-CNPJ vale pra isso.
Sinceramente não sei se e-CNPJ vale pra isso.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
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/
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/
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Assinar digitalmente um arquivo
Amiguinhos,
Quando eu estava com meu certificado digital ativo eu assinava o meu aplicativo. Notei leve diminuição de bloqueios no Windows, mas nada relevante. Era um certificado A1, não sei quanto ao A3.
Quando eu estava com meu certificado digital ativo eu assinava o meu aplicativo. Notei leve diminuição de bloqueios no Windows, mas nada relevante. Era um certificado A1, não sei quanto ao A3.
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: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
Vê se consegue sem certificado.
Rotina saindo do forno, do primeiro teste..... rs
Ainda não testei remover algumas partes.
Aqui acabou usando o certificado de assinar código.
Rotina saindo do forno, do primeiro teste..... rs
Ainda não testei remover algumas partes.
Aqui acabou usando o certificado de assinar código.
Código: Selecionar todos
#define CAPICOM_CURRENT_USER_STORE 2
#define CAPICOM_MY_STORE "My"
#define CAPICOM_STORE_OPEN_READ_ONLY 0
#define URL "http://timestamp.verisign.com/scripts/timstamp.dll"
PROCEDURE Main
LOCAL oStore, oSignedCode, oSigner
oStore := win_OleCreateObject( "CAPICOM.Store" )
oSignedCode := win_OleCreateObject( "CAPICOM.SignedCode" )
oSigner := win_OleCreateObject( "CAPICOM.Signer" )
oStore:Open( CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_READ_ONLY )
oSignedCode:FileName := "d:\temp\minigui.exe"
oSignedCode:Description := "José M. C. Quintas"
oSignedCode:DescriptionURL := "www.josequintas.com.br"
? oSignedCode:Sign( oSigner )
? oSignedCode:TimeStamp( URL )
? oSignedCode:Verify()
RETURN
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
Mais testes funcionou assim, agora é confirmar se aproveitou a MyStore que estava aberta, ou se realmente precisa abrir.
Veio de um exemplo da Capicom.
Se não funcionar este último, então é o anterior, abrindo o armazenamento de certificados primeiro.
Veio de um exemplo da Capicom.
Se não funcionar este último, então é o anterior, abrindo o armazenamento de certificados primeiro.
Código: Selecionar todos
#define URL "http://timestamp.verisign.com/scripts/timstamp.dll"
PROCEDURE Main
LOCAL oSignedCode, oSigner
oSignedCode := win_OleCreateObject( "CAPICOM.SignedCode" )
oSigner := win_OleCreateObject( "CAPICOM.Signer" )
oSignedCode:FileName := "d:\temp\test2.exe"
oSignedCode:Description := "José M. C. Quintas"
oSignedCode:DescriptionURL := "www.josequintas.com.br"
? oSignedCode:Sign( oSigner )
? oSignedCode:TimeStamp( URL )
? oSignedCode:Verify()
RETURN
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/
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/
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Assinar digitalmente um arquivo
Chefe,rochinha escreveu:Amiguinhos,
Ainda não entendi o porque da compra de um certificado como o da COMODO para assinar nossos softwares. Os certificados e-CNPJ não servem?
Pior que Não serve, já tentei, eles são muito safados, cada um tem um objetivo. Esse das NFe e etc... é só com o e-cnpj ou e-nfe, que não serve para assinar aplicativo.
Da o seguinte erro:
SignTool Error: No certificates were found that met all the given criteria.
Aqui tenho 4 certificados
3 da empresa e 1 pessoa física
Empresa
1=CODE SIGNING ( para assinar aplicativos/sistemas )
2=e-CNPJ ( para emissão de nota fiscal e registros da contabilidade )
3=WILDCARD SSL ( para poder nos sites aparecer como seguro( https ), isso por que os servidores http de alguns domínio são gerenciado por nós )
Pessoa física
1=para imposto de renda, representações com advogado e cartório.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
O novo teste:
Um nome conhecido aparece, além de JPA Tecnologia e COMODO... esquisito... rs
Se o TIMESTAMP garante a data da assinatura, ele teria que garantir que a data não foi modificada.
E se ele garantir que a data não foi modificada, ele também garantiria que o EXE não foi modificado.
Quanto mais a gente tenta entender, menos a gente entende.... exceto a parte de que sempre nós pagamos e alguém recebe...
Ou vamos mais longe:
Se o Windows é comprovado pela Microsoft em nome do usuário, seria só o Windows assinar e estaria comprovado de onde saiu....
Código: Selecionar todos
#define URL "http://timestamp.verisign.com/scripts/timstamp.dll"
PROCEDURE Main
LOCAL oSignedCode, oSigner, oElement
oSignedCode := win_OleCreateObject( "CAPICOM.SignedCode" )
oSigner := win_OleCreateObject( "CAPICOM.Signer" )
oSignedCode:FileName := "d:\temp\test2.exe"
oSignedCode:Description := "José M. C. Quintas"
oSignedCode:DescriptionURL := "www.josequintas.com.br"
? oSignedCode:Sign( oSigner )
? oSignedCode:TimeStamp( URL )
? oSignedCode:Verify()
FOR EACH oElement IN oSignedCode:Certificates
? oElement:SubjectName
NEXT
RETURN
Pior que fiquei confuso.NIL
NIL
NIL
CN=COMODO RSA Code Signing CA, O=COMODO CA Limited, L=Salford, S=Greater Manchester, C=GB
CN=J.P.A Tecnologia Ltda. ME., O=J.P.A Tecnologia Ltda. ME., STREET=Rua xxxxxx, L=Sπo Paulo, S=Sπo
Paulo, PostalCode=03676-080, C=BR
CN=Symantec Time Stamping Services Signer - G4, O=Symantec Corporation, C=US
CN=Symantec Time Stamping Services CA - G2, O=Symantec Corporation, C=US
Se o TIMESTAMP garante a data da assinatura, ele teria que garantir que a data não foi modificada.
E se ele garantir que a data não foi modificada, ele também garantiria que o EXE não foi modificado.
Quanto mais a gente tenta entender, menos a gente entende.... exceto a parte de que sempre nós pagamos e alguém recebe...
Ou vamos mais longe:
Se o Windows é comprovado pela Microsoft em nome do usuário, seria só o Windows assinar e estaria comprovado de onde saiu....
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
Só pra completar:
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
O que começou a acontecer de uns tempos pra cá foi certas vezes a assinatura não funcionar.
Não sei se isso faz parte do alerta de vencimento....
Mas agora com essa rotina vai dar pra verificar, pra eu não ter que ficar conferindo manualmente, o que seria péssimo.
Não sei se isso faz parte do alerta de vencimento....
Mas agora com essa rotina vai dar pra verificar, pra eu não ter que ficar conferindo manualmente, o que seria péssimo.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
Quase lá....
Chegou o arquivo .CER, mas falta o .PVK com a private key.
Já não lembro mais de onde vém esse outro.
Alguém sabe dizer?
Chegou o arquivo .CER, mas falta o .PVK com a private key.
Já não lembro mais de onde vém esse outro.
Alguém sabe dizer?
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/
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/
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Assinar digitalmente um arquivo
Amiguinhos,
Até onde sei tanto .CER como .PFX podem conter os dados do certificado, sendo que a diferença é que a chave no caso do .CER fica residente fora dele, no token, cartão, ou este arquivo .PVK enquanto que no PFX ficam juntos.
Faça uma inclusão no seu teste, assim:
Até onde sei tanto .CER como .PFX podem conter os dados do certificado, sendo que a diferença é que a chave no caso do .CER fica residente fora dele, no token, cartão, ou este arquivo .PVK enquanto que no PFX ficam juntos.
Faça uma inclusão no seu teste, assim:
Código: Selecionar todos
oSignedCode:DescriptionURL := "www.josequintas.com.br"
// --------------------
oCerts1:=oStore:Certificates()
oCerts2:=oCerts1:Select("Selecione o certificado desejado","Selecione o certificado",.F.)
IF oCerts2:Count() > 0
oCerts3 := oCerts2:Item(1)
//
oSigner := TOleAuto():New( "CAPICOM.Signer" )
oSettings := TOleAuto():New( "CAPICOM.Settings" )
oAssinatura := TOleAuto():New( "CAPICOM.SignedData" )
//
oSigner:Certificate := oCerts2:Item(1)
oSettings:EnablePromptForCertificateUI := .t.
EndIf
// --------------------
? oSignedCode:Sign( oSigner )
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: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
Deixei anotado aqui.
Li alguns faqs, a private key é gerada no momento da solicitação, e quando chega o .cer, é gerado o PFX.
Quando é usado outro navegador ou outra máquina, fica sem a private key.
Não lembro dela ter sido gerada.
Tem limitações também:
- Não serve o Edge
- Não funcionou no Internet Explorer
Sobrou chrome e Firefox.
Encontrei lá no site de pedido, que num determinado navegador não é gerada a private key, e que deveria ser solicitada novamente.
Já fiz isso, agora novamente aguardar.
Sei lá o que acontece no Windows 10: Se não serve o Edge, e o Internet Explorer não faz o que deveria...
Dobrou os navegadores, mas os dois juntos não valem por um.... rs
Código: Selecionar todos
PVKIMPRT "d:\tudo\signtool\mycredentials.spc" "d:\tudo\signtool\jpateckey.pvk"
Quando é usado outro navegador ou outra máquina, fica sem a private key.
Não lembro dela ter sido gerada.
Tem limitações também:
- Não serve o Edge
- Não funcionou no Internet Explorer
Sobrou chrome e Firefox.
Encontrei lá no site de pedido, que num determinado navegador não é gerada a private key, e que deveria ser solicitada novamente.
Já fiz isso, agora novamente aguardar.
Sei lá o que acontece no Windows 10: Se não serve o Edge, e o Internet Explorer não faz o que deveria...
Dobrou os navegadores, mas os dois juntos não valem por um.... 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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
Aos trancos e barrancos mas finalmente concluído.
Não serve Edge, Explorer ou Google Chrome.
Só no Firefox mesmo pra baixar o certificado novo.
Já assinando com o novo.
Não serve Edge, Explorer ou Google Chrome.
Só no Firefox mesmo pra baixar o certificado novo.
Já assinando com o novo.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Assinar digitalmente um arquivo
É tudo doido. Parece que tão inventando tanta segurança que daqui a pouco não dá pra fazer nada.
http://certhelp.ksoftware.net/support/s ... n-windows-
http://certhelp.ksoftware.net/support/s ... n-windows-
CHROME, SAFARI, EDGE and OPERA WILL NOT WORK with the code signing export process any longer (it now lacks the proper controls to generate and handle the private key). As of June 2016, our order system will not let anyone submit using an unsupported browser. This has nothing to do with support of signatures created with your certificate, it is just a limitation of the key generation at order time. Once exported, all certificates work in all browsers and is completely portable.
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/
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/
