Começando com 4D 21, seus pedidos HTTPS podem agora usar um certificado armazenado no Windows Certificate Store em vez de um salvo no disco. Isso é particularmente útil quando o lado do cliente de pedidos HTTPS precisa usar certificados locais.
Usar certificados do Windows Certificate Store em pedidos HTTPS tem sido um pedido popular de 4D Developers no 4D Forum. Mais uma vez, nós ouvimos, e 4D 21 atende.
Definindo o certificado
Em pedidos HTTP, definir qual certificado usar do Windows Certificate Store é simples. Apenas defina seu nome no atributo storeCertificateName do objeto options passado para a função new(). Aqui está um exemplo de código:
var $options:={storeCertificateName: "myCertificateName"}
var $request :=4D.HTTPRequest.new($url; $options)
Naturalmente, também pode definir o nome do certificado para um agente HTTP, conforme mostrado no exemplo seguinte:
var $options:={storeCertificateName: "myCertificateName"}
var $agent :=4D.HTTPAgent.new($options)
var $request :=4D.HTTPRequest.new($url; {agent: $agent})
Instalar um certificado no Windows
O registo de um certificado na Loja de Certificados do Windows é bastante simples. A forma mais fácil é utilizar um certificado PKCS#12, que contém a chave privada e o certificado de identidade. Muitas ferramentas podem gerar estes certificados.
No Explorador do Windows, basta fazer duplo clique no ficheiro de certificado PKCS#12 e seguir os passos do assistente, como mostra o vídeo abaixo.
⚠️ Um passo é particularmente importante: no terceiro passo do assistente, certifique-se de marcar a opção “Mark this key as exportable”. Se não o fizer, 4D não poderá usar o certificado.
É isso! O certificado está armazenado com segurança e pronto para ser usado em 4D!
Esta nova caraterística está atualmente disponível apenas em Windows. Estamos atualmente estudando o suporte de macOS Keychain.
Esperamos que essa nova funcionalidade atenda suas expectativas. Como sempre, sinta-se livre para compartilhar seu feedback no Fórum 4D.
Feliz codificação!
Comments are not currently available for this post.