SatCredentialsCore 1.1.0

dotnet add package SatCredentialsCore --version 1.1.0
                    
NuGet\Install-Package SatCredentialsCore -Version 1.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SatCredentialsCore" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SatCredentialsCore" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="SatCredentialsCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SatCredentialsCore --version 1.1.0
                    
#r "nuget: SatCredentialsCore, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SatCredentialsCore@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SatCredentialsCore&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=SatCredentialsCore&version=1.1.0
                    
Install as a Cake Tool

SatCredentialsCore

NuGet Version NuGet Downloads

SatCredentialsCore es una librería .NET para manejar certificados del SAT en México (.cer y .key), incluyendo validaciones, encriptación, firmas digitales y extracción de datos relevantes.
Funciona en .NET 8 y 9 sobre Windows, Linux y macOS.


🚀 Características

  • Carga de certificados .cer y llaves privadas .key en formato PKCS#8 encriptado.
  • Validación de:
    • Vigencia del certificado.
    • Correspondencia entre certificado y llave privada.
    • Emisor: Servicio de Administración Tributaria (SAT).
  • Obtención de datos clave:
    • RFC y RFC del representante legal.
    • CURP y CURP del representante legal.
    • Razón social y nombre de sucursal.
    • Número de serie del certificado.
  • Funciones criptográficas:
    • Firma y verificación con SHA1 y SHA256.
    • Encriptación y desencriptación con RSA.
  • Exportación de llaves y certificados en:
    • PEM, DER, Base64.
    • PKCS#8 y PKCS#1.

📦 Instalación

Desde NuGet:

dotnet add package SatCredentialsCore

🔑 Ejemplo de Uso

using SatCredentialsCore;

// Cargar certificado y llave
var certBytes = File.ReadAllBytes("cert.cer");
var keyBytes = File.ReadAllBytes("private_key.key");
var password = "TuPassword";

var credentials = new SatCredentials(certBytes, keyBytes, password);

// Validar datos básicos
Console.WriteLine($"RFC: {credentials.Rfc}");
Console.WriteLine($"Razón Social: {credentials.RazonSocial}");
Console.WriteLine($"Válido hasta: {credentials.ValidTo}");

// Encriptar / Desencriptar
var data = Encoding.UTF8.GetBytes("Mensaje de prueba");
var encrypted = credentials.Encrypt(data);
var decrypted = credentials.Decrypt(encrypted);
Console.WriteLine(Encoding.UTF8.GetString(decrypted));

// Firmar y verificar
var signature = credentials.SingSHA256(data);
var valid = credentials.VerifySHA256(data, signature);
Console.WriteLine($"Firma válida: {valid}");

📂 Requisitos

  • Certificado .cer en formato DER.
  • Llave privada .key en formato PKCS#8 DER encriptado con contraseña.

📜 Licencia

Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más información.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 18 8/23/2025
1.0.1 210 8/6/2025