* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Maggio 12, 2025, 11:38:48 pm

Inserisci il nome utente, la password e la durata della sessione.

167 Visitatori, 0 Utenti

Autore Topic: Firmare eseguibile  (Letto 491 volte)

bonmario

  • Hero Member
  • *****
  • Post: 1411
  • Karma: +11/-1
Firmare eseguibile
« il: 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

schumi

  • Full Member
  • ***
  • Post: 229
  • Karma: +1/-0
Re:Firmare eseguibile
« Risposta #1 il: 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.

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1575
  • Karma: +46/-0
  • Prima ascoltare, poi decidere
Re:Firmare eseguibile
« Risposta #2 il: 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).
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1575
  • Karma: +46/-0
  • Prima ascoltare, poi decidere
Re:Firmare eseguibile
« Risposta #3 il: Maggio 10, 2025, 03:40:18 pm »
Domanda: per firmare l'eseguibile, basta compilare i dati in "Informazioni di versione", che si trova nelle opzioni del progetto?
Grazie, Mario

Mi sono dilungato in spiegazioni varie ma non ho risposto puntualmente alla tua domanda.

No, la firma deve essere effettuata tramite un programma (come signtool) e un certificato personale su token USB o su Cloud. Questi certificati vengono rilasciati da enti certificatori riconosciuti Possono essere richiesti da privati o piccole realtà (certificati OV) oppure solo per chi ha una attività con Partita IVA ci sono i certificati EV.

Le firme digitali qualificate che servono a firmare i documenti come i PDF o per altre attività non possono firmare un eseguibile, penso sia un limite solo "commerciale" imposto visto che le firme digitali costano qualche decina di Euro, mentre i certificati di frima eseguibili costano centinaia di Euro.

Tra i principali ci sono:

1) Certum (Europeo);

2) DigiCert;

3) Sectigo;
« Ultima modifica: Maggio 10, 2025, 03:48:59 pm da DragoRosso »
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

bonmario

  • Hero Member
  • *****
  • Post: 1411
  • Karma: +11/-1
Re:Firmare eseguibile
« Risposta #4 il: Maggio 10, 2025, 04:17:15 pm »
Ok, grazie a tutti per le risposte, ma a questo punto rinuncio, sperando che la cosa arrivi a chi deve arrivare, e faccia cambiare idea al reparto IT.

I programmi in questione, sono fatti ad uso e consumo dell'azienda per cui lavoro, e servono ad automatizzare e velocizzare determinate operazioni.
Alcuni di questi girano da una ventina di anni ...
E' assurdo che vengano cancellati perché da un giorno all'altro qualcuno ha deciso che non sono sicuri perché non sono firmati

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1575
  • Karma: +46/-0
  • Prima ascoltare, poi decidere
Re:Firmare eseguibile
« Risposta #5 il: Maggio 11, 2025, 10:02:18 am »
Ok, grazie a tutti per le risposte, ma a questo punto rinuncio, sperando che la cosa arrivi a chi deve arrivare, e faccia cambiare idea al reparto IT.

Per tamponare temporaneamente, se lo ritieni te li posso firmare io i programmi. Una volta firmati però, perdono la firma se vengono ricompilati.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

bonmario

  • Hero Member
  • *****
  • Post: 1411
  • Karma: +11/-1
Re:Firmare eseguibile
« Risposta #6 il: Maggio 11, 2025, 04:36:55 pm »
Ti ringrazio veramente tanto per la disponibilità, ma non ha senso che un'azienda blocchi/cancelli dei programmi che permettono a se stessa di lavorare in maniera più veloce e sicura.

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1575
  • Karma: +46/-0
  • Prima ascoltare, poi decidere
Re:Firmare eseguibile
« Risposta #7 il: Oggi alle 09:11:33 am »
Ti ringrazio veramente tanto per la disponibilità, ma non ha senso che un'azienda blocchi/cancelli dei programmi che permettono a se stessa di lavorare in maniera più veloce e sicura.

