Newsgroup: it.comp.lang.visual-basic
Titolo: Certificare file EXE

Ciao a tutti,
premetto che ho una confusione infinita nella mia testa in merito a 
questo argomento.
 
Ho realizzato alcuni applicativi per AutoCAD che vengono installati 
grazie ad un pacchetto di installazione realizzato con InnoSetup.
 
Alla fine il pacchetto di installazione consiste in un file EXE che 
carico periodicamente aggiornato nel mio sito web su Aruba.
Purtroppo gli utenti che lo scaricano si trovano un messaggio emesso da 
Windows che gli dice che l'autore è sconosciuto.
 
Per questo motivo dopo svariate ricerche ho ottenuto un certificato per 
14 giorni di prova da questo sito web:
https://www.leaderssl.it/products/code_signing
 
 
Quello che ho ricevuto è un file "User.crt"....
Che ci faccio questo file?
 
Esiste qualche guida passo-passo che mi spiega come certificare i miei 
file EXE a partire dal file "User.crt"?
 
Grazie a tutti in anticipo.

Lupo ha scritto:

Vado a memoria: con CertMgr aggiungi il certificato al tuo
store (dovrebbe bastare un doppio click sul file CRT e poi
importarlo dal manager), poi con signtool devi fare (TUTTO
SU UNA LINEA, mi raccomando):
 
Signtool sign /v /n TuoNomeNelCertificato /t 
http://timestamp.verisign.com/scripts/timstamp.dll
 filedacertificare.exe
 
Bye, G.

 Bye, G.
 
 
Ciao,
innanzitutto grazie per la tua risposta.
 
Cosa intendi per aggiungi il certificato al tuo "store"? quale "store"?
 
Questo è il flusso di lavoro che io ho in testa, ma probabilmente è 
qualcosa di sbagliato:
 
1. Nel mio pc, quello che utilizzo per lo sviluppo e la creazione del 
file EXE, utilizzo uno strumento (CertMgr ?, Signtool ??, o cosa????) 
per applicare il certificato al file EXE
 
2. Successivamente prendo il file EXE (ora certificato), e mediante 
FileZilla lo caricato nello spazio FTP del mio sito web.
 

 FileZilla lo caricato nello spazio FTP del mio sito web.
 
Ok.
 
 
Guarda, spiego la cosa con un parallelo molto superficiale
e non del tutto preciso, ma,
spero, comprensibile.
 
Il certificato somiglia a una carta d'identità: te la rilascia
l'entità di certificazione (te la stampa il comune).
 
La devi prendere e mettere in archivio (ritirarla e metterla
nel portafogli). Ora puoi usarla per firmare i tuoi eseguibili
(documenti ufficiali) fino alla scadenza.
 
Con MakeCert puoi anche creartene uno da solo (così come puoi
stamparti da solo una carta d'identità), ma se non è certificato
da un'entità attendibile (timbrata dal comune su carta
filigranata) nessuno la accetterà.
 
Bye, G.

 
 
Ciao,
innanzitutto grazie per il prezioso aiuto.
Finalmente sono riuscito a fare qualcosa...
 
Ho acquistato ed ottenuto il certificato da COMODO.
Sono riuscito ad applicarlo alla mia applicazione EXE.
Ora, se faccio doppio-clic sul file exe io posso vedere "Autore 
certificato" ed il mio nome.
 
Successivamente ho effettuato l'upload del file sul mio sito web, e il 
download da esso.
Purtroppo quando faccio doppio-clic sul file scaricato dal mio sito web 
continua a comparire il messaggio "SmartScreen di Windows Defender ha 
impedito ..... ecc. ecc,"
ed anche l'antevirus ha emesso un avvertimento.
 
Perchè succede questo con il file certificato?
 

 Perchè succede questo con il file certificato?
 
Quello è normale, succede anche con i file firmati da Microsoft :-)
 
Ma tu stai facendo scaricare direttamente l'eseguibile e lo fai
sostituire a mano dall'utente, oppure hai creato un
installer per il solo aggiornamento?
 
Bye, G.

 
 
 
IO ho realizzato un pacchetto di installazione in formato EXE, che 
pubblico nel mio sito web.
Periodicamente l'applicazione necessità di un aggiornamento per 
correggere bug segnalati o implementare nuove funzioni, in questo caso 
ricreo il pacchetto di installazione completo e lo ripubblico nel sito web.
Quindi l'installer contiene sempre il pacchetto completo.
 

 Quello è normale, succede anche con i file firmati da Microsoft :-)
 
Ok ho avuto una risposta dal fornitore del certificato.
 
Io ho acquistato il certificato "Comodo Code Signing":
https://www.leaderssl.it/products/code_signing
 
 
con il quale la reputazione si acquisisce nel tempo.
Vorrei capire, se la reputazione acquisita, dipende:
- dalla singola applicazione (qualsiasi versione),
- oppure dalla singola versione del software; quindi quando pubblico un 
aggiornamento/upgrade essa riparte da zero
- oppure se è legata al singolo certificato, quindi una volta acquisita 
una buona reputazione, tutte le applicazioni EXE certificate con quel 
certificato avranno la stessa reputazione, indipendentemente dalla 
versione, ecc.
 
 
In alternativa mi hanno consigliato di acquistare il Certificato Entrust 
Code Signing, il quale però costa 4 volte di più!:
https://www.leaderssl.it/suppliers/entrust/products/code_signing?c=ev&gclid=CjwKEAjw-LLKBRCdhqmwtYmX93kSJAAORDM6EOt8mXMFBZQ2-vg7nSwsDNHi8PNa7sCNxLZJFcbhMhoCHP_w_wcB&keyword=Ev+code+signing
 
 
in questo caso non dovrebbe comparire il messaggio SmartScree fin da subito.
 
Tu hai qualche info/conferma in merito?
 
Grazie in anticipo.

 Grazie in anticipo.
 
Sembra il mercato delle indulgenze!
 
-- 
Greg

 
 
Cosa intendi?
 


Dico che non mi sembra il modo corretto di certificare di essere conosciuti!
 
-- 
Greg

 Perchè succede questo con il file certificato?
 
Mi rispondo da solo....
dopo qualche giorno il file EXE è diventato "affidabile" e non compare 
più la schermata "SmartScreen", inoltre anche file EXE caricati 
successivamente risultano essere affidabili.
 
Pertanto ne deduco che la reputazione è assegnata al certificato e non 
al singolo file EXE.
 

 Pertanto ne deduco che la reputazione è assegnata al certificato e non al singolo file EXE.
 
 
C'è un modo per recuperare in rete i due file SignTool e e CertMgr senza doversi scaricare l'intero sdk?
 
-- 
Greg