license-generator/Commands/FingerprintCommand.cs
dtrentin 2ef68dd477 feat: initial LicenseGenerator -- keygen, fingerprint, sign commands
Standalone .NET 4.7.2 console tool for NcProgramManager offline licensing.
- keygen: RSA 2048-bit key pair generation
- fingerprint: WMI machine fingerprint (Windows only)
- sign: RSA-SHA256 sign fingerprint, write .lic file

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 23:33:30 +02:00

44 lines
1.4 KiB
C#

using System;
using System.Management;
namespace LicenseGenerator.Commands
{
internal static class FingerprintCommand
{
// Windows + WMI only. Matches MachineFingerprint.GetFingerprint() logic.
internal static void Execute()
{
try
{
string pcInfo = string.Empty;
using (var mc = new ManagementClass("win32_processor"))
using (ManagementObjectCollection moc = mc.GetInstances())
{
foreach (ManagementObject mo in moc)
{
pcInfo = mo.Properties["processorID"].Value.ToString();
break;
}
}
using (var searcher = new ManagementObjectSearcher(
"root\\CIMV2", "SELECT * FROM Win32_BaseBoard"))
{
foreach (ManagementObject obj in searcher.Get())
{
pcInfo += obj["SerialNumber"].ToString();
break;
}
}
Console.WriteLine(pcInfo);
}
catch (Exception ex)
{
Console.Error.WriteLine("Error reading fingerprint (Windows + WMI required): " + ex.Message);
Environment.Exit(1);
}
}
}
}