Skip to content

Commit

Permalink
Corrigido a forma de obter a chave privada do certificado para CTe e …
Browse files Browse the repository at this point in the history
…MDFe / Adicionado order nas propriedades do CTe infOutros e infNF (#1431)

* Adicionado order nas propriedades do CTe infOutros para geração correta das tags do xml

* Corrigido a forma de obter a chave privada do certificado para CTe e MDFe

* Adicionado order nas propriedades do CTe infNF para geração correta das tags do xml

---------

Co-authored-by: Lucas <[email protected]>
  • Loading branch information
lucasnc and Lucas authored Jun 28, 2023
1 parent 47f2930 commit 36e0e35
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 22 deletions.
33 changes: 19 additions & 14 deletions CTe.Classes/Informacoes/infCTeNormal/infDocumentos/infNF.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,15 @@ namespace CTe.Classes.Informacoes.infCTeNormal.infDocumentos
{
public class infNF
{
[XmlElement(Order = 1)]
public string nRoma { get; set; }
[XmlElement(Order = 2)]
public string nPed { get; set; }
[XmlElement(Order = 3)]
public mod mod { get; set; }
[XmlElement(Order = 4)]
public string serie { get; set; }
[XmlElement(Order = 5)]
public string nDoc { get; set; }

[XmlIgnore]
Expand All @@ -54,7 +59,7 @@ public class infNF
/// <summary>
/// Proxy para dEmi no formato AAAA-MM-DD
/// </summary>
[XmlElement(ElementName = "dEmi")]
[XmlElement(ElementName = "dEmi", Order = 6)]
public string ProxyddEmi
{
get
Expand All @@ -65,53 +70,53 @@ public string ProxyddEmi

}


[XmlElement(Order = 7)]
public decimal vBC
{
get { return _vBc.Arredondar(2); }
set { _vBc = value.Arredondar(2); }
}

[XmlElement(Order = 8)]
public decimal vICMS
{
get { return _vIcms.Arredondar(2); }
set { _vIcms = value.Arredondar(2); }
}

[XmlElement(Order = 9)]
public decimal vBCST
{
get { return _vBcst.Arredondar(2); }
set { _vBcst = value.Arredondar(2); }
}

[XmlElement(Order = 10)]
public decimal vST
{
get { return _vSt.Arredondar(2); }
set { _vSt = value.Arredondar(2); }
}

[XmlElement(Order = 11)]
public decimal vProd
{
get { return _vProd.Arredondar(2); }
set { _vProd = value.Arredondar(2); }
}

[XmlElement(Order = 12)]
public decimal vNF
{
get { return _vNf.Arredondar(2); }
set { _vNf = value.Arredondar(2); }
}

[XmlElement(Order = 13)]
public int nCFOP { get; set; }

[XmlElement(Order = 14)]
public decimal? nPeso
{
get { return _nPeso.Arredondar(3); }
set { _nPeso = value.Arredondar(3); }
}

[XmlElement(Order = 15)]
public bool nPesoSpecified { get { return _nPeso.HasValue; } }

[XmlElement(Order = 16)]
public string PIN { get; set; }

[XmlIgnore]
Expand All @@ -120,7 +125,7 @@ public decimal? nPeso
/// <summary>
/// Proxy para dPrev no formato AAAA-MM-DD
/// </summary>
[XmlElement(ElementName = "dPrev")]
[XmlElement(ElementName = "dPrev", Order = 17)]
public string ProxyddPrev
{
get
Expand All @@ -134,10 +139,10 @@ public string ProxyddPrev
set { dPrev = DateTime.Parse(value); }
}

[XmlElement("infUnidTransp")]
[XmlElement("infUnidTransp", Order = 18)]
public List<infUnidTransp> infUnidTransp;

[XmlElement("infUnidCarga")]
[XmlElement("infUnidCarga", Order = 19)]
public List<infUnidCarga> infUnidCarga;

private decimal _vBc;
Expand Down
13 changes: 8 additions & 5 deletions CTe.Classes/Informacoes/infCTeNormal/infDocumentos/infOutros.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,11 @@ namespace CTe.Classes.Informacoes.infCTeNormal.infDocumentos
{
public class infOutros
{
[XmlElement(Order = 1)]
public tpDoc tpDoc { get; set; }
[XmlElement(Order = 2)]
public string descOutros { get; set; }
[XmlElement(Order = 3)]
public string nDoc { get; set; }

[XmlIgnore]
Expand All @@ -52,7 +55,7 @@ public class infOutros
/// <summary>
/// Proxy para dPrev no formato AAAA-MM-DD
/// </summary>
[XmlElement(ElementName = "dEmi")]
[XmlElement(ElementName = "dEmi", Order = 4)]
public string ProxyddEmi
{
get
Expand All @@ -66,7 +69,7 @@ public string ProxyddEmi
set { dEmi = DateTime.Parse(value); }
}


[XmlElement(Order = 5)]
public decimal? vDocFisc
{
get { return _vDocFisc.Arredondar(2); }
Expand All @@ -81,7 +84,7 @@ public decimal? vDocFisc
/// <summary>
/// Proxy para dPrev no formato AAAA-MM-DD
/// </summary>
[XmlElement(ElementName = "dPrev")]
[XmlElement(ElementName = "dPrev", Order = 6)]
public string ProxyddPrev
{
get
Expand All @@ -95,10 +98,10 @@ public string ProxyddPrev
set { dPrev = DateTime.Parse(value); }
}

[XmlElement("infUnidTransp")]
[XmlElement("infUnidTransp", Order = 7)]
public List<infUnidTransp> infUnidTransp;

[XmlElement("infUnidCarga")]
[XmlElement("infUnidCarga", Order = 8)]
public List<infUnidCarga> infUnidCarga;

private decimal? _vDocFisc;
Expand Down
2 changes: 1 addition & 1 deletion CTe.Utils/CTe/ExtCTe.cs
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ public static infCTeSupl QrCode(this CteEletronica cte, X509Certificate2 certifi

private static byte[] CreateSignaturePkcs1(X509Certificate2 certificadoDigital, byte[] Value)
{
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)certificadoDigital.PrivateKey;
var rsa = certificadoDigital.GetRSAPrivateKey();

RSAPKCS1SignatureFormatter rsaF = new RSAPKCS1SignatureFormatter(rsa);

Expand Down
3 changes: 1 addition & 2 deletions MDFe.Classes/Extensoes/ExtMDFe.cs
Original file line number Diff line number Diff line change
Expand Up @@ -254,9 +254,8 @@ public static infMDFeSupl QrCode(this MDFEletronico mdfe, X509Certificate2 certi
}

private static byte[] CreateSignaturePkcs1(X509Certificate2 certificado, byte[] Value)

{
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)certificado.PrivateKey;
var rsa = certificado.GetRSAPrivateKey();

RSAPKCS1SignatureFormatter rsaF = new RSAPKCS1SignatureFormatter(rsa);

Expand Down

0 comments on commit 36e0e35

Please sign in to comment.