Solução 1: usar firmware integrado de certificado de autoridade de certificação autoassinado
1. Baixe o certificado CA integrado
O firmware possui um certificado CA integrado, o usuário pode baixar o certificado da página da web e, em seguida, importar o certificado para o sistema do PC.
Vá para Configuração -> Sistema -> Manutenção -> Configuração de Importação/Exportação, clique em "Exportar" para exportar o certificado CA.

O certificado CA é nomeado como "cacert.crt".

2. Importe o certificado CA para o sistema do PC
No PC com Windows, clique duas vezes no arquivo "cacert.crt" para iniciar a instalação.
Você pode ver que o período de validade do certificado é de 10 anos, de 14/08/2023 a 11/08/2023.
Clique em "Instalar certificado..." para importar o certificado.

Selecione "Máquina Local" no assistente de importação e clique em "Avançar".

Selecione "Colocar todos os certificados na loja a seguir" e clique em "Procurar..." e selecione "Autoridades de certificação raiz confiáveis", marque OK e vá para a etapa "Avançar".

Clique em "Concluir" para finalizar a instalação do certificado.

3. Verifique a hora do dispositivo
Certifique-se de que a hora do dispositivo esteja dentro do período de validade do certificado.
4. Reinicie o dispositivo
Se o IP do dispositivo for alterado, reinicie o dispositivo para que o navegador mostre a conexão "segura".

P1: Depois de alterar o IP do dispositivo, por que o navegador mostra a conexão HTTPS "Não segura"
R1: O firmware tem uma CA raiz e uma chave privada CA raiz. Por padrão, sempre que o dispositivo for inicializado, ele usará a CA raiz e a chave privada para gerar um certificado de servidor e uma chave privada do servidor de acordo com o IP do dispositivo atual.
Depois de alterar o IP do dispositivo, o IP do certificado do servidor não corresponde ao dispositivo, o navegador o considerará um certificado inválido, portanto, a conexão mostrará "Não seguro".
Reinicie o dispositivo para que ele possa gerar o certificado do servidor e a chave privada do servidor novamente de acordo com o novo IP, então a conexão mostrará "segura" novamente.
Q2: Depois de importar o certificado CA integrado do firmware para o sistema do PC, por que o navegador ainda mostra "Não seguro"?
R2: Se você carregou seu próprio certificado de servidor e chave privada do servidor no dispositivo, ele usará seu certificado, pois seu certificado não é assinado pela CA integrada do dispositivo, a verificação falhou, portanto, a conexão é "Não segura".
Você pode importar a CA raiz que foi usada para gerar seu certificado para o sistema do PC, então a conexão será "segura".
Solução 2: usar o certificado de autoridade de certificação autoassinado
1. Crie um certificado CA autoassinado
Instale o OpenSSL em uma máquina virtual Linux e use os comandos nas etapas abaixo para criar um certificado de autoridade de certificação autoassinado.
Etapa 1: Gerar chave privada de CA raiz
Example command: openssl genrsa -out rootCA.key 2048
("rootCA.key" é o nome da chave privada, você mesmo pode definir)
Etapa 2: use a chave privada da CA raiz para gerar a solicitação da CA raiz.
Example Command: openssl req -new -key rootCA.key -out rootCA.csr -subj "/C=CN/ST=GD/L=SZ/O=SNL/OU=TECH/CN= ipc.security.com"
("rootCA.csr" é o nome do arquivo de solicitação de CA raiz, /C=código do país, /ST=código da província, /L=código da cidade, /O=código da organização, /OU=código do departamento, /CN=nome comum, pode ser IP ou nome do domínio ou da organização)
Etapa 3: use a solicitação de CA raiz e a chave privada de CA raiz para gerar a CA raiz.
Example command: openssl x509 -req -days 365 -in rootCA.csr -signkey rootCA.key -out rootCA.crt
(365 significa que o período de validação desta CA é de 365 dias)

2. Gere a chave privada do servidor e o certificado do servidor.
Etapa 1: Gerar chave privada do servidor
Example command: openssl genrsa -out server.key 2048
Etapa 2: use a chave privada do servidor para gerar a solicitação de certificado do servidor.
Example command: openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=GD/L=SZ/O=SNL/OU=TECH/CN=192.168.1.120" -addext "subjectAltName=IP: 192.168.1.120 "
(The server certificate will be uploaded the device side, the subjectAltName should be device IP or domain, or both, for example: "subjectAltName=DNS:ipc.support.com,IP: 192.168.1.120 ")
Etapa 3: Use a CA raiz, a chave privada da CA raiz, a solicitação de certificado do servidor para gerar o certificado do servidor.
Example command: openssl x509 -req -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -days 365 -sha256 -extfile <(echo "subjectAltName=IP: 192.168.1.120 ")

