| Accesso a due fattori |
Codici TOTP da qualsiasi app di autenticazione più 10 codici di recupero monouso. admin.require_2fa lo rende obbligatorio per ogni utente della console e un amministratore può reimpostare un secondo fattore perso. |
Sì |
| Accesso con OpenID Connect |
Accesso alla console tramite Microsoft Entra ID, Okta, Keycloak, Google o qualsiasi provider standard, con PKCE. Gli utenti collegano un'identità esterna al proprio account e le richieste di account possono, se vuoi, attendere l'approvazione di un amministratore. |
Sì |
| Console rafforzata |
Header di sicurezza e una Content Security Policy rigorosa su ogni risposta, una policy delle password configurabile, password temporanee sostituite al primo accesso e sessioni che terminano quando cambiano il ruolo o i diritti che le sostengono. |
Sì |
| Segreti cifrati a riposo |
Password dei provider, PIN, credenziali cloud e segreti dei webhook memorizzati con AES-256-GCM sotto una chiave master legata alla macchina. --protect-secrets cifra sul posto una configurazione esistente. |
Sì |
| Approvazioni obbligatorie |
Approvazione richiesta per provider o per progetto, verificata dal server su ogni percorso di firma, compresa la firma dell'hash grezzo per signtool /dlib. Ogni approvazione firma una sola volta. |
No |
| Ciclo di vita delle chiavi API |
Rigenerazione con una finestra di sovrapposizione fino a 7 giorni, scadenza modificabile, proprietari delle chiavi, un elenco di provider consentiti per chiave e chiavi self-service per gli operatori con api_keys.self_service. Una chiave può anche iniziare la validità al primo utilizzo: è valida per N giorni a partire dalla prima chiamata autenticata, con una data obbligatoria di attivazione entro cui usarla, così una chiave mai usata non resta valida per sempre. Le sottochiavi funzionano solo dopo l'attivazione della chiave principale, l'attivazione viene registrata nel log di audit come apikey.activate e Community limita entrambi i valori a 30 giorni. |
Una sola chiave attiva, scadenza fino a 30 giorni |
| Protezione dai tentativi di PIN PKCS#11 |
Smette di effettuare il login a un token dopo max_pin_attempts PIN errati e non usa mai l'ultimo tentativo se non è impostato allow_final_pin_try, così un PIN sbagliato non blocca mai un token hardware. |
No (nessun provider PKCS#11) |
| Timestamp server predefiniti |
Un elenco a livello di server di timestamp server RFC 3161 provati in ordine con fallback automatico, tsa_urls per singolo provider e no_timestamp per saltare la marca temporale in una richiesta. |
Sì |
sgcsign timestamp |
Aggiunge una marca temporale RFC 3161 a un file già firmato con Authenticode, provando a turno ogni server --tsa. |
Sì |
--page-hashes |
Authenticode: aggiunge un hash per ogni pagina da 4 KB dell'immagine, l'equivalente di signtool sign /ph, usato dai driver in modalità kernel con Integrità della memoria (HVCI). |
Sì |
| Backup pianificati e cifrati |
Un unico archivio AES-256-GCM con la configurazione, il database, la chiave master e i file di chiavi e certificati, creato secondo una pianificazione o dalla console. --archive restore lo ripristina o sposta il server su una nuova macchina. |
Sì |
| Monitoraggio della scadenza dei certificati |
Controllo giornaliero dei certificati di firma e TLS con avvisi a 30, 14, 7 e 1 giorno nella dashboard, nel webhook cert.expiring, via email e in una metrica Prometheus. |
Solo dashboard ed email |
| Notifiche email |
Email per blocchi degli account, modifiche del secondo fattore e delle password, backup falliti e certificati in scadenza, tramite SMTP con STARTTLS o TLS implicito. Su Windows non servono librerie OpenSSL. |
Sì |
| Installer per Windows |
sgcSignServer_Setup.exe installa il servizio Windows, crea il primo amministratore, apre la porta del firewall e configura TLS con un certificato autofirmato o un file PFX esistente. |
No, la Community funziona dallo zip con start.bat (HTTP semplice) |
| Profili salvati nella CLI |
sgcsign config mantiene le impostazioni in profili con nome e sgcsign auth set-key memorizza la chiave API, nella CLI Delphi e nello strumento .NET esegece.sgcsign.cli. |
Sì |