Sisk

Trabalhando com SSL

Esta página foi traduzida automaticamente do inglês. Ler o original

Trabalhar com SSL para desenvolvimento pode ser necessário ao atuar em contextos que exigem segurança, como a maioria dos cenários de desenvolvimento web. O Sisk opera sobre HttpListener, que não oferece suporte nativo a HTTPS, apenas HTTP. No entanto, existem soluções alternativas que permitem usar SSL no Sisk. Veja-as abaixo:

Através do Sisk.Cadente.CoreEngine #

  • Disponível em: Linux, macOS, Windows
  • Esforço: fácil

É possível usar o motor experimental Cadente em projetos Sisk, sem exigir configuração adicional no computador ou no projeto. Você precisará instalar o pacote Sisk.Cadente.CoreEngine em seu projeto para poder usar o servidor Cadente no servidor Sisk.

Para configurar SSL, você pode usar os métodos UseSsl e UseEngine do builder:

C#
using var http = HttpServer.CreateBuilder()
    .UseEngine<CadenteHttpServerEngine>()
    .UseSsl(CertificateHelper.CreateTrustedDevelopmentCertificate("localhost"))

Nota: este pacote ainda está na fase experimental.

Através do IIS no Windows #

  • Disponível em: Windows
  • Esforço: médio

Se você está no Windows, pode usar o IIS para habilitar SSL no seu servidor HTTP. Para que isso funcione, é aconselhável que você siga este tutorial antes, caso queira que sua aplicação escute em um host diferente de “localhost.”

Para que isso funcione, você deve instalar o IIS através dos recursos do Windows. O IIS está disponível gratuitamente para usuários do Windows e Windows Server. Para configurar SSL em sua aplicação, tenha o certificado SSL pronto, mesmo que seja autoassinado. Em seguida, você pode ver como configurar SSL no IIS 7 ou superior.

Através do mitmproxy #

  • Disponível em: Linux, macOS, Windows
  • Esforço: fácil

mitmproxy é uma ferramenta de proxy de interceptação que permite a desenvolvedores e testadores de segurança inspecionar, modificar e registrar o tráfego HTTP e HTTPS entre um cliente (como um navegador web) e um servidor. Você pode usar o utilitário mitmdump para iniciar um proxy SSL reverso entre seu cliente e sua aplicação Sisk.

  1. Primeiro, instale o mitmproxy em sua máquina.
  2. Inicie sua aplicação Sisk. Para este exemplo, usaremos a porta 8000 como a porta HTTP insegura.
  3. Inicie o servidor mitmproxy para escutar na porta segura 8001:
Shell
mitmdump --mode reverse:http://localhost:8000/ -p 8001

E você está pronto! Já pode acessar sua aplicação através de https://localhost:8001/. Sua aplicação não precisa estar em execução para você iniciar o mitmdump.

Alternativamente, você pode adicionar uma referência ao auxiliar mitmproxy em seu projeto. Isso ainda requer que o mitmproxy esteja instalado em seu computador.

Através do pacote Sisk.SslProxy #

  • Disponível em: Linux, macOS, Windows
  • Esforço: fácil

Importante

O pacote Sisk.SslProxy está obsoleto em favor do pacote Sisk.Cadente.CoreEngine e não será mais mantido.

O pacote Sisk.SslProxy é uma maneira simples de habilitar SSL em sua aplicação Sisk. No entanto, é um pacote extremamente experimental. Pode ser instável trabalhar com este pacote, mas você pode fazer parte da pequena porcentagem de pessoas que contribuirão para tornar este pacote viável e estável. Para começar, você pode instalar o pacote Sisk.SslProxy com:

Shell
dotnet add package Sisk.SslProxy

Nota

Você deve habilitar “Include prerelease” no Gerenciador de Pacotes do Visual Studio para instalar o Sisk.SslProxy.

Novamente, é um projeto experimental, portanto nem pense em colocá-lo em produção.

No momento, o Sisk.SslProxy pode lidar com a maioria dos recursos do HTTP/1.1, incluindo HTTP Continue, Chunked-Encoding, WebSockets e SSE. Leia mais sobre o SslProxy aqui.

Digite para pesquisar na documentação e na referência da API.