3. Carregue o certificado do servidor e a chave privada do servidor no dispositivo
Vá para Configuração -> Sistema -> Segurança -> Certificado HTTPS, selecione o certificado do servidor e a chave privada do servidor e clique em "Upload".

4. Importe o certificado CA autoassinado para o sistema do PC
Consulte [Importar o certificado CA para o sistema do PC] na Solução 1 para importar o certificado CA autoassinado.
5. Altere o IP do dispositivo e sincronize a hora do dispositivo
O IP do dispositivo deve estar alinhado com o endereço IP dentro do certificado. Caso contrário, altere o IP do seu dispositivo.
A hora do dispositivo deve estar dentro do período válido do certificado do servidor. Caso contrário, altere a hora do seu dispositivo.

Solução 3: Usar certificado de CA público
Existem muitas autoridades de certificação públicas, como DigiCert, Sectigo, GlobalSign, etc.
Essas autoridades de certificação públicas são confiáveis pelos sistemas operacionais e navegadores populares, portanto, eles incorporarão seus certificados de CA raiz.
Se um servidor estiver usando um certificado de servidor assinado pela Autoridade de Certificação pública, a CA raiz não precisará ser importada manualmente para o sistema.
1. Insira as informações de solicitação de certificado e clique em "Criar" para gerar a solicitação de certificado.
(O nome comum deve ser o endereço IP/domínio do dispositivo)

2. Clique em "Exportar" para baixar o arquivo de solicitação de certificado. O arquivo é nomeado como "certreq.pem" por padrão.

3. Envie o arquivo de solicitação de certificado "certreq.pem" para uma Autoridade de Certificação pública para gerar/assinar um certificado de servidor.
Observação: quando a Autoridade de Certificação assina o certificado do servidor, o certificado do servidor deve conter subjectAltName (por exemplo: "subjectAltName=DNS:ipc.support.com,IP:192.168.2.120") e o IP/Domínio deve ser o mesmo com o IP/Domian do dispositivo.
4. Selecione o certificado do servidor assinado pela Autoridade de Certificação pública, clique em "Upload" para carregá-lo no dispositivo.

5. Reabra o navegador e acesse o dispositivo via HTTPS, a conexão mostrará "segura".


Q3: A Autoridade de Certificação fornece o certificado do servidor de acordo com meu CSR (arquivo de solicitação de certificado), posso fazer upload do mesmo arquivo de certificado para outros dispositivos?
A3: Não. O certificado do servidor é gerado por meio de um CSR e o CSR é gerado por meio da chave privada do servidor. Quando você cria CSR (certreq.pem) no dispositivo, ele cria uma chave privada primeiro. Cada vez que o dispositivo criará uma chave privada diferente e armazenará dentro, para que o certificado do servidor e a chave privada do dispositivo sejam um par.
Se você restaurar o dispositivo, a chave privada anterior será excluída dele, da próxima vez o dispositivo gerará uma nova chave privada, portanto, o certificado de servidor antigo gerado por meio do CSR antigo não será mais válido.
P4: Como fazer upload do certificado da Autoridade de Certificação para diferentes dispositivos?
R4: Se você deseja solicitar o certificado do servidor da Autoridade de Certificação e fazer upload do mesmo certificado em dispositivos diferentes, não use o dispositivo para criar CSR, mas crie CSR e salve a chave privada por conta própria, ou você pode pedir à Autoridade de Certificação para criar o certificado do servidor e a chave privada do servidor para você e, em seguida, carregue os dois arquivos no dispositivo.
Q5: Como verificar as informações do certificado do servidor no dispositivo?
Resposta 5:
Passo 1. Ative o modo HTTPS e acesse a página da Web do dispositivo por HTTPS.

Etapa 2. Clique no ícone "Não seguro" ou "Seguro" do navegador e, em seguida, clique em "Detalhes do certificado" para verificar os detalhes do certificado atual.


Etapa 3. O período de validade do certificado do servidor pode ser encontrado em "Geral"

Você pode encontrar o IP do servidor/dispositivo atribuído a este certificado de servidor.
Observação: o endereço IP do dispositivo deve estar alinhado com este IP do certificado do servidor, caso contrário, o navegador não confiará neste certificado do servidor e a conexão HTTPS mostrará "Não seguro".
