Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: bonmario - Maggio 10, 2025, 07:30:44 am

Titolo: Firmare eseguibile
Inserito da: bonmario - Maggio 10, 2025, 07:30:44 am
Ciao a tutti,
scusate se non sarò preciso, ma sono cose abbastanza nuove per me ...

Ieri, poco prima di uscire dal lavoro, ho scoperto che dopo un aggiornamento dell'antivirus aziendale, alcuni miei eseguibili creati con Lazarus vengono cancellati perché "potenzialmente pericolosi".
Ho chiesto all'Ufficio Tecnico, e mi hanno detto che uno dei problemi è che gli eseguibili non sono firmati, e l'altro è che fanno operazioni "potenzialmente pericolose".
Al momento non so altro ...
Tenete conto che uno dei programmi in questione è quello che uso per farmi i backup da circa 20 anni, e che mi ha salvato diverse volte, sarebbe un dramma non poterlo usare.
P.S. Quando l'ho fatto presente, mi hanno risposto che per i backup devo usare OneDrive  :-[ :'(

Domanda: per firmare l'eseguibile, basta compilare i dati in "Informazioni di versione", che si trova nelle opzioni del progetto?

Grazie, Mario
Titolo: Re:Firmare eseguibile
Inserito da: schumi - Maggio 10, 2025, 09:30:28 am
ciao,
mi pare che si intenda aggiungere una chiave personale, come la firma dei PDF. Non l'ho mai fatto ma prova a cercare SignTool.

Per l'antivirus basta che vengano inserite le esclusioni in base alle directory e nome file.
Titolo: Re:Firmare eseguibile
Inserito da: DragoRosso - Maggio 10, 2025, 03:08:03 pm
Ciao, io firmo normalmente i programmi perchè da tempo, come per te, gli uffici IT dei clienti li vogliono firmati.

Da quest'anno ho la firma digitale EV (Extended Validation) che consente di firmare anche i driver di Windows.
Costa un botto, oltre ad avere un percorso amministrativo per il rilascio non proprio semplice (ci vuole circa 1 mese di tempo per il primo rilascio e una infinità di "domande" / "risposte")

Come privato puoi solo optare per una firma OV che costa meno e ha un valore di firma un pò "minore" ma comunque sufficiente a fare passare i controlli ai tuoi software (la EV dà un punteggio maggiore allo scan degli antivirus, garantendo una migliore affidabilità, mentre la OV dà un punteggio più basso). Esiste sia con token USB fisico che su Cloud (in questo caso ha la necessità di avere Internet disponbile al momento della firma).

Il software firmato e dotato di un marcatura temporale (sono gratutite fortunatamente per la marcatura degli eseguibili) non scade mai, anche se la firma risulta scaduta (ovviamente non deve essere revocata).

mi pare che si intenda aggiungere una chiave personale, come la firma dei PDF. Non l'ho mai fatto ma prova a cercare SignTool.

Il processo e l'"oggetto" sono simili, ma la firma è diversa. La firma digitale qualificata non è sufficiente per la firma degli eseguibili (la firma è di tipo SHA1 nel caso dei programmi ed è "obsoleta" mentre è SHA256 per i PDF ed è OK).

Per l'antivirus basta che vengano inserite le esclusioni in base alle directory e nome file.

Se è sotto gli IT, non gli lasceranno aggiungere una esclusione ovviamente.

Comunque poi il processo di firma è semplice tramite "signtool" di Microsoft come indicato da @schumi o altri tools simili di terze parti.
Qualsiasi eseguibile che io generi (in questo caso con Delphi), parte uno script che lo firma (ammesso che abbia il token USB inserito nel PC).