Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Bom dia a todos,

Apesar de o Capicom estar obsoleto gostaria que reportar um problema que está acontecendo quando SSLLib = libCapicom.

O problema acontece nesse ponto:

procedure TDFeCapicom.LerInfoCertificadoCarregado;
begin
   ...
   ...
  // Criando memória de Store de Certificados para o ACBr, e adicionado certificado lido nela //
  if FCertStoreMem = nil then
  begin
    FCertStoreMem := CoStore.Create; <--- Erro: "CoInitialize não foi chamado"
    FCertStoreMem.Open(CAPICOM_MEMORY_STORE, CACBR_STORE_NAME, CAPICOM_STORE_OPEN_READ_ONLY);
    FCertStoreMem.Add(FCertificado);
  end;
end;

 

Copiei o código destacado abaixo de TDFeCapicom.CarregarCertificadoDeNumeroSerie e resolveu.

 

procedure TDFeCapicom.LerInfoCertificadoCarregado;
var
  ResultInitialize: HRESULT;
  Inicializado: Boolean;

begin
  // Não Achou ? //
  if FCertificado = nil then
    raise EACBrDFeException.Create('Certificado Digital não Carregado!');

  // Salvando propriedades do Certificado //
  with FpDadosCertificado do
  begin
    NumeroSerie := String(FCertificado.SerialNumber);
    SubjectName := String(FCertificado.SubjectName);
    if CNPJ = '' then
      CNPJ := GetCNPJFromExtensions;

    DataVenc   := FCertificado.ValidToDate;
    IssuerName := String(FCertificado.IssuerName);
    if FCertificado.PrivateKey.IsHardwareDevice then
      Tipo := tpcA3
    else
      Tipo := tpcA1;
  end;

  ResultInitialize := CoInitialize(nil);
  if (ResultInitialize = E_FAIL) then
    raise EACBrDFeException.Create('Erro ao inicializar biblioteca COM');

  Inicializado := (ResultInitialize in [ S_OK, S_FALSE ]);
  try

    // Criando memória de Store de Certificados para o ACBr, e adicionado certificado lido nela //
    if FCertStoreMem = nil then
    begin
      FCertStoreMem := CoStore.Create;
      FCertStoreMem.Open(CAPICOM_MEMORY_STORE, CACBR_STORE_NAME, CAPICOM_STORE_OPEN_READ_ONLY);
      FCertStoreMem.Add(FCertificado);
    end;
  finally
    if Inicializado then
      CoUninitialize;
  end;

end;

 

Obrigado.

 

 

 

 

 

  • Consultores
Postado

Tu está usando com serviço do windows ou outro tipo de conexão?

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

Então é isso. tu tem que fazer isso na sua thread

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

Depende de quanto tempo fazia essa atualização.

pois mudanças são diárias, quase que a cada hora tem alguma coisa melhorada nos fontes então

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

é tem bastante commit de lá pra cá

21483

então é fazer o tratamento no seu código pois não lembro mesmo de ter isso antes

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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