Jump to content

Search the Community

Showing results for tags 'openssl'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

There are no results to display.

Forums

  • Fórum Aberto - ACBr
    • ACBr News
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrMonitor PLUS
    • ACBrDFe
    • ACBrTEFD e Dúvidas sobre TEF
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
    • Dia do ACBr
  • Suporte Pago - SAC
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • ACBr's Pub
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Data Base
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categories

  • Suporte Pago - SAC
    • ACBrMonitorPLUS - SAC
    • Utilitários - SAC
    • ACBrLib - SAC
    • Dia do ACBr 1a edição
  • Free Download
    • ACBrMonitorPLUS
    • Demos / Testes / Utilitários
    • ACBrLIB
    • Apresentações - Palestras

Calendars

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Community Calendar
  • Feriados Nacionais

Blogs

  • Daniel Simoes' Blog
  • André Ferreira de Moraes
  • Moderadores ACBr
  • Teste de Blog
  • Notícias do ACBr

Categories

  • Suporte Pago - SAC
    • Webinars
    • Video Aulas
    • Palestras - Dia do ACBr 1a Ediçao
  • Vídeos Abertos
    • Video Aulas
    • Comunicados
    • Palestras - Dia do ACBr 1a Ediçao
  • Campanhas promocionais

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Skype


Localização


Interesses


CNPJ da Empresa


CPF