Hai ragione da vendere, ma purtroppo stanno procedendo delle normative che lasciano poco spazio alla "ragione". Ne sò qualcosa perchè mio figlio lavora in una struttura soggetta al "NIS2" sotto controllo dell'autorità nazionale per la cybersicurezza (qui la normativa NIS2: https://www.acn.gov.it/portale/nis )

Attualmente non esiste niente di sicuro che non sia convalidato da un "pezzo di carta". E ciò che non è sicuro non può girare impunemente nei sistemi aziendali.
Io produco anche delle "macchinette" (strumenti di misura ottici) che non vanno in rete. Anche li ho dovuto firmare i programmi (DLL comprese, anche quelle non mie che necessitavano e non erano firmate) ....

Gli IT di nuova generazione vengono formati specificatamente su ciò e quindi poi ci si ritrova in condizioni operative molto rigide.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2993
  • Karma: +20/-4
Re:Firmare eseguibile
« Risposta #8 il: Oggi alle 01:00:17 pm »
come accennato da schumi, visto che sono programmi nati in azienda e per l'azienda, mi muoverei sull'esclusione dall'antivirus


Edit:
con l'occasione segnalo il seguente link
https://wiki.freepascal.org/Code_Signing_for_Windows
« Ultima modifica: Oggi alle 01:02:54 pm da nomorelogic »
Imagination is more important than knowledge (A.Einstein)

bonmario

  • Hero Member
  • *****
  • Post: 1411
  • Karma: +11/-1
Re:Firmare eseguibile
« Risposta #9 il: Oggi alle 01:07:56 pm »
come accennato da schumi, visto che sono programmi nati in azienda e per l'azienda, mi muoverei sull'esclusione dall'antivirus


Purtroppo non ho margini di manovra per quello: possono farlo solo quelli del reparto IT, ma secondo loro, almeno per i backup, dovrei usare OneDrive ...

Per il link, grazie, domai che torno al lavoro gli d un occhio

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1575
  • Karma: +46/-0
  • Prima ascoltare, poi decidere
Re:Firmare eseguibile
« Risposta #10 il: Oggi alle 01:40:57 pm »
come accennato da schumi, visto che sono programmi nati in azienda e per l'azienda, mi muoverei sull'esclusione dall'antivirus
Purtroppo non ho margini di manovra per quello: possono farlo solo quelli del reparto IT, .....

Posso confermare che per mia esperienza nessun IT pone una esclusione a qualcosa a meno che qualcuno non si faccia carico della relativa responsabilità. E ciò non avviene mai in ambito aziendale. Ricordo anche che le violazioni possono comportare responsabilità penali se accade qualcosa. E quindi è escluso che qualcuno sano di mente se ne faccia carico.

Per @bonmario, potresti spingere affinche l'azienda compri un certificato OV e firmi i tuoi eseguibili (e magari non solo i tuoi). La spesa per una azienda non è eccessiva, potrebbe essere fattibile.
Parla con gli IT e insieme spingete sulla direzione.

Ciao

:) Ogni alba è un regalo, ogni tramonto è una conquista :)

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2993
  • Karma: +20/-4
Re:Firmare eseguibile
« Risposta #11 il: Oggi alle 03:25:31 pm »
Posso confermare che per mia esperienza nessun IT pone una esclusione a qualcosa a meno che qualcuno non si faccia carico della relativa responsabilità. E ciò non avviene mai in ambito aziendale. Ricordo anche che le violazioni possono comportare responsabilità penali se accade qualcosa. E quindi è escluso che qualcuno sano di mente se ne faccia carico.

Lo so che le cose vanno così, purtroppo anche a me capitano queste situazioni però, perdonatemi, ma per me siamo al paradosso:
un'applicazione nata in azienda che fa qualcosa per l'azienda, ha anche senso che ci sia un carico di responsabilità nel caso facesse qualche danno.
Ha senso e lo si può accettare.

