[Feature] Aggiunta protezione machine-binding tramite MachineGuard

- Nuovo progetto MachineGuard: libreria che verifica se la macchina corrente
  è autorizzata all'esecuzione tramite DPAPI (Data Protection API di Windows)
- Nuovo progetto MachineGuardSetup: tool di configurazione da eseguire come
  Amministratore per registrare la macchina autorizzata
- Data_Coupler.sln: aggiunti entrambi i nuovi progetti alla soluzione
- Data_Coupler.csproj: aggiunto riferimento al progetto MachineGuard
- Program.cs: integrazione MachineGuard all'avvio dell'applicazione;
  se la macchina non è autorizzata l'app viene arrestata immediatamente
  con log critico e scrittura nel Windows Event Log
This commit is contained in:
Alessio Dal Santo
2026-03-30 16:42:43 +02:00
parent e43b7dc869
commit 91dbe9ae11
13 changed files with 600 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
namespace MachineGuard;
/// <summary>
/// Implementazione no-op di <see cref="IMachineGuard"/>.
/// Usata quando la protezione è disabilitata via configurazione
/// o quando il sistema operativo non supporta DPAPI (es. Linux, macOS).
/// Restituisce sempre <c>true</c> senza eseguire alcuna verifica.
/// </summary>
internal sealed class NullMachineGuard : IMachineGuard
{
/// <inheritdoc/>
public bool Verify() => true;
}