Gerar um Certificado Autoassinado

Esse tipo de certificado é útil quando você não precisa de um certificado assinado globalmente emitido por uma autoridade certificadora como Verisignarrow-up-right. Você pode usar um certificado autoassinado para fins de desenvolvimento ou para uso privado na sua rede intranet ou pela internet. Você pode usar OpenSSLarrow-up-right para gerar os arquivos do certificado.

Primeiro, baixe e instale os binários do OpenSSL para Windows em https://slproweb.com/products/Win32OpenSSL.html (a versão lite é recomendada). Após instalá-lo, abra um prompt de comando e siga as instruções abaixo.

1

Criar ou exportar um certificado Root

Se você já tiver um certificado root instalado no Windows, você pode exportá-lo em vez de gerar um novo:

  • Vá em Painel de Controle -> Opções de Internet -> Conteúdo -> Certificados.

  • Selecione o certificado root que deseja exportar.

  • Escolha o formato base64 e selecione a pasta e o nome do arquivo para exportação.

Isso exportará seu certificado root em formato .cer, que você pode renomear com segurança para .pem.

Alternativamente, para criar um certificado root do zero:

  1. Inicie um prompt de comando com privilégios administrativos.

  2. Gere uma chave privada root:

Gerar chave root
openssl genrsa -out root.key 1024
  • Isso cria root.key com uma chave de 1024 bits. Outras opções são 2048 e 4096.

Se você quiser criar uma chave root protegida por senha, use:

Gerar chave root protegida por senha
openssl genrsa -des3 -out root.key 1024
  1. Autoassine o certificado root:

Se a chave root não estiver protegida por senha:

Autoassinar certificado root (sem senha)
openssl req -x509 -days 365 -new -nodes -key root.key -out root.pem

Se a chave root estiver protegida por senha:

Autoassinar certificado root (com senha)
openssl req -x509 -days 365 -new -key root.key -out root.pem

Você será solicitado a fornecer os campos do Nome Distinto (DN) (País, Estado, Localidade, Organização, Unidade Organizacional, Nome Comum, Email). Exemplos de prompts:

  • Country Name (2 letter code) [AU]: TR

  • State or Province Name (full name) [Some-State]: Ankara

  • Locality Name (eg, city) []: Cankaya

  • Organization Name (eg, company) [Internet Widgits Pty Ltd]: FMSoft

  • Organizational Unit Name (eg, section) []: R&D

  • Common Name (eg, YOUR name) []: Farshad Mohajeri

  • Email Address []: [email protected]

Isso produz root.pem no diretório atual. Esse arquivo será usado pelo seu servidor uniGUI.

circle-info

A -days 365 a opção especifica o número de dias que o certificado permanecerá válido. Ajuste conforme necessário.

2

Gerar uma chave e certificado de servidor autoassinado

Esta etapa produz key.pem e cert.pem.

Execute o seguinte comando para gerar uma nova chave privada e um certificado autoassinado em uma única etapa (sem senha na chave privada):

Gerar key.pem e cert.pem (sem senha)
openssl req -x509 -days 365 -nodes -newkey rsa:1024 -keyout key.pem -out cert.pem

Você será solicitado pelos campos DN conforme na criação do certificado root.

Se você quiser que a chave privada seja protegida por senha, use:

Gerar key.pem e cert.pem (com senha)
openssl req -x509 -days 365 -newkey rsa:1024 -keyout key.pem -out cert.pem

Nesse caso você será solicitado a inserir e verificar uma frase-secreta PEM. Se você atribuir uma senha, essa senha deve ser definida no parâmetro SSL->SSLPassword do UniServerModule (veja https://unigui.com/doc/online_help/configure_unigui_server.htm).

Quando todos os procedimentos acima forem concluídos você terá três arquivos:

  • root.pem

  • key.pem

  • cert.pem

Coloque esses três arquivos na mesma pasta que o binário executável do seu servidor para executar seu projeto em modo SSL.