Testando o Certificado Localmente

Normalmente um certificado só funciona no domínio designado, mas também é possível testá-lo em um PC local. Isso ajuda a garantir que seus arquivos PEM foram gerados corretamente e que sua aplicação está configurada adequadamente.

1

1. Redirecione o domínio para localhost (edite o arquivo hosts)

Edite o arquivo hosts no Windows (localizado em C:\Windows\System32\drivers\etc\hosts). O arquivo é protegido—abra seu editor com privilégios de Administrador para salvar as alterações.

Adicione uma linha mapeando seu domínio para 127.0.0.1. Exemplo de conteúdo do arquivo hosts:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# ... (comments omitted) ...
# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

127.0.0.1 socket.fmsoft.net

Esta última linha redireciona socket.fmsoft.net para sua máquina local para testes.

circle-exclamation

Você pode verificar a alteração fazendo um ping no domínio. Por exemplo, ping socket.fmsoft.net deve resolver para 127.0.0.1.

2

2. Crie uma aplicação de teste uniGUI e configure o SSL

  • Crie uma nova aplicação uniGUI.

    assistente de projeto
    projeto criado
  • No ServerModule defina:

    • SSL->Enabled = True

    • Escolha TLS v1.2 como o protocolo suportado (SSL.SSLOptions.Method = sslvTLSv1_2)

    • Se seu arquivo de chave exigir senha, defina SSLPassword; caso contrário deixe em branco.

Consulte Understanding SSL Protocols se necessário: https://unigui.com/doc/online_help/understanding-ssl-protocols.htm

  • Copie os arquivos PEM (root.pem, cert.pem, key.pem) para a pasta da aplicação.

    copiar arquivos pem
  • Defina o diretório de Output do projeto como vazio para que o EXE seja criado na raiz da aplicação. Copie as DLLs SSL necessárias (distribuídas com uniGUI) de ..\Framework\uniGUI\SSL\dll para a pasta da aplicação.

Após compilar, a pasta da aplicação deve ficar assim:

pasta app
3

3. Execute e verifique a aplicação com HTTPS

  • Execute a aplicação e abra a URL:

    https://socket.fmsoft.net:8077

  • Você deverá ver o formulário principal da aplicação servido via HTTPS.

    página segura
  • Inspecione os detalhes do certificado da página para confirmar que a página está protegida pelo seu certificado.

    cadeado do certificado
    detalhes do certificado

A essa altura seus certificados e arquivos PEM estão validados com a aplicação uniGUI.

4

4. Teste com uma instância local do HyperServer

  • Crie uma pasta chamada HyperSSL dentro da sua pasta principal de testes.

    criar pasta
  • Copie os binários pré-compilados do HyperServer e os arquivos de configuração para esta pasta.

    copiar binários do hyperserver
  • Copie DLLs relacionadas ao SSL e arquivos de certificado para a pasta HyperSSL.

    copiar dlls ssl e certificados
  • Edite hyper_server.ssl.cfg e habilite o SSL apontando para seus arquivos PEM. Trecho de exemplo:

object TUniHyperSSL

SSL.Enabled = True

SSL.SSLOptions.RootCertFile = 'root.pem'
SSL.SSLOptions.CertFile     = 'cert.pem'
SSL.SSLOptions.KeyFile      = 'key.pem'
SSL.SSLOptions.Method       = sslvTLSv1_2
SSL.SSLOptions.SSLVersions  = [sslvTLSv1_2]
SSL.SSLOptions.Mode         = sslmUnassigned
SSL.SSLOptions.VerifyMode   = []
SSL.SSLOptions.VerifyDepth  = 0
SSL.SSLPort                 = 0

end
  • Implante um binário de aplicação para usar com o HyperServer (o exemplo usa a demo FishFacts). Construa a demo e coloque o EXE resultante na pasta HyperSSL.

    copiar exe da demo
  • Edite hyper_server.cfg e defina binary_name para o EXE da demo:

[hyper_server]
binary_name=FishFacts.exe
  • Inicie o HyperServer executando hyper_server.exe. Um ícone aparecerá na bandeja do sistema.

    ícone da bandeja do sistema
  • Abra a URL:

    https://socket.fmsoft.net:8077/

  • Se tudo estiver configurado corretamente, a demo FishFacts deverá ser exibida via HTTPS.

    fishfacts em execução
    fishfacts em execução 2
    fishfacts em execução 3

Isto demonstra que o certificado SSL funciona com uma configuração HyperServer.