LevelcodeLicenseAPP/Security/KeyManager.cs
2026-03-25 16:26:11 -03:00

55 lines
1.5 KiB
C#

using System;
using System.IO;
namespace LevelCode.License.Security
{
public static class KeyManager
{
private static readonly string PastaKeys =
@"C:\LevelCode\Levelcode-license";
private static readonly string CaminhoPrivateKey =
Path.Combine(PastaKeys, "private.key");
private static readonly string CaminhoPublicKey =
Path.Combine(PastaKeys, "public.key");
// =========================
// GARANTIR QUE AS CHAVES EXISTEM
// =========================
public static void GarantirChaves()
{
if (File.Exists(CaminhoPrivateKey) &&
File.Exists(CaminhoPublicKey))
return;
Directory.CreateDirectory(PastaKeys);
string chavePublica;
string chavePrivada;
RsaService.GerarParDeChaves(
out chavePublica,
out chavePrivada);
File.WriteAllText(CaminhoPrivateKey, chavePrivada);
File.WriteAllText(CaminhoPublicKey, chavePublica);
}
// =========================
// OBTER CHAVES
// =========================
public static string ObterChavePrivada()
{
GarantirChaves();
return File.ReadAllText(CaminhoPrivateKey);
}
public static string ObterChavePublica()
{
GarantirChaves();
return File.ReadAllText(CaminhoPublicKey);
}
}
}