Ir para conteúdo
  • Cadastre-se

dev botao

Certificado Digital - Serializar


Ver Solução Respondido por André Ferreira de Moraes,
  • Este tópico foi criado há 2673 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Atualizei hoje mesmo meus Schemas e as Dll's, utilizando "svn://svn.code.sf.net/p/acbr/code/trunk2" e o erro persistiu, o que acho estranho é que o erro é apresentado somente quando tento enviar a nota, se consultar status ou consultar uma nota já enviada, não apresenta o erro... tentei também passar o diretório por \\192.168...., também por nome \\Servidor\D.... e não obtive sucesso, único jeito que funciona é mapeando a rede exemplo Y:\Sistema\Schemas, ou deixando localmente os Schemas e quanto a permissão de usuário já esta tudo liberado acessando normal, pois com a Capicom funciona perfeitamente. Se alguém tiver mais alguma dica aonde pode estar ocorrendo o erro, agradeço.

Postado

O erro esta ocorrendo dentro da Unit ACBrDFeOpenSSL na função Validar na seguinte parte:

    schema := xmlSchemaParse(parser_ctxt); <<<<<<<<< essa parte esta retornando nil, ja troquei a libxml2.dll para a mais recente e não deu certo
    // the schema itself is not valid
    if (schema = nil) then
    begin
      MsgErro := 'Error: the schema itself is not valid';
      exit;
    end;
 

  • Moderadores
Postado
1 hora atrás, Arrobba Sistemas disse:

O erro esta ocorrendo dentro da Unit ACBrDFeOpenSSL na função Validar na seguinte parte:

    schema := xmlSchemaParse(parser_ctxt); <<<<<<<<< essa parte esta retornando nil, ja troquei a libxml2.dll para a mais recente e não deu certo
    // the schema itself is not valid
    if (schema = nil) then
    begin
      MsgErro := 'Error: the schema itself is not valid';
      exit;
    end;
 

Posso confirmar que a validação não funciona com OpenSSL caso o caminho dos Schemas esteja no formato \\Servidor\Compartilhamento. 

Você pode mapear a unidade de rede para uma letra de unidade, ou usar Schemas locais.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado (editado)
Em 17/03/2017 at 09:13, BigWings disse:

Está usando IBX?

Ainda estou lidando com os vários bugs dele com a corrupção de caracteres e arquivos texto, e estudando a migração para FireDac.

No IBX eu consigo salvar o certificado como arquivo no banco e recuperar da seguinte forma:


CREATE TABLE ARQUIVOS (
    ID         INTEGER,
    NOME       VARCHAR(40),
    HASH_MD5   CHAR(32),
    ARQUIVO    BLOB SUBTYPE 0 SEGMENT SIZE 80
);
ALTER TABLE ARQUIVOS ADD CONSTRAINT ARQUIVOS_PK PRIMARY KEY (ID);

Para salvar o arquivo no banco:


IBQuery1.ParamByName('ARQUIVO').LoadFromFile(Filename, ftBlob);

E recuperar:


TBlobField(IBQuery1.FieldByName('ARQUIVO')).SaveToFile(Filename);

 

@BigWings eu mudei minha aplicação e não queria mais usar o CDS e nem o DataModulo, pelo menos para recuperar a informação.

Estou usando uma classe para isso e meu campo do arquivo na classe é um String, porém no banco é um Blob.
Não estou conseguindo realizar esse processo do 'TBlobField' pois não é um FIELD meu objeto.

Teria alguma forma de transformar esse Blob do Banco de dados para Stream ou blob, de alguma forma sem precisar utializar datamodulo e cds ?

Não queria mais usar o CreateBlobStream do DataSet, mas usar de alguma forma onde passe minha String da classe e ele converta pra mim.


 

Obrigado e aguardo.

Editado por Rodrigo Coradi
Adicionar informação
  • Moderadores
Postado
28 minutos atrás, Rodrigo Coradi disse:

@BigWings eu mudei minha aplicação e não queria mais usar o CDS e nem o DataModulo, pelo menos para recuperar a informação.

Estou usando uma classe para isso e meu campo do arquivo na classe é um String, porém no banco é um Blob.
Não estou conseguindo realizar esse processo do 'TBlobField' pois não é um FIELD meu objeto.

Teria alguma forma de transformar esse Blob do Banco de dados para Stream ou blob, de alguma forma sem precisar utializar datamodulo e cds ?

Não queria mais usar o CreateBlobStream do DataSet, mas usar de alguma forma onde passe minha String da classe e ele converta pra mim.

Obrigado e aguardo.

Acho que é possível extrair o DadosPFX pelo ACBr e gravar como String no banco de dados.

Fora isso, desconheço forma de acessar o binário sem usar dataset e TField.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • 4 meses depois ...
Postado

Galera,

Utilizo estas sequencias de configuração, e mudei somente SSLXmlSignLib e funcionou o schema no servidor, sem ter que mapear a unidade.

            ACBrNFe1.Configuracoes.Geral.SSLLib        := libWinCrypt;
            ACBrNFe1.Configuracoes.Geral.SSLCryptLib   := cryWinCrypt;
            ACBrNFe1.Configuracoes.Geral.SSLHttpLib    := httpWinHttp;
            ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib := xsMsXml;

            ACBrNFe1.SSL.SSLType                       := TSSLType(4); //LT_TLSv1_2;
 

 

  • Este tópico foi criado há 2673 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.