
Importei um certificado de servidor web de um CSR vindo do meu Cisco C9300. O certificado veio da autoridade certificadora e mostra a CA correta no final da cadeia. CLI mostra que o certificado foi instalado corretamente sem problemas. O problema ocorre quando vou ao site seguro (https://) do switch, mas ele diz que a conexão não é segura. Eu verifico o certificado no navegador e ele mostra o certificado que recebi da CA. Por que parece inseguro mesmo que o certificado seja válido?
Ao acessar a página dizNET::ERR_CERT_COMMON_NAME_INVALID
ATUALIZAÇÃO 1: Graças a @Zac67 estou verificando as informações do Trustpoint. Quando acessamos o switch da página da web, usamos https://ipaddress. Posso criar o seguinte:
subject-name C=US, ST=Pennsylvania, L=My-Town, O=My-Org, OU=My-Department, CN=SWITCHNAME.DOMAIN.NET
Mas quando faço subject-alt-name 192.168.1.10
isso me dá o seguinte erro:
CRYPTO_PKI: Label cannot be made only of digits. Also, ip addresses are not permitted
Tentei colocar o endereço no CN, mas também não funcionou. Ainda diz que o certificado não é válido.
ATUALIZAÇÃO 2:Estou usando o How-To localizadoaqui:para criar uma chave RSA. Com essa chave estou usando minha CA como ponto de confiança. Recebo a impressão digital para fornecer à minha CA da Microsoft um certificado de servidor Web. Eu obtenho o certificado WebServer da minha CA e importo-o com as mesmas instruções de como fazer para o switch. Em seguida, vou para a página da Web e ela diz que a página da Web não é válida. O certificado vem da CA do meu domínio. Não vejo como ele pensa que é inválido.
ATUALIZAÇÃO 3:Então estou analisando as sugestões do RICK sobre o SAN. Vou explicar que não usamos OpenSSL porque não temos permissão para fazê-lo. Temos que usar nossa CA na rede. Para o CN, configurei o CN para o endereço IP do certificado. Para a SAN Cisco tem comandos separados que dizem ip-address
que adiciona o endereço e lá eu tenho um comando diferente chamado subject-name-alternative
do qual não posso adicionar um endereço IP a esse comando porque não é permitido. Então, o que descobri posso fazer o seguinte:
CN pode ser o seguinte:
- endereço de IP
- nome de anfitrião
- FQDN
SAN (Subject-Name-Alternative pode ser o seguinte:
- nome de anfitrião
- FQDN
O endereço IP pode ser adicionado ou não
Tentei uma mistura de todas essas coisas e ainda me diz que o certificado é inválido no EDGE com o erro: NET::ERR_CERT_COMMON_NAME_INVALID. Se você olhar o certificado do Edge, ele mostra o mesmo certificado se eu abri-lo sozinho com as mesmas impressões digitais.
Então, qual deve ser o CN ao acessá-lo a partir do endereço IP usando o Edge?
ATUALIZAÇÃO 4Além disso, ao fazer o seguinte para criar o CSR, adiciono a linha Endereço IP. Mas quando olho para o certificado, não parece que o endereço IP foi adicionado à SAN.Na verdade o certificado não possui SAN NENHUMA!Parece que algo está se perdendo na tradução.
crypto pki trustpoint my-trustpoint
enrollment terminal pem
subject-name C=US, ST=Pennsylvania, L=My-Town, O=My-Org, OU=My-Department, CN=My-Switch.my-network.com
subject-alt-name my-switch.my-network.com
serial-number none
ip-address 192.168.1.51
revocation-check none
rsakeypair my-4096rsa-key
end
Alguma ideia de por que não está incluindo o endereço IP na SAN?
Responder1
Para elaborar o comentário de Ricky: o nome do host usado emhttps:// devecorresponda ao nome da entidade do certificado (SN) ou a um dos nomes alternativos da entidade (SAN). Se você usar o endereço IP simples, ele deverá estar presente como SAN. Mesmo a menor incompatibilidade causa um erro de certificado.
Certifique-se também de que o certificado CA raiz esteja presente no armazenamento confiável do cliente se você usar sua própria CA.
Responder2
Se a versão do Cisco IOS que você está usando não permitir a definição de um nome alternativo de assunto (SAN) baseado em IP, você deverá criar o CSR por meio de uma ferramenta diferente, como o openssl, para incluir o IP e, em seguida, assinar o CSR com sua CA.
Com o openssl você usará um openssl.cnf
arquivo de configuração e anexará uma seção para incluir a SAN (isso também pode ser feito via CLI, mas fica um pouco mais complicado).
Para usar o arquivo de configuração a [req]
seção deve incluir um req_extensions
parâmetro, algo como:
req_extensions = req_ext
O valor que você fornece é o "contexto" para a seção posterior que define quais extensões você deseja usar. Com req_ext
o valor, o resto da configuração seria algo como:
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
IP.1 = 192.168.1.10
- Para confirmar se a solicitação de assinatura de certificado (CSR) gerada contém as entradas que você pode usar:
openssl req -noout -text -in switch.csr
Verifique oNome alternativo do assunto X509v3seção. Dentro deve haver entradas IP:
que contenham tudo o que você definiu quando openssl.cnf
gerou o CSR. Se o endereço IP que você espera que o certificado proteja não esteja listado nas entradas SAN do CSR, algo deu errado, qualquer certificado gerado de um CSR faltando os campos observará o erro que você mencionou, pois não protege o IP corretamente.
Se você vir as entradas de IP esperadas, passe o CSR para sua CA para assinatura e criação do certificado.
- Para confirmar se o certificado assinado pela CA contém as entradas com um openssl recente, você pode usar:
openssl x509 -noout -ext subjectAltName -in switch.pem
- Para confirmar se o certificado assinado pela CA contém as entradas com uma versão mais antiga do openssl (sem o sinalizador de extensões
-ext
), você pode usar:
openssl x509 -noout -text -in switch.pem
Usando qualquer um dos métodos acima, você pode investigar o certificado assinado antes da instalação. Verifica aNome alternativo do assuntovalores das seções. Se isso parecer correto, vá em frente e instale o novo certificado no seu switch.
Como alternativa, você também pode investigar os campos SAN por meio do navegador em busca de certificados já instalados. Dependendo do software do navegador e da versão, o layout das informações pode ser diferente.
Por exemplo, aqui está o Chrome, que requer clicar em HTTPS/Lock no navegador (ver informações do site), clicara conexão é seguraentão clicandoO certificado é válido, seu switch não diria válido, é claro, então cliqueO certificado não é válido.
Chrome: detalhes do certificado
No Firefox, revisando o certificado, clique também em HTTPS/Lock no navegador,Conexão segura(quando verdadeiro, é claro), entãoMais Informações