From acf2cbd1d88da21de5a9af22409b563eeffa1eae Mon Sep 17 00:00:00 2001 From: Vinicius Cunha Date: Mon, 11 May 2026 17:30:58 -0300 Subject: [PATCH 1/2] fix(certificado): remove warning substituindo `PrivateKey` por `GetRSAPrivateKey()` --- DFe.Utils/Assinatura/AssinaturaDigital.cs | 2 +- DFe.Utils/Assinatura/CertificadoDigital.cs | 4 ++-- NFe.Utils/Assinatura/Assinador.cs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DFe.Utils/Assinatura/AssinaturaDigital.cs b/DFe.Utils/Assinatura/AssinaturaDigital.cs index 287acbac1..5102e3875 100644 --- a/DFe.Utils/Assinatura/AssinaturaDigital.cs +++ b/DFe.Utils/Assinatura/AssinaturaDigital.cs @@ -57,7 +57,7 @@ public static SignatureZeus Assina(T objeto, string id, X509Certificate2 cert ? FuncoesXml.ClasseParaXmlString(objetoLocal).RemoverAcentos() : FuncoesXml.ClasseParaXmlString(objetoLocal)); - var docXml = new SignedXml(documento) { SigningKey = certificado.PrivateKey }; + var docXml = new SignedXml(documento) { SigningKey = certificado.GetRSAPrivateKey() }; docXml.SignedInfo.SignatureMethod = signatureMethod; var reference = new Reference { Uri = "#" + id, DigestMethod = digestMethod }; diff --git a/DFe.Utils/Assinatura/CertificadoDigital.cs b/DFe.Utils/Assinatura/CertificadoDigital.cs index 8104d944d..280c6011d 100644 --- a/DFe.Utils/Assinatura/CertificadoDigital.cs +++ b/DFe.Utils/Assinatura/CertificadoDigital.cs @@ -153,7 +153,7 @@ private static void DefinirPinParaChavePrivada(this X509Certificate2 certificado if (Environment.OSVersion.Platform == PlatformID.Win32NT || Environment.OSVersion.Platform == PlatformID.Win32Windows || Environment.OSVersion.Platform == PlatformID.Win32S) { if (certificado == null) throw new ArgumentNullException("certificado"); - var key = (RSACryptoServiceProvider)certificado.PrivateKey; + var key = (RSACryptoServiceProvider)certificado.GetRSAPrivateKey(); var providerHandle = IntPtr.Zero; var pinBuffer = Encoding.ASCII.GetBytes(pin); @@ -338,7 +338,7 @@ public static bool IsA3(this X509Certificate2 x509Certificate2) try { - RSACryptoServiceProvider service = x509Certificate2.PrivateKey as RSACryptoServiceProvider; + RSACryptoServiceProvider service = x509Certificate2.GetRSAPrivateKey() as RSACryptoServiceProvider; if (service != null) { diff --git a/NFe.Utils/Assinatura/Assinador.cs b/NFe.Utils/Assinatura/Assinador.cs index a2fdf8f61..8ffcc5a52 100644 --- a/NFe.Utils/Assinatura/Assinador.cs +++ b/NFe.Utils/Assinatura/Assinador.cs @@ -97,7 +97,7 @@ public static Signature ObterAssinatura(T objeto, string id, X509Certificate2 documento.LoadXml(xml); - var docXml = new SignedXml(documento) { SigningKey = certificadoDigital.PrivateKey }; + var docXml = new SignedXml(documento) { SigningKey = certificadoDigital.GetRSAPrivateKey() }; docXml.SignedInfo.SignatureMethod = signatureMethod; From 39f6d381b9bc95b22eb6e04773183ae67d37fc93 Mon Sep 17 00:00:00 2001 From: Vinicius Cunha Date: Tue, 12 May 2026 18:04:31 -0300 Subject: [PATCH 2/2] =?UTF-8?q?refactor(certificado):=20retorna=20o=20uso?= =?UTF-8?q?=20do=20`PrivateKey`=20devido=20a=20impossibilidade=20de=20test?= =?UTF-8?q?ar=20a=20altera=C3=A7=C3=A3o=20realizada=20para=20`GetRSAPrivat?= =?UTF-8?q?eKey`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DFe.Utils/Assinatura/CertificadoDigital.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DFe.Utils/Assinatura/CertificadoDigital.cs b/DFe.Utils/Assinatura/CertificadoDigital.cs index 280c6011d..8104d944d 100644 --- a/DFe.Utils/Assinatura/CertificadoDigital.cs +++ b/DFe.Utils/Assinatura/CertificadoDigital.cs @@ -153,7 +153,7 @@ private static void DefinirPinParaChavePrivada(this X509Certificate2 certificado if (Environment.OSVersion.Platform == PlatformID.Win32NT || Environment.OSVersion.Platform == PlatformID.Win32Windows || Environment.OSVersion.Platform == PlatformID.Win32S) { if (certificado == null) throw new ArgumentNullException("certificado"); - var key = (RSACryptoServiceProvider)certificado.GetRSAPrivateKey(); + var key = (RSACryptoServiceProvider)certificado.PrivateKey; var providerHandle = IntPtr.Zero; var pinBuffer = Encoding.ASCII.GetBytes(pin); @@ -338,7 +338,7 @@ public static bool IsA3(this X509Certificate2 x509Certificate2) try { - RSACryptoServiceProvider service = x509Certificate2.GetRSAPrivateKey() as RSACryptoServiceProvider; + RSACryptoServiceProvider service = x509Certificate2.PrivateKey as RSACryptoServiceProvider; if (service != null) {