Erro Criptografia CTe e MDFe (Tipo Emissão Contingencia) Net 6.0
Closed this issue · 11 comments
Estou implementando tanto CTe como MDFe e ao tentar emitir notas em contingencia (homologação , nao cheguei a testar em produção ainda) apresentou os seguinte erro:
Emissão normal está funcionando normalmente..
O certificado usado é A1Arquivo.
Unable to cast object of type 'System.Security.Cryptography.RSACng' to type 'System.Security.Cryptography.RSACryptoServiceProvider'."
Se alguem puder me ajudar e se ja teve algum problema do tipo...
Pode passar mais detalhes do seu código ?
Quais especificos? ai ja vejo aqui e mando..
Criação da configuração antes de enviar o mdf-e ou o método que esteja usando
O erro acontece na MDFeRecepcao.
em MDFe.Classes.Extencoes.ExtMDFe.CreateSignaturePkcs1(X509Certificate2 certificado, Byte[] Value)
em MDFe.Classes.Extencoes.ExtMDFe.QrCode(MDFe mdfe, X509Certificate2 certificadoDigital, Encoding encoding)
em MDFe.Servicos.RecepcaoMDFe.ServicoMDFeRecepcao.MDFeRecepcao(Int64 lote, MDFe mdfe)
em Module.PRSCloud.Core.Features.EmitirMDFeCommandHandler.d__9.MoveNext() em C:\Users\tiago\source\repos\PRS-Cloud-Back\Module.PRSCloud.Core\Features\MDFe\EmitirMDFe\EmitirMDFeCommandHandler.cs:linha 571
em WebApi.Behaviors.RequestValidationHandler2.<Handle>d__2.MoveNext() em C:\Users\tiago\source\repos\PRS-Cloud-Back\WebApi\Behaviors\RequestValidationHandler.cs:linha 29 em MediatR.Pipeline.RequestExceptionProcessorBehavior
2.d__2.MoveNext()
em MediatR.Pipeline.RequestExceptionProcessorBehavior2.<Handle>d__2.MoveNext() em MediatR.Pipeline.RequestExceptionActionProcessorBehavior
2.d__2.MoveNext()
em MediatR.Pipeline.RequestExceptionActionProcessorBehavior2.<Handle>d__2.MoveNext() em MediatR.Pipeline.RequestPostProcessorBehavior
2.d__2.MoveNext()
em MediatR.Pipeline.RequestPreProcessorBehavior2.<Handle>d__2.MoveNext() em Module.PRSCloud.Controllers.MDFeController.<Cadastrar>d__3.MoveNext() em C:\Users\tiago\source\repos\PRS-Cloud-Back\Module.PRSCloud\Controllers\MDFe\MDFeController.cs:linha 46 em Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.<Execute>d__0.MoveNext() em System.Threading.Tasks.ValueTask
1.get_Result()
em System.Runtime.CompilerServices.ValueTaskAwaiter`1.GetResult()
em Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<g__Awaited|12_0>d.MoveNext()
em Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<g__Awaited|10_0>d.MoveNext()
em Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
em Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
em Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<g__Awaited|13_0>d.MoveNext()
em Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<g__Awaited|20_0>d.MoveNext()
em Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<g__Awaited|17_0>d.MoveNext()
em Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<g__Awaited|17_0>d.MoveNext()
em Microsoft.AspNetCore.Routing.EndpointMiddleware.<g__AwaitRequestTask|6_0>d.MoveNext()
em Application.Middleware.ExceptionMiddleware.d__2.MoveNext() em C:\Users\tiago\source\repos\PRS-Cloud-Back\WebApi\Middleware\ExceptionMiddleware.cs:linha 22
para o CTe tipo emissão
[XmlEnum("5")]
teFSDA = 5,
e MDFe
[XmlEnum("2")]
Contingencia
Bom dia @robertorp , poderia dar uma olhada nessa questão hoje ?
@tiagovbp aceitamos seu pull request, para colaborar com a mudança. Faça um fork do projeto, atualiza o codigo fonte com as novas mudanças usando git e depois no github faça um pull request do seu projeto para esse aqui. Ai a gente já analisa.
Boa tarde @danilobreda , um amigo meu fez as mudanças tanto para CTe e MDFe, ele também fez uma outra no CTe. Ele está fazendo o pull request no momento..
@tiagovbp @lucasnc aceitei o pullrequest, parece que a solução se encaixa bem, qualquer coisa caso quebre alguém utilizando versões anteriores do .net (ex: 4.5.2) vou precisar colocar #if para na parte do algoritmo alterado de cryptography, mas acredito que por enquanto esta tudo certo.
Vou fechar a issue qualquer coisa só comentar aqui mesmo ou abrir uma nova issue.
Desculpe-nos pela demora com esse problema :/