Ma introdurre un vincolo che permetta a questa applicazione di funzionare - una specie di certificazione ideata da chi ha realizzato il sistema operativo - beh...

Perdonate lo sfogo, lo so che nella realtà non ho ragione...  :-\
Imagination is more important than knowledge (A.Einstein)

bonmario

  • Hero Member
  • *****
  • Post: 1411
  • Karma: +11/-1
Re:Firmare eseguibile
« Risposta #12 il: Oggi alle 05:39:01 pm »
Posso confermare che per mia esperienza nessun IT pone una esclusione a qualcosa a meno che qualcuno non si faccia carico della relativa responsabilità. E ciò non avviene mai in ambito aziendale. Ricordo anche che le violazioni possono comportare responsabilità penali se accade qualcosa. E quindi è escluso che qualcuno sano di mente se ne faccia carico.

Lo so che le cose vanno così, purtroppo anche a me capitano queste situazioni però, perdonatemi, ma per me siamo al paradosso:
un'applicazione nata in azienda che fa qualcosa per l'azienda, ha anche senso che ci sia un carico di responsabilità nel caso facesse qualche danno.
Ha senso e lo si può accettare.

Ma introdurre un vincolo che permetta a questa applicazione di funzionare - una specie di certificazione ideata da chi ha realizzato il sistema operativo - beh...

Perdonate lo sfogo, lo so che nella realtà non ho ragione...  :-\


Per esperienze passate, io mi limiterò a far presente la cosa al mio responsabile, facendo presente che quello che prima veniva fatto in automatico nel giro di qualche secondo, adesso va fatto a mano in qualche ora, con altissimi margini di errore

Da lì partiranno email e telefonate, fino a quando la cosa arriverà all'orecchio della persona giusta che farà in modo che si possa tornare ad usare quei programmi

Serve solo pazienza !!!


Ho provato a chiedere qui, solo perché, da ignorante, pensavo che bastasse compilare quei campi nelle proprietà del progetto, quindi cosa di pochi minuti, ma a questo punto mi devo muovere diversamente

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1575
  • Karma: +46/-0
  • Prima ascoltare, poi decidere
Re:Firmare eseguibile
« Risposta #13 il: Oggi alle 09:43:27 pm »
un'applicazione nata in azienda che fa qualcosa per l'azienda, ha anche senso che ci sia un carico di responsabilità nel caso facesse qualche danno.
Ha senso e lo si può accettare.
Ma introdurre un vincolo che permetta a questa applicazione di funzionare - una specie di certificazione ideata da chi ha realizzato il sistema operativo - beh...
Perdonate lo sfogo, lo so che nella realtà non ho ragione...  :-\
Per diversi anni sono stato responsabile IT di una azienda "appartenente" ad una multinazionale e dovevo coordinarrmi con la casa madre.
Erano tempi ancora non sospetti (almeno la situazione non era così calda come ora) ma già allora c'erano grossi vincoli per l'installazione e l'esecuzione dei programmi.

E io, ma ripeto quei tempi erano diversi, consentivo puntualmente a una varietà notevole di programmi di girare sia senza esplicito consenso della casa madre sia con il divieto. Come avete riportato dovrebbe vincere la ragione (ed era così e nessuno ha mai proferito parola) e non il mero "fiscalismo".

Ora, riportato a questi tempi non lo rifarei anche perchè l'azienda avrebbe lo strumento giusto per porre rimedio con un costo minimo.

E nei tempi attuali, questa dovrebbe essere la strada: è come dire che mi curo da solo perchè il dottore costa. Se è necessario l'azienda prende il dottore (il certificato), lo paga e lo usa con i suoi prodotti (i software interni ad esempio).
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

 

Recenti

How To

Utenti
Stats
  • Post in totale: 19764
  • Topic in totale: 2374
  • Online Today: 185
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 167
Total: 167

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.