Found 35 results

  1. Erro 12175 - Um ou mais erros foram encontrados no certificado Secure Sockets Layer (SSL) enviado pelo servidor. O erro acima está acontecendo no cliente mesmo com todas as atualizações dos Windows instaladas e a configuração correta para certificado A3, no caso WinCrypt. Alguém pode ajudar ?
  2. Boa tarde, tudo bem? Estou com problemas na transmissão do MDF-e, onde o erro "1824 - Element '{http://www.portalfiscal.inf.br/mdfe}cInt': '17' is not a valid value of the local atomic type." é retornado. Em resumo, sempre que o campo 'cInt', que representa o 'Código interno do veículo', tem exatamente 2 caracteres, esse erro é retornado. Em nosso sistema, usamos dois tipos de DLLs: As do tipo OpenSSL, através da biblioteca xsXmlSec, para certificados apontados de arquivos, e as do tipo MSXML5, através da biblioteca xsMsXml, para certificados instalados. O usuário define a melhor opção. Realizei vários testes alternando entre essas duas opções, e renomeando os Schemas do MDFe, e após os testes percebi que somente quando usado o OpenSSL com os Schemas conforme vêm no ACBr (usando o arquivo 'tiposGeralMDFe_v3.00.xsd' por padrão) é que acontece esse erro, mas se usado o MsXml, esse erro não ocorre, e ao renomear os arquivos para usar sempre o arquivo 'tiposGeralMDFe_v3.00-OPENSSL.xsd', o erro não ocorre em nenhum dos dois tipos de transmissão. Ao comparar esse dois Schemas, vi que a única diferença entre eles está na linha 565: <xs:pattern value="[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}"/> (no OpenSSL, ao invés do "{0,}" temos o "*") Gostaria de saber porque existem esses dois arquivos de Schemas, sendo que o 'tiposGeralMDFe_v3.00-OPENSSL.xsd' funciona para os dois casos. Seria para alguma outra biblioteca? Desde já agradeço pela ajuda e compreensão. Valeu!
  3. Boa tarde pessoal, estou instalando meu sistema em computador com windows 10 64Bits Single language, já copiei todas as DLL's utilizadas pelo ACBR, conforme descrito beste tópico. Porém continuo não conseguindo abrir o sistema. Mensagem de erro: O aplicativo não pôde ser iniciado corretamente (0xc000007b). Mais alguma ideia do que pode ser?
  4. Pessoal, até o momento estávamos utilizando a Capicom para assinar os XMLs da NFS-e. Mas por causa de problemas em alguns provedores, mudamos para a WinCrypt. Mas agora ao abrir o executável pede várias DLLs, exemplo: iconv.dll, libxml2.dll, libxmlsec.dll, libxslt.dll e zlib1.dll Isso está normal? Fiz tudo certo?
  5. Boa tarde fiz todas alterações mencionadas no tópico, 1 = Todo o fonte atualizado 2 = De {.$DEFINE USE_MINGW} para {$DEFINE USE_MINGW} 3 = Reinstalar 4 = Atualizei as dll da pasta ACBr\DLLs\XMLSec\MinGW\32 - Para o System32, SysWOW64 e pasta da minha aplicação 5 = Configuração do componente AcbrNfce.SSL.SSLType := LT_TLSv1_2; AcbrNfce.Configuracoes.Geral.ModeloDF := moNFCe AcbrNfce.Configuracoes.Geral.VersaoDF := ve400 AcbrNfce.Configuracoes.Geral.SSLLib := libOpenSSL; AcbrNfce.Configuracoes.Geral.SSLCryptLib := cryOpenSSL; AcbrNfce.Configuracoes.Geral.SSLHttpLib := httpOpenSSL; AcbrNfce.Configuracoes.Geral.SSLXmlSignLib := xsXmlSec; E o problema persiste; - Inativo ou Inoperante tente novamente. Erro Interno: 10091 Erro HTTP: 500. Porem quando utilizo libWinCrypt funciona tudo perfeitamente AcbrNfce.Configuracoes.Geral.SSLLib := libWinCrypt; Alguém já passou ou esta passando; Att;
  6. Boa Tarde! A OpenSSL passou a dar suporte ao Certificados A3 ou ainda é somente A1 ?
  7. Senhores, boa tarde. Estamos migrando alguns sistemas que utilizam o componente ACBrNFe de 32 para 64 bits, utilizando o Delphi 10.2. Pois bem, estou utilizando uma versão do ACBr baixada do repositório hoje (26/04/2018). O componente está configurado da seguinte maneira: o arquivo ACBr.inc está configurado da seguinte maneira: Quando efetuo a compilação para 64bits o meu sistema acusa o seguinte erro (Ao que me parece, não estão sendo carregadas as DLL's do OpenSSL): Quando efetuo a compilação em 32bits, a compilação transcorre sem nenhum problema, sendo efetuada a transmissão normalmente. Alguem pode me dar alguma dica com relação à isso? Obs: já li todo o conteúdo relacionado nos tópicos abaixo e não consegui resolver o meu problema:
  8. Version 1.0.0.1

    788 downloads

    O Utilitário ACBrSATSign, permite que você gere assinaturas usando o CNPJ da Software House e do usuário do SAT. A assinatura gerada, segue as especificações do SAT, e requer o Certificado Digital A1 ou A3 da Software House
  9. Bom dia, Ao tentar enviar uma NFS-e para a prefeitura de Goiânia, no momento de assinar o documento, está ocorrendo um erro no método function "TDFeSSLXmlSignXmlSec.XmlSecSign(const ConteudoXML: AnsiString; SignatureNode, SelectionNamespaces, InfElement: AnsiString): AnsiString" , no seguinte trecho de código: SignResult := xmlSecDSigCtxSign(FdsigCtx, SignNode); if (SignResult < 0) then begin xmlsecMsg := xmlSecErrorsGetMsg(2); raise EACBrDFeException.CreateFmt(cErrDSigSign + sLineBreak + xmlsecMsg, [SignResult]); end; A mensagem é "Erro -1: Falha ao assinar o Documento strdup function failed" Consigo carregar as informações do cerficado normalmente no método SSL.CarregarCertificado
  10. Boa tarde, Na tentativa de adicionar notas ao lote, usando o comando NFe.AdicionarNfe, obtenho no retorno o erro acima. Estou usando a versão 1.1.0.33 do monitor. Alguma sugestão de configuração do SSL na aba certificados? De modo a evitar essas ocorrências? Obrigado.
  11. Ao consultar o manual do monitor plus constatei que o comando NFE.CertificadoDataVencimento funciona apenas para a versão capicom. Como vou fazer para checar a data do vencimento do certificado se não estou usando a CAPICOM?
  12. Bom dia. Estou tendo problemas com alguns clientes depois da última atualização referente à comunicação com os certificados digitais. Gostaria de saber como ajustar as propriedades para que os componentes trabalhem da mesma forma utilizada anteriormente ao refactoring. Reparei que o valor defaul para as propriedades é 'none': constructor TGeralConf.Create(AConfiguracoes: TConfiguracoes); begin ... FSSLLib := libNone; FSSLCryptLib := cryNone; FSSLHttpLib := httpNone; ... end; Dependendo do sistema operacional do cliente, estão sendo apresentados os seguintes erros: Método "Enviar" não implementado em: TDFeSSLHttpClass; Parâmetro incorreto; Falha em obter Provedor de Cripotografia do Certificado. Erro: 80090016. Como proceder? Obrigado.
  13. Bom dia Galera. Estou no processo de troca de CAPICOM para OPENSSL acompanhei o topico do Daniel Simoes para fazer a migração Fiz em alguns sistemas aqui e funcionou sem problemas. Porem ontem fiquei o dia todo com um projeto do cliente e não consegui resolver tive que voltar uma versão do sistema para que o cliente conseguisse continuar com a emissão. O erro que apresenta segue em anexo. Aqui em maquina de teste esta funcionando certinho, erro apenas em produção. Certificado do cliente A1 NO projeto a unica alteração que fiz foi essa: NFE.Configuracoes.Geral.SSLLib := libWinCrypt; Eu passo o certificado através no numero de serie, o certificado esta instalado na maquina e funcionando. NFE.Configuracoes.Certificados.NumeroSerie := UpperCase(CertificadoDigital); (Ja alterei pra tentar passar o caminho do PFX e senha mais deu o mesmo erro) A versão estou usando NFE.Configuracoes.Geral.VersaoDF := ve310 .. Ja alterei pra NFE.Configuracoes.Geral.VersaoDF := ve400 e deu mesmo erro ... Compilei o demo .. e tambem com problema... testei em 2 computadores do cliente e mesmo problema ... não sei mais o que fazer.... Help-me .. uhahuuah
  14. Olá pessoal, Com o intuito de acabar com a dependência da CAPICOM, nos fontes do Projeto ACBr, apliquei um amplo refactoring, nas Units de ACBrDFeSSL e suas derivadas... O que é CAPICOM ? https://en.wikipedia.org/wiki/CAPICOM Porque usávamos a CAPICOM ? Usar diretamente as APIs do Windows não é uma tarefa simples.... A CAPICOM, facilita um pouco, as tarefas que podem ser feitas com a WinCrypt (ou MS Crypto), para acesso a certificados digitais instalados no Windows Quais as desvantagens da CAPICOM ? A Microsoft condenou a mesma como obsoleta. (esse é o principal motivo) Ela precisa ser registrada no Windows para funcionar Não suporta 64 bits O que será usado no lugar da CAPICOM ? Usaremos diretamente as APIs do Windows, ou seja, a WinCrypt (também conhecida como "MS Crypto" ou "CAPI"). Ou seja, encaramos o desafio e agora usamos apenas métodos da WinCrypt para acessos a Certificados Digitais no Windows. Para facilitar o acesso a API WinCrypt, estamos usando as Units do diretório: "Fontes\Terceiros\CodeGear\", mas especificamente a Unit "ACBr_WinCrypt.pas". Quais as vantagens da WinCrypt ? Ela está presente de forma nativa, em todas as versões do Windows (desde o Windows XP), ou seja, não requer instalação. Possui versões 32 e 64 bits Não requer registro da DLL Não requer a instalação de pacotes .NET ou Java Onde posso encontrar a WinCrypt ? Ela já está instalada, de forma nativa, no seu Windows... com o nome: "crypt32.dll" Se o seu Windows é 64 bits, você encontrará a mesma em: 32 bits: "C:\Windows\SysWOW64" 64 bits "C:\Windows\System32" Se o seu Windows é 32 bits, você encontrará a mesma em: "C:\Windows\System32" O suporte a Delphi7 será mantido ? SIM. Apesar de já anunciarmos o fim do Suporte a D7, tivemos o cuidado de testar as alterações no D7. Para isso, adaptamos as units da pasta "Fontes\Terceiros\CodeGear\" para o suporte a D7... Como configurar para usar a WinCrypt e não a CAPICOM ? A maneira mais simples é configurar a seguinte propriedade: ACBrNFe1.Configuracoes.Geral.SSLLib := libWinCrypt; Na verdade, a propriedade ACBrDFe.Configuracoes.Geral.SSLLib passou a ser virtual... ou seja, ela configurará de forma indireta, as 3 novas bibliotecas de TDFeSSL... Se você ler os fontes, quando rodamos o código acima, o seguinte código será executado. procedure TGeralConf.SetSSLLib(AValue: TSSLLib); case AValue of ..... libWinCrypt: begin SSLCryptLib := cryWinCrypt; SSLHttpLib := httpWinHttp; SSLXmlSignLib := xsMsXml; end; end; Se você deseja uma configuração diferenciada, poderá configurar as bibliotecas individualmente...Exemplo: ACBrNFe1.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; ACBrNFe1.Configuracoes.Geral.SSLHttpLib := httpWinINet; ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib := xsXmlSec; Como remover completamente, as Units da CAPICOM dos meus fontes ? Abra o arquivo \ACBr\Fontes\ACBrComum\ACBr.inc e altere a seguinte linha: {.$DEFINE DFE_SEM_CAPICOM} para: {$DEFINE DFE_SEM_CAPICOM} Ou seja, remova o "." do inicio O que mudou em ACBrDFeSSL ? Muita coisa.... (veja abaixo o trecho do "Change-Log").. Estudar os fontes do projeto Demo "\ACBr\Exemplos\ACBrDFe\ACBrNFe\Delphi", é a melhor maneira de conhecer as modificações. Veja abaixo, um resumo ilustrado: 1 - Agora você pode criar a sua própria janela de escolha de Certificado Veja esse exemplo de código, extraído de ACBrNFe_Demo. onde usamos o método "ACBrNFe1.SSL.LerCertificadosStore", para carregar todos os certificados da Store, definida em "ACBrNFe1.SSL.StoreName", após isso, as informações dos certificados podem ser obtidas em "ACBrNFe1.SSL.ListaCertificados" ACBrNFe1.SSL.LerCertificadosStore; For I := 0 to ACBrNFe1.SSL.ListaCertificados.Count-1 do begin with ACBrNFe1.SSL.ListaCertificados[I] do begin 2 - Agora você pode selecionar as bibliotecas de TDFeSSL, individualmente CryptLib: Permite definir qual será a biblioteca de Criptografia. Ela possui métodos como:"SelecionarCertificado", "CarregarCertificado", "CalcHash". além de propriedades como "DadosCertificado" e "ListaCertificados". TSSLCryptLib = (cryNone, cryOpenSSL, cryCapicom, cryWinCrypt) HttpLib: Usada para acesso HTTP e HTTPs, permitindo informar o Certificado na conexão. Possui métodos como: "Enviar" e propriedades como: "HTTPResultCode" e "InternalErrorCode" TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy); XMLSignLib: Usada para validar XMLs (contra um Schema), assinar um XML, Validar a assinatura existente em um XML. Possui métodos como: "Assinar", "Validar" e "VerificarAssinatura" TSSLXmlSignLib = (xsNone, xsXmlSec, xsMsXml, xsMsXmlCapicom); 3 - Independência das configurações de segurança do I.E. Isso pode ser obtido, se você utilizar SSLHttpLib = "httpWinHttp" ou "httpOpenSSL" Você poderá definir nos seus fontes, independente das configurações do Internet Explorer, configurações como o Tipo de segurança e TimeOut da tentativa de conexão. Essa funcionalidade já estava presente nas Units de acesso que utilizavam o OpenSSL a algum tempo. e agora com a nova Unit que faz acesso a HTTPS, usando a API do Windows chamada "WinHTTP", isso também será possível. O modelo: "httpWinINet" irá usar a API do Windows, chamada "WinINet", a qual já utilizávamos, e ela depende de configurações do I.E. 4 - Carregar o certificado por ArquivoPFX ou DadosPFX, com a WinCrypt ou CAPICOM Essa funcionalidade já estava presente, quando SSLCryptLib = cryOpenSSL. e não estava disponível para CAPICOM. Mas agora isso é possível, com a SSLCryptLib = cryCapicom ou cryWinCrypt. Ou seja, Se você tem um certificado A1, você não precisa instalar o certificado no Windows. Isso pode parecer pouco importante em uma primeira impressão... Mas veja as possibilidades: O certificado A1 poderia estar em um Banco de dados, ou em um Servidor Web, e ser carregado de forma dinâmica pela sua aplicação, independente de ser instalado manualmente no Windows. 5 - Compilar seu Executável em 64 bits Lembre-se que quando você compila o seu programa em 64 bits, todas as DLLs externas de qual ele necessitar, também devem ser de 64 bits. Portanto para isso, você não poderá usar a XMLSignLib = xsMsXml, pois a biblioteca da Microsoft para assinatura de XMLs "MSXML" não possui versão 64 bits. Mas observe que agora você pode usar a biblioteca WinCrypt com a XmlSec, basta configurar corretamente as bibliotecas de criptografia. Nota: Ainda não conseguimos, fazer com que a XMLSec possa usar certificados A3, mas isso deverá ser possível no futuro, pois a XMLSec tem suporte a "MSCrypto" Diagrama de Classes Como posso ajudar ? (Tarefas a serem efetuadas) 1 - Fazer a XmlSec funcionar usando a "mscrypto" Ainda não conseguimos fazer a XMLSec, usar a MSCrypto, atualmente ele apenas usa a "openssl". Porque isso é importante ? Temos vários problemas, com a msxml, como por exemplo: A Microsoft não distribui a mesma, de forma nativa, com o Windows (arquivo msxml5.dll) Ela não suporta 64 bits A licença de uso dassa biblioteca, é valida apenas para quem tem o Office instalado... Portanto, seria ótimo se pudéssemos ficar livres da MSXML, mas para isso, precisamos fazer o ACBr conseguir usar a XMLSec com suporte a MSCrypto (hoje ele só suporta OpenSSL)... Na verdade, já podemos usar WinCrypt + XmlSec, mas apenas para certificados A1, pois o ACBr é capaz de exportar o certificado A1 do Windows, para que o mesmo seja usado pelo OpenSSL. (ele fará isso internamente, e de forma transparente para o usuário) Quando conseguirmos fazer a XmlSec usar a MSCrypto (ou WinCrypt), conseguiremos compilar a aplicação em 64 bits, e com suporte a certificados A3 2 - Compilar os fontes da XMLSec no Windows, em 32 e 64 bits Hoje o único site que distribui a XMLSec já compilada para Windows é https://www.zlatkovic.com/libxml.en.html (Thanks Igor). Entretanto, podemos notar que os binários estão defasados, e não há uma versão 64 bits, com suporte a "mscrypto" Veja como ficou o "Change-Log" do refactoring em ACBrDFeSSL -- ACBrDFeSSL -- [*] Amplo refactoring promovido, separando a classe "TDFeSSLClass" em 3 novas classes: "TDFeSSLCryptClass" - para Carregar certificados e efetuar criptografia "TDFeSSLHttpClass" - para comunicação HTTP/HTTPS com suporte a Certificados "TDFeSSLXmlSignClass" - Para Validar XMLs, validar assinaturas e Assinar XML com Certificados [+] "TSSLLib", adicionado os tipos "libWinCrypt, libCustom" [+] Criada nova classe "TDadosCertificado", para conter os dados do certificado carregado [+] Criada nova classe "TListaCertificados",para conter uma lista de Objetos do tipo TDadosCertificado, com todos os certificados de uma "Store", e após a chamada do método "TDFeSSL.LerCertificadosStore" [+] Adicionada propriedade "TDFeSSL.StoreName: String", usada apenas no Windows. Nome da Store a ser aberta, padrão "MY" [+] Adicionada propriedade "TDFeSSL.StoreLocation: TSSLStoreLocation", usada apenas no Windows. Default "slCurrentUser". TSSLStoreLocation = (slMemory, slLocalMachine, slCurrentUser, slActiveDirectory, slSmartCard); [+] Adicionado o método: "TDFeSSL.LerCertificadosStore", apenas Windows, para carregar todos os Certifcados de "TDFeSSL.StoreName" para a lista de Objetos: "TDFeSSL.ListaCertificados" [+] Adicionado a propriedade "TDFeSSL.DadosCertificado", para permitir acesso aos dados do certificado carregado [+] Adicionada a propriedade "TDFeSSL.SSLCryptLib: TSSLCryptLib" default cryNone; para definir a classe de criptografia TSSLCryptLib = (cryNone, cryOpenSSL, cryCapicom, cryWinCrypt); [+] Adicionada a propriedade "TDFeSSL.SSLHttpLib: TSSLHttpLib" default httpNone; para definir a classe de comunicação HTTP/HTTPS TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy); [+] Adicionada a propriedade "TDFeSSL.SSLXmlSignLib: TSSLXmlSignLib" default xsNone; para definir a classe de assinatura de validação de XML TSSLXmlSignLib = (xsNone, xsXmlSec, xsMsXml, xsMsXmlCapicom); [+] Adicionada a propriedades "TDFeSSL"SSLType: TSSLType" default LT_all; para permitir definir o tipo de criptografia em HTTPS sendo: TSSLType = (LT_all, LT_SSLv2, LT_SSLv3, LT_TLSv1, LT_TLSv1_1, LT_TLSv1_2, LT_SSHv2) suportado apenas em TDFeHttpOpenSSL e TDFeHttpWinHttp -- ACBrDFeConfiguracoes -- [+] Adicionada as propriedades: property SSLCryptLib: TSSLCryptLib property SSLHttpLib: TSSLHttpLib property SSLXmlSignLib: TSSLXmlSignLib [*] Propriedade "SSLLib: TSSLLib" passou a ser virtual, e mantida por compatibilidade. Ajusta-la irá produzir ajustes em "SSLCryptLib", "SSLHttpLib" e "SSLXmlSignLib". Exemplo: if SSLLib = libOpenSSL then begin SSLCryptLib := cryOpenSSL; SSLHttpLib := httpOpenSSL; SSLXmlSignLib := xsXmlSec; end; -- ACBrDFe -- [+] Adicionado suporte a configurações de "SSLCryptLib", "SSLHttpLib", "SSLXmlSignLib" -- ACBrDFeOpenSSL -- [*] Amplo refactoring. Removido código referente a comunicação HTTP/HTTPs que foi migrado para "ACBrDFeHttpOpenSSL" [*] Removido código referente a assinatura digital e Validação de XML, que foi migrado para "ACBrDFeXsXmlSec" -- ACBRDFeWinCrypt -- [+] Nova Unit, para manipular Certificados do Windows e efetuar assinatura digital, usando a Win API WinCrypt (MSCrypto/CAPI) -- ACBrDFeCapicom -- [*] Refactoring, para usar boa parte do código de "ACBRDFeWinCrypt" -- ACBrDFeHttpOpenSSL -- [+] Adicionada nova Unit, derivada de ACBrDFeOpenSSL, criando implementação da classe de TDFeSSLHttpClass para comunicação http e https, usando a Synapse e OpenSSL -- ACBrDFeHttpWinApi -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLHttpClass para comunicação http e https, usando as APIs do Windows WinHttp ou WinINet -- ACBrDFeHttpIndy, ACBrDFeCapicomDelphiSoap -- [*] Unit renomeada de "ACBrDFeCapicomDelphiSoap" para "ACBrDFeHttpIndy", e refatorada para não depender da CAPICOM -- ACBrDFeXsXmlSec -- [+] Adicionada nova Unit, derivada de ACBrDFeOpenSSL, criando implementação da classe de TDFeSSLXmlSignClass usando a Lib XMLSEC -- ACBrDFeXsMsXml -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLXmlSignClass usando a Lib MSXML -- ACBrDFeXsMsXmlCapicom -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLXmlSignMsXml usando a Lib MSXML e CAPICOM -- ACBrDFeException -- [+] Adicionado o exception "EACBrDFeExceptionNoPrivateKey" -- ACBrDFeUtil -- [+] Adicionado o método "SignatureElement: String" (por DSA) Obrigado... e considere nos ajudar, contratando o SAC, por pelo menos 1 mês http://www.projetoacbr.com.br/forum/sacv2/sobre/ http://www.projetoacbr.com.br/forum/sacv2/questoes_importantes/ http://www.projetoacbr.com.br/forum/sacv2/cadastro/ Fique atento.... Em breve, organizaremos um Webinar sobre essas modificações
  15. Olá pessoal, Acabei de enviar para o SVN, modificações para que o ACBrDFe e ACBrDFeOpenSSL suportem comunicação segura usando TLS 1.2 O componente ACBrNFe, já irá tentar ajustar a comunicação para TLS 1.2, se detectar que a versão é superior a 3.1 Atualizando o OpenSSL Para usar TLS 1.2, é necessário ter a versão do OpenSSL superior a 1.0.1, normalmente a versão usada é a 0.9.8.14, e portanto ela precisa ser substituída. Se você tentar utilizar uma versão inferior, o ACBrDFeOpenSSL acusará o seguinte erro: Porém não basta apenas baixar e copiar uma nova versão das DLLs do OpenSSL (libeay32.dll e ssleay32.dll). O problema, é que a libxmlsec, que se encontra na pasta: "ACBr\DLLs\XMLSec", não é compatível com OpenSSL superior a 0.9.8... e se você simplesmente atualizar as Libs do OpenSSL no seu sistema, provavelmente o ACBrNFe, passará a acusar Exceptions no momento de assinar o XML A solução, é utilizar um novo conjunto de DLLs, da OpenSSL e libXmlSec, libXML, e demais... você pode achar essas DLLs em: ftp://ftp.zlatkovic.com/libxml/ Essas DLLs foram compiladas com "MinGW", e portanto elas precisarão das DLLs de RunTime, da MinGW. Para sua conveniência, copiamos todas as DLLs necessárias para a pasta: \ACBr\\DLLs\XMLSec\MinGW. Observe que temos a versão 32 e 64 bits dessas DLLs... quais eu devo usar ? Em resumo, use 32 se o seu Compilador é 32 bits, e 64 apenas se você estiver usando um Compilador que gere .EXE em 64 bits... Leia esse tópico, para compreender melhor: Copie TODAS as DLLs (e não somente algumas) da pasta "\ACBr\DLLs\XMLSec\MinGW\32" ou "\ACBr\trunk2\DLLs\XMLSec\MinGW\64" (conforme o seu compilador), para o seu diretório de DLLs... (se não tem certeza para onde você deve copiar as DLLS, leia com atenção o Post indicado anteriormente) Outro problema, é que a MinGW, gera as DLLs com uma nomenclatura ligeiramente diferente do VisualC, exemplo: libxmlsec1.dll com MinGW, e "libxmlsec.dll" com VisualC. Portanto, o ACBr teria dificuldades em encontrar essas DLLs e carrega-las de forma dinâmica. Precisamos portanto, informar ao ACBr, que usaremos o conjunto de DLLs no formato da MinGW... Isso é feito, editando o arquivo: ACBr.inc. Repare que lá no final do ACBr.inc, temos a seguinte linha: {.$DEFINE USE_MINGW} Apenas remova o ".", alterando para: {$DEFINE USE_MINGW} Pronto... com isso você estará pronto para usar o ACBr com OpenSSL e TLS 1.2, seja em 32 ou 64 bits... Obrigado... e considere nos ajudar, contratando o SAC ocasionalmente: http://www.projetoacbr.com.br/forum/sacv2/sobre/ http://www.projetoacbr.com.br/forum/sacv2/questoes_importantes/ http://www.projetoacbr.com.br/forum/sacv2/cadastro/
  16. Boa tarde, Pessoal, estava testando os exemplos da NF-e, e não sei bem se é "erro", ao selecionar o OpenSSL, e inserir as informações do certificado, o botão para Capturas o Número de Série do Certificado (oque abre uma janela do sistema para escolhermos o certificado já instalado), o ACBr retorno que o OpenSSL não pode recuperar o Número de Série (não suportado), quando mudamos para o Capcom ele abre normalmente. Nos exemplos que eu usava e conhecia essa janela de selecionar abrir para os dois tipos de certificados! Seria erro, alteração no SSL, ou não tem mais suporte mesmo?
  17. Olá Pessoal, Estou rastreando os pontos mais críticos no tempo de inicialização do sistema da empresa onde trabalho. Um dos pontos que achei, foi na unit ssl_openssl_lib.pas, especificamente na inicialização da biblioteca (função initSSLInterface), mais especificamente na chamada da função randScreen(). Nos meus testes, a chamada pra essa única função atrasa a inicialização do sistema em 1 segundo. Segundo os links abaixo[1,2], essa chamada é legada e não é mais necessária. Proponho as seguintes alternativas: 1- Eliminar completamente essa chamada 2- Criar um define para selecionar se essa função deve ser executada assim que a biblioteca é inicializada ou não. Posso mandar um patch para essa alteração caso seja aceita. Alguém tem algum comentário? A favor? Contra? Referências: [1] http://security.stackexchange.com/questions/7718/openssl-rand-poll-good-enough [2] https://curl.haxx.se/mail/lib-2004-06/0133.html
  18. [Ambiente de desenvolvimento] - PC Intel Core i3 (8GB de RAM) - Linux (Ubuntu 16.04 - x64) - Lazarus (1.6 x64) ----------------------------------------------------------- Pessoal, Estou com problema com OpenSSL. Ao tentar validar/assinar. Ocorre erro "external: SIGSEGV". Estamos desenvolvendo nosso próprio sistema. Porem no nosso ocorre mesmo erro que o Demo do ACBr (por isso as telas do proprio ACBr, os erros são os mesmos). Tentamos Fedora, CentOS, Ubuntu. Ocorre o mesmo erro. Já pesquisamos exaustivamente no Google, aqui no forum... e nada de solução concreta. Detalhe: Usando ACBr normal, não instala os componentes. E tivemos de utilizar o que esse topico instrui (so assim conseguimos instalar o ACBr) como fazer: Funcionando no Linux 64 bits As telas ("tela1.png" / "tela2.png" / "tela3.png") mostram como ocorre. Alguem ja passou por isso? Como resolver?
  19. Bom dia Estou com problemas ao assinar os xmls de EnvioSincrono e CancelarNFSe com OpenSSL, para o provedor Fiorilli. Existem outros tópicos referentes a outros provedores com erros semelhantes no fórum, porém não estou conseguindo solucionar o problema. O arquivo de envio sincrono deve ter cada RPS assinado individualmente além de no fim do Lote ter uma assinatura geral. O método TDFeOpenSSL.Assinar é chamado pela primeira vez para assinar o RPS, depois no envio do loteSincrono é chamado novamente. Não estou conseguindo associar qual o valor correto para passar no parametro "infElement" para que o método XmlSecFindSignatureNode encontre o nó para a assinatura (como citado pelo @Daniel Simoes no post http://migre.me/ulwKX). Segue anexo um xml válido de LoteRPSSincriono que o responsável pelo provedor me enviou. OBS: Antes da revisão 11936 do SVN, era possível enviar os lotes síncronos via OpenSSL, mas o cancelamento assim como agora também não era possível enviar. recepcionarLoteRpsSincrono.xml
  20. Boa tarde. Uso CAPICOM no Delphi para NFC-e, como também CAPICOM no ACBrMonitor para uma outra aplicação que estamos desenvolvendo em Java e funciona muito bem. Um outro desenvolvedor configurou o ACBrMonitor para usar OpenSSL, selecionou o PFX (certificado A1 da SOLUTI), senha, etc. e tentou emitor o NFCe, o ACBrMonitor retornou a seguinte mensagem: XMotivo=Rejeicao: Falha no reconhecimento da autoria ou integridade do arquivo digital Fui no ACBrMonitor, mudei de OpenSSL para CAPICOM, tentei emitir o mesmo NFC-e, e funcionou (ou seja, não é erro de XML, namespace, etc. como ocorreu em outros tópicos que relatam esse problema). Fizemos uma outra NFC-e com os mesmos itens, mas dessa vez usamos um certificado de outra empresa (CertSign), e ajustamos a configuração para OpenSSL, funcionou. Em resumo: Certificados CertSign funcionaram com OpenSSL e CAPICOM Certificados SOLUTI funcionaram com CAPICOM e falharam com OpenSSL ("falha no reconhecimento de autoria"). Creio não ser um problema no ACBrMonitor, e sim algo mais baixo nível (talvez o ACBrNFe ou até mesmo algum ajuste na configuração do OpenSSL, tal como "cadeias de certificado", etc.). Estou preparando o ambiente para debugar melhor o ACBrMonitor via Lazarus, mas decidi postar para que os amigos possam dar alguma opinião sobre o tema, pois como sabemos o CAPICOM funciona relativamente bem, mas não é multiplataforma e pelo que li a Microsoft não tem lançado mais atualizações pra ele. Versão do ACBrMonitor: ACBrMonitorPLUS 0.1.11.4 SO: Windows 7 x64
  21. Bom dia, senhores Estou recebendo a mensagem de erro "[Error] ACBrDFeOpenSSL.pas (146): Undeclared identifier 'Init' " quando tento compilar um projeto legado no qual estou trabalhando. É a primeira vez que utilizo componentes ACBr então posso estar perguntando algo extremamente básico, e desde já peço desculpas se esse for o caso, mas realmente estou há pelo menos três dias pesquisando, inclusive aqui no fórum e tentando alternativas para solucionar o problema, mas sem nenhum sucesso. Estou trabalhando com Delphi 7 e componentes ACBr Trunk 2 e já fiz a limpeza dos componentes e reinstalação várias vezes. A linha mencionada no erro de compilação traz o comando "libxml2.Init;" em uma referência à unit libxml2.pas, que declara vários métodos contidos na DLL libxml2.dll. No meu entendimento, a unit está tentando inicializar o acesso à DLL libxml2.dll, mas por algum motivo não está reconhecendo o método Init. Alguém sabe o que poderia estar acontecendo nesse caso e como resolver essa situação? Caso precisem de maiores detalhes estou à disposição! Grato pela atenção de todos!
  22. Olá, Atualizei o meu repositório e agora quanto tento assinar a nota fiscal usando o openssl está ocorrendo o seguinte erro: First chance exception at $75403E28. Exception class EACBrDFeException with message 'Erro: Falha ao interpretar o XML "xmlParseDoc"'. Process ACBrNFe_demo.exe (5260) Esse erro ocorre tanto na minha aplicação como no Demo AcbrNFe, já tentei tudo que imaginei e não consegui resolver e estou precisando resolver isso para ativar a implementação da partilha do icms. Por favor, alguém tem alguma dica? Já tentei colocando a dll no diretório do executável, na pasta do windows, testei em outro computador e nada adiantou e isso só começou a ocorrer depois que atualizei o repositório, pois o executável anterior da atualização está funcionando (que já estava usando o trunk2). Consigo consultar o status de serviço normalmente, logo imagino que não seja qualquer problema com certificado, sendo que uma versão compilada anteriormente não ocorre o erro. Grato.
  23. Boa noite. Estou com um erro em alguns clientes que são 64 bits, tanto no meu sistema quanto no acbrNFeDemo está retornando o erro (Nota(s) não confirmadas:) em computadores 32 bits não está aparecendo esse erro, copiei as DLLs das pasta (XMLSec, OpenSSl, Diversos, Capicom) do ACBr e colei no na pasta syswow64 e na System32 do PC 64bits e também na pasta do sistema. A configuração está setada ACBrNFe.Configuracoes.Geral.SSLLib := libCapicom Sem solução o erro é somente ao enviar o xml os outros processos são executados como consulta de serviço gera o xml mas ao enviar sempre retorna esse erro são três computadores 64 bits diferentes que estão ocorrendo esse erro!
  24. Estou com essa mensagem ao tentar validar uma nota usando openssl. Access violation at Address 74AF934E in module 'msvcrt.dll'. Read of address 00000000. Uso delphi xe5 mas o erro ocorre tambem no delphi 7. Windows 10 x64. Estranho que estava funcionando tudo certinho. Grato, Diran erro acbrnfe.docx
  25. Olá, Em alguns PCs(Windows 64bits) ao tentar executar a ação de assinar um XML(Só estão usando openssl na NF-e) usando openssl tenho o seguinte erro: "Error: unable to load default xmlsec-crypto library. Make sure that you have it installed and check shared libraries path (LD_LIBRARY_PATH) environment variable." Analisando o código identifiquei que esta exception é gerar pelo ACBr ao tentar executar o método "ACBrDFeOpenSSL.xmlSecCryptoDLLoadLibrary('openssl')"(linha 134). Estou usando as dll´s do OpenSSL(versão 0.9.8.14) que estão no repositório; As dlls estão na pasta do executável; Em maquinas 32bits ainda não tivemos esta falha. E em algumas 64bits apresentam o erro, não ocorre em todas. Eu teria que usar uma versão específica quando fosse 64bits?
×
×
  • Create New...