Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Estou testando o AcBR,

coloquei a senha do certificado na linha ACBrcte1.Configuracoes.Certificados.Senha := trim(edtsenha.text) ;

percebi que a senha é requisitada nesta linha:

dsigKey := xmldsig.createKeyFromCSP(PrivateKey.ProviderType, PrivateKey.ProviderName, PrivateKey.ContainerName, 0);

Porém a senha só é passada mais embaixo, na linha:

CryptSetProvParam(hCryptProvider, PP_SIGNATURE_PIN, LPBYTE(FSenhaCert), 0);

Então eis minha questão: Como é possível assinar já passando a senha, sem a necessidade de pedir a senha quando faço a conexão a primeira vez

Obrigado.

Antonio Carlos

Postado

Bom dia Antonio Carlos,

Qual certificado você esta utilizando o A1 ou A3 ?

O meu cliente usa A1, só é informado o numero de série do certificado a senha deixo em branco.

No caso estou utilizando o A3

  • Consultores
Postado

Antonio Carlos,

No caso do A3 você deve configurar desta forma:

// Configurações -> Certificados

ACBrCTe1.Configuracoes.Certificados.NumeroSerie:=' informar o numero de série ';

ACBrCTe1.Configuracoes.Certificados.Senha:=' informar a senha ';

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Antonio Carlos,

No caso do A3 você deve configurar desta forma:

// Configurações -> Certificados

ACBrCTe1.Configuracoes.Certificados.NumeroSerie:=' informar o numero de série ';

ACBrCTe1.Configuracoes.Certificados.Senha:=' informar a senha ';

No caso já estou fazendo isso.

aqui o codigo abaixo:

ACBrCTe1.Configuracoes.WebServices.UF := SUF;

AcbrCte1.Configuracoes.webServices.AmbienteCodigo := StrtoInt(sambiente);

ACBrCTe1.Configuracoes.Certificados.NumeroSerie := sCertificado; // passando o certifcado

ACBrcte1.Configuracoes.Certificados.Senha := trim(edtsenha.text) ; // passando a senha

ACBrCTe1.WebServices.Consulta.Executar ; // aqui mando executar a consulta ao CTE

Na unit ACBrCTeConfiguracoes, acontece o seguinte

FsENHACERT está com a senha que foi passada e entra no codigo abaixo

if (FSenhaCert <> '') and PrivateKey.IsHardwareDevice then

begin

PrivateKey := Cert.PrivateKey;

..

..

// aqui acontecendo o problema que é abre a tela para informar a senha

dsigKey := xmldsig.createKeyFromCSP(PrivateKey.ProviderType, PrivateKey.ProviderName, PrivateKey.ContainerName, 0);

// ..

SigKey := dsigKey as IXMLDSigKeyEx;

SigKey.getCSPHandle( hCryptProvider );

try

CryptSetProvParam( hCryptProvider , PP_SIGNATURE_PIN, LPBYTE(FSenhaCert), 0 );

finally

CryptReleaseContext(hCryptProvider, 0);

end;

Nesse comando aqui ele abre a tela para digitar a senha.

dsigKey := xmldsig.createKeyFromCSP(PrivateKey.ProviderType, PrivateKey.ProviderName, PrivateKey.ContainerName, 0);

tentei comentar a linha de cima para não abrir essa tela e passando esse comando

CryptSetProvParam( hCryptProvider , PP_SIGNATURE_PIN, LPBYTE(FSenhaCert), 0 );

só que não adiantou, em outro lugar que eu ainda nao descobri ele abre de novo a tela para digitar a senha

Antonio Carlos

  • Consultores
Postado

Boa tarde Antonio Carlos,

Conforme foi postado você passa para o componente o Numero de Série e a Senha do Certificado.

Muito bem ao executar a aplicação a aplicação solicita novamente a senha?

O componente foi colocado em um form ou Data Module que fica sempre criado enquanto a sua aplicação estiver em execução?

Ou foi colocado em um form que é criado dinamicamente (exemplo ao emitir o CT-e) ?

Na minha aplicação coloquei em um Data Module e o deixo criado enquanto ela fica em execução.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Boa tarde Antonio Carlos,

Conforme foi postado você passa para o componente o Numero de Série e a Senha do Certificado.

Muito bem ao executar a aplicação a aplicação solicita novamente a senha?

O componente foi colocado em um form ou Data Module que fica sempre criado enquanto a sua aplicação estiver em execução?

Ou foi colocado em um form que é criado dinamicamente (exemplo ao emitir o CT-e) ?

Na minha aplicação coloquei em um Data Module e o deixo criado enquanto ela fica em execução.

Inseri o componente diretamente no form e uso ele

  • 2 semanas depois ...
Postado

Boa tarde Antonio Carlos,

Conforme foi postado você passa para o componente o Numero de Série e a Senha do Certificado.

Muito bem ao executar a aplicação a aplicação solicita novamente a senha?

O componente foi colocado em um form ou Data Module que fica sempre criado enquanto a sua aplicação estiver em execução?

Ou foi colocado em um form que é criado dinamicamente (exemplo ao emitir o CT-e) ?

Na minha aplicação coloquei em um Data Module e o deixo criado enquanto ela fica em execução.

Inseri o componente diretamente no form e uso ele

Já utilizei até o data modulo

mas não funciona.

Ele sempre pede a senha na primeira vez. Nas outras vezes se faço a consulta não pede a senha

se estiver conectado O problema é sempre a primeira vez.

Existe alguma maneira na primeira vez ele não pedir a senha ou e impossivel ?

porque a ideia era usar um serviço a ser instalado numa maquina servidora e na maquina local pudesse acessar esse serviço.

Se abrir esse tela de senha, vai ficar travado porque essa tela não vai abrir na maquina local.

Antonio

  • 1 mês depois ...
  • 1 ano depois...
Postado

Boa a noite a todos

Como voceis tem trabalhado com o certificado A3 em relação a senha

é desta maneira

ACBrCTe1.Configuracoes.Certificados.NumeroSerie:=' informar o numero de série ';

ACBrCTe1.Configuracoes.Certificados.Senha:=' informar a senha ';

Obrigado

  • 4 anos depois...
  • Membros Pro
Postado

ola pessoal boa noite, sei que o fórum é bem antigo e tem muitos outros com o mesmo assunto e nenhum deixou claro a solução. Afinal como fazer para não pedir a senha do certificado A3 na primeira vez? o sistema está em um computador em que não terá o usuário para digitar esta senha. É na instalação do certificado? configuração do I.E. ou configuração do componente?

utilizo acbrmonitor com capicom.

 

  • 3 semanas depois ...
  • Este tópico foi criado há 2950 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.