Ir para conteúdo
  • Cadastre-se

GuilhermeCosta

Membros
  • Total de ítens

    72
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que GuilhermeCosta postou

  1. Os novos schemas disponibilizados no portal do eSocial, especificamente o "evtAqProd.xsd", me parece estar incompatível com o leiaute, o mesmo ao tentar validar, me retorna dizendo que o grupo "ideProdutor" é esperando, rejeitando o atributo "indAquis". Mais alguém tem o mesmo entendimento?
  2. Bom dia, Para as empresas do primeiro grupo (empresas com faturamento acima de 75kk), os eventos não periódicos iniciavam em 03/2018. Próximo a data de início da entrega dos respectivos eventos, o eSocial soltou uma nota orientado para que as empresas enviasse os eventos a partir do dia 08/03/2018, porém a referência para os respectivos eventos continuava 01/03/2018, ou seja, afastamentos, ou ocorressem do dia 01/03/2018 a 07/03/2018 deviriam ser enviadas, e as admissões que ocorressem neste mesmo período não deveria ser levado ao eSocial como cadastro inicial, mas sim como admissões que ocorrer posterior ao início dos eventos não periódicos. Na resolução nº 5 de 02 de Outubro diz o seguinte: II - as informações constantes dos eventos não periódicos S-2190 a S-2399 do leiaute do eSocial aprovado pelo Comitê Gestor do eSocial deverão ser enviadas a partir das 8 (oito) horas de 10 de outubro de 2018, conforme previsto no Manual de Orientação do eSocial (MOS); Porém não deixa claro se a referência será realmente dia 10/10/2018 ou se será o dia 01/10/2018. Os Srs conseguiram enviar afastamentos que ocorreram entre o dia 01/10/2018 a 09/10/2018 para as empresas do segundo grupo? Qual critério estão utilizando para preencher o campo de cadastro inicial de vinculo (evento S-2200) para as admissões que ocorreram neste mesmo período para as empresas do 2º Grupo? Obrigado
  3. Boa noite, O eSocial só permite o preenchimento do campo "indSubstPatrObra" para construtora justamente pelo fato da legislação permitir que apenas empresas deste ramo poderem optar por desonerar ou não determinados estabelecimentos (obras). No seu caso, por não se tratar de empresa construtora a desoneração irá se "estender" a todos estabelecimentos, inclusive as obras de construção civil própria. Realmente a lei que trata da desoneração não deixa de forma clara a situação de obra própria para empresa enquadrada na lei fora dos CNAEs de construção, porém receita soltou um solução de consulta com uma situação semelhante a sua... http://normas.receita.fazenda.gov.br/sijut2consulta/link.action?visao=anotado&idAto=65678 O item 11 do documento conclui-se da seguinte forma: "Diante do exposto, conclui-se que, se uma empresa estiver sujeita ao cálculo da contribuição previdenciária na forma do § 1º do art. 9º da Lei nº 12.546, de 2011, as contribuições previstas nos incisos I e III do caput do art. 22 da Lei nº 8.212, de 1991, com a redução prevista no inciso II do citado § 1º, incidem sobre toda sua folha de pagamento, inclusive sobre a referente a obra de construção civil particular destinada a uso próprio executada com mão de obra própria".
  4. Bom dia, @Luana Castanheiro, trata-se de uma obra? o campo "indSubstPatrObra" no evento S-1005 esta sendo levado com o valor "1"?
  5. @ROBERTO COUTO DOS SANTOS, não sei te dizer se esta assinando com A3 pois o fonte que utilizo esta um pouco desatualizado, mas pelo que vi no fórum, aparentemente esta funcionando sim, caso contrario, da uma olhada nesse tópico Unica coisa que fiz foi chamar o metodo assinar da biblioteca certfly dentro do metodo assinar do Acbresocialgerador... faça um teste do tipo do certificado, caso seja A3 chame o método assinar da biblioteca certfly.
  6. @ROBERTO COUTO DOS SANTOS, sim enviando com certificado A3, quando o cliente escolhe algum certificado do tipo A1, eu troco todas bibliotecas de assinatura/envio para openssl, por isso não ocorre o erro apresentado.
  7. Eu resolvi o problema dos clientes apenas reinstalando os drivers da leitora e o gerenciador criptografico, após isso não foi necessário alterar o SSLType.
  8. Neste caso teria que retificar o evento, e enviar todos produtores novamente com suas respectivas nfs...
  9. Deve centralizar todas as aquisições realizadas para o estabelecimento... é um CNPJ ou um CEI(CAEPF)?
  10. Também tenho este problemas com alguns clientes, o erro ocorre sempre na segunda requisição para alguns certificados do tipo A3. Alguns relatos no fórum de que alterar o HTTPLib do componente funciona, porém fiz o testes em alguns clientes e o erro persiste... Alguma luz?
  11. @Daniel Simoes, segue em anexo. ACBrDFeSSL.pas
  12. Boa noite Daniel, Infelizmente os certificados que apresentaram problema foram do tipo A3... Da Serasa, então não conseguirei enviar... O que fiz até o momento foi exatamente isso, incluir a validação do CPF na função "GetCNPJfromSubjectName" mas fiquei em dúvida devido o comentário que consta na função e quais problemas poderiam trazer...
  13. A alteração que sugeri causará erros com outras certificadoras... Consegui outro certificado e-CPF e a alteração que sugeri ocasionou erro... Talvez seria necessário por uma condição sobre a certificadora na função que alterei... Analisando em outro ponto me deparei com a seguinte função no arquivo ACBrDFeSSl.pas: function TDadosCertificado.GetCNPJFromSubjectName( SubjectName: String ): String; var P: Integer; begin Result := ''; P := pos('CN=',SubjectName); if P > 0 then begin P := PosEx(':', SubjectName, P); if P > 0 then begin Result := OnlyNumber(copy(SubjectName, P+1, 14)); // Evita pegar CPF ou outro Documento, do SubjectName (comuns em EPP) if (ValidarCNPJ(Result) <> '') then Result := ''; end; end; end; Não entendi o motivo de evitar pegar o CPF do SubjectName, já que a função "GetOtherNameBlobFromNameInfo" retorna uma string diferente dependendo da entidade Certificadora que se está utilizando. Ocorreria algum problema caso além de validar se é um CNPJ validar também se trata-se de um CPF? Obrigado.
  14. Boa tarde Senhores, Utilizo a WinCrypt para pegar algumas informações do certificado, uma das informações que utilizo é a do CNPJ/CPF do mesmo. Porém me deparei com um problema ao utilizar e-CPF, onde o atributo CNPJ esta sendo preenchido de forma incorreta, para corrigir o problema alterei a seguinte função no arquivo ACBrDFeWinCrypt.pas.pas: function GetTaxIDFromExtensions(ACertContext: PCCERT_CONTEXT ): String; var pExtension: PCERT_EXTENSION; pNameInfo: PCERT_ALT_NAME_INFO ; ABlob: CERT_NAME_BLOB; aOID: AnsiString; begin Result := ''; if Assigned(ACertContext) then begin pExtension := GetCertExtension(ACertContext, szOID_SUBJECT_ALT_NAME2); if pExtension <> Nil then begin pNameInfo := DecodeCertExtensionToNameInfo(pExtension, szOID_SUBJECT_ALT_NAME2); if pNameInfo <> Nil then begin try ABlob := GetOtherNameBlobFromNameInfo(pNameInfo, '2.16.76.1.3.3'); // Informações de P.F. ou P.J. if ABlob.cbData > 0 then begin aOID := PAnsiChar(ABlob.pbData); aOID := AdjustAnsiOID(aOID); Result := copy(Trim(aOID), 1, 14); end; if (Result = '') then begin ABlob := GetOtherNameBlobFromNameInfo(pNameInfo, '2.16.76.1.3.1'); // Informações de P.F. if ABlob.cbData > 0 then begin aOID := PAnsiChar(ABlob.pbData); aOID := AdjustAnsiOID(aOID); //Result := copy(Trim(aOID), 9, 11); Result := copy(Trim(aOID), 10, 11); end; end; finally Freemem(pNameInfo); end; end; end; end; end; O comando copy estava pegando da posição 9 e alterei para 10. O erro apresentado ocorreu com dois certificado diferentes do tipo A3 e-CPF da serasa. Como não tenho outro eCPF de uma outra certificadora, gostaria de saber se alguem está utilizando WinCrypt com eCPF e se o atributo CNPJ esta sendo preenchido corretamente. Obrigado.
  15. Verifique se durante a instalação do certificado no windows, esta marcada a opção "Chave privada exportável"
  16. @RenatoE deu certo! Vlw
  17. Estou fazendo um teste em outro terminal e também não esta registrando, você fez algo diferente pra não ocorrer o erro de "Classe não registrada"?
  18. Você está chamando a CertFly pra assinar? Ela assina um arquivo físico e gera um outro arquivo físico assinado, pra que o metodo validar do acbr funcione o atributo "FXMLAssinado" da classe "TeSocialEvento" deve estar preenchido com os dados xml gerado no seu hd...
  19. Qual o erro que ocorre?
  20. A linha que coloquei não tem relação com o assinador e validador do ACbr, tanto que antes da alteração ele passava pela validação sem problemas, o erro só ocorria no retorno do processamento do lote ao consumir o WS do eSocial. Segue em anexo. Certfly.dll
  21. Consegui, o erro realmente ocorre na tag signature?
  22. Boa tarde, resolvi o problema removendo o SafeSign (software utilizado pela leitora do certificado) que estava instalado na maquina e instalei um atualizado. Sobre a assinatura, estou utilizando outra biblioteca para assinar com certificado A3. Obrigado pela atenção.
  23. Bom dia Srs, Estou realizando testes de comunicação com o eSocial (sei que o componente ainda não esta pronto), porém o erro que relato aqui está relacionado com o pacote ACBrTCP.... O erro ocorre apenas com certificado A3! A aplicação está configurada da seguinte forma: SSLCryptLib := cryWinCrypt; SSLLib := libCustom; SSLXmlSignLib := xsXmlSec; SSLHttpLib := httpWinINet; O componente me retorna o seguinte erro sempre a partir da segunda requisição para determinado WS que realizo (ou seja, a primeira ocorre sem problemas): Erro Interno: 12157 Erro HTTP: 0 Erro: Requisição não enviada Erro relacionado ao canal seguro Debugando a aplicação o erro ocorre no seguinte trecho de codigo dentro do arquivo "ACBrWinINetReqResp.pas" ... if HttpSendRequest(pRequest, nil, 0, Pointer(Data), Length(Data)) then begin ... Ou seja, na segunda chamada da função "HttpSendRequest" acaba me retornando "false" O erro também ocorre com a seguinte configuração: SSLCryptLib := cryWinCrypt; SSLLib := libCustom; SSLXmlSignLib := xsXmlSec; SSLHttpLib := httpWinHttp; Porém a descrição do erro é apenas "Erro interno". Lembrando que quando escolho o certificado A1, consigo sem realizar varias requisições sem problemas...
  24. @Leivio Fontenele criei um pull request alterando uma linha, pois os servidores do eSocial estavam acusando que o DigestMethod era invalido. reference.DigestMethod = "http://www.w3.org/2001/04/xmlenc#sha256"; ficando assim static XmlDocument SignXML(string mensagemXML, X509Certificate2 certificado, string AAtributoId, string APin) { CryptoConfig.AddAlgorithm(typeof(RSAPKCS1SHA256SignatureDescription), "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"); System.Xml.XmlDocument xmlDoc = new XmlDocument(); RSACryptoServiceProvider Key = new RSACryptoServiceProvider(); SignedXml SignedDocument = default(SignedXml); KeyInfo keyInfo = new KeyInfo(); xmlDoc.LoadXml(mensagemXML); Key = (RSACryptoServiceProvider)certificado.PrivateKey; keyInfo.AddClause(new KeyInfoX509Data(certificado)); SignedDocument = new SignedXml(xmlDoc); SignedDocument.SigningKey = Key; SignedDocument.KeyInfo = keyInfo; SignedDocument.SigningKey = LerDispositivo(Key, APin); SignedDocument.SignedInfo.CanonicalizationMethod = "http://www.w3.org/TR/2001/REC-xml-c14n-20010315"; SignedDocument.SignedInfo.SignatureMethod = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"; Reference reference = new Reference(); if (AAtributoId == "0") { reference.Uri = string.Empty; } else { reference.Uri = "#" + AAtributoId; } reference.DigestMethod = "http://www.w3.org/2001/04/xmlenc#sha256"; reference.AddTransform(new XmlDsigEnvelopedSignatureTransform()); reference.AddTransform(new XmlDsigC14NTransform(false)); SignedDocument.AddReference(reference); SignedDocument.ComputeSignature(); System.Xml.XmlElement xmlDigitalSignature = SignedDocument.GetXml(); xmlDoc.DocumentElement.AppendChild(xmlDoc.ImportNode(xmlDigitalSignature, true)); return xmlDoc; }
  25. Trocou o número de séria e a senha do certificado no exemplo?
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...