Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia, amigos!
Estou desenvolvendo no Delphi 5 um instalador de NFE automático que funciona executando um arquivo .bat com ShellExecuteEx. O objetivo do instalador é realizar todas as operações manuais que são realizadas normalmente para o funcionamento da NFE, são elas:
  - Registra DLL's no windows (Capicom, Msxml5.dlll). (ok)
  - Instala cadeia de certificado. (ok)
  - Instala certificado do cliente. (1)
  - Verifica configurações do internet explorer (2)

(1) Instalar certificado cliente: Estou com um problema para instalar o certificado de cliente (arquivo .pfx).
Após algumas pesquisas estou executando o seguinte comando rodando o .bat como administrador:
certutil -f -p %3 -importPFX "%~f2" onde: 

%3 é um parâmetro do .bat com a senha do certificado;
"%~f2" é um parâmetro do .bat com o caminho completo do certificado (.pfx).

Esse comando retorna o seguinte:
Certificado "CATIPAR COMERCIO DE PECAS PARA TRATORES LTDA - ME" adicionado ao re
positório.

CertUtil: -importPFX : comando concluído com êxito.

Porém, ao executar o INETCPL.CPL (para verificar as propriedades do internet explorer) o certificado de cliente não aparece no menu Conteúdo -> Certificados -> Pessoal como na instalação manual do certificado. É preciso que o certificado apareça lá. Alguma sugestão??

(2) Config. IE: O último passo da instalação automática seria alterar as configurações do internet explorer. Manualmente executando o INETCPL.CPL: Propriedades de Internet -> Avançadas -> Segurança, é necessário desmarcar as opções TLS 1.1, TLS 1.2, SSL 2.0 e SSL 3.0 e marcar a opção TLS 1.0. Pesquisei diversas alternativas para fazer isso e nada. Alguma referência para ajudar??

Desde já agradeço.

  • Curtir 2
Postado

Feliz em informar que o item 2 foi resolvido.
A solução insere um registro no regedit chamado "SecureProtocols" com o valor 128 (hexadecimal 80) que corresponde ao número do TLS 1.0:
REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings" /v SecureProtocols /t REG_DWORD /d 128 /f
O item REG_WORD inserido é reconhecido pelo Internet Explorer 

Referências:
http://superuser.com/questions/865507/enable-tls-1-0-using-registry;
http://blogs.technet.com/b/iede/archive/2010/09/27/as-59-63-ssl-2-0-ssl-3-0-tls-1-0-tls-1-1-tls-1-2-verwenden.aspx

  • Curtir 1
Postado

Tópico resolvido.
O item 1 foi resolvido com adicionando a opção -user ao comando certutil:
certutil -user -f -p %3 -importPFX "%~f2"

A modificação faz com que o certificado seja salvo na pasta do usuário no registro e então o certificado é reconhecido pelo Internet Explorer.

  • Curtir 1
  • 1 mês depois ...
  • 2 meses depois ...
  • Este tópico foi criado há 3235 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.