Ir para conteúdo
  • Cadastre-se

dev botao

Certificado Digital - Serializar


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

Recommended Posts

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.

Link para o comentário
Compartilhar em outros sites

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;
 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
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

 

 

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

  • Moderadores
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

 

 

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...

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;
 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2468 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.

The popup will be closed in 10 segundos...