Introduction
Este documento descreve como criar um certificado autoassinado que pode ser usado pelo CloudCenter com vários URLs.
Prerequisites
Requirements
A Cisco recomenda que você tenha conhecimento destes tópicos:
Componentes Utilizados
As informações neste documento são baseadas em CentOS7.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Problema
Os certificados que vêm como padrão com o CloudCenter, ou que podem ser criados com o uso do assistente de configuração do Cisco Call Manager (CCM), não têm um nome alternativo de assunto (SAN) que alguns navegadores, como o Google Chrome, tratam como um erro e o avisam. Isso pode ser substituído, mas sem SANs, um certificado só pode ser válido de um URL específico.
Por exemplo, se você tiver um certificado válido para o endereço IP 10.11.12.13, se você tiver um nome de Sistema de Nome de Domínio (DNS) de www.opencart.com, receberá um erro de certificado porque esse URL não é para que serve o certificado (isto é verdade mesmo se www.opencart.com estiver listado no arquivo de hosts como o que pertence a 10.11.1.1 2.13). Isso pode ser feito se os sublocatários do CloudCenter estiverem usando o SSO único (Single Sign On), pois cada servidor SSO tem seu próprio URL.
Solução
A maneira mais fácil de corrigir esse problema é criar um novo certificado autoassinado que tenha SANs que liste qualquer URL que o direciona ao mesmo endereço IP. O guia é uma tentativa de aplicar as melhores práticas a esse processo.
Etapa 1. Navegue até o diretório raiz e faça uma nova pasta para abrigar os certificados:
sudo -s
cd /root
mkdir ca
Etapa 2. Navegue até a nova pasta e faça subpastas para organizar os certificados, as chaves privadas e os registros.
cd ca
mkdir certs crl newcerts private
chmod 700 private
touch index.txt
echo 1000 > serial
Etapa 3. Copie o conteúdo do CAopenssl.conf para /root/ca/openssl.cnf
Note: Este arquivo contém as opções de configuração para uma autoridade de certificação (CA) e opções padrão que podem ser adequadas para o CloudCenter.
Etapa 4. Gere uma chave privada e um certificado para a AC.
openssl genrsa -aes256 -out private/ca.key.pem 4096
chmod 400 private/ca.key.pem
openssl req -config openssl.cnf -key private/ca.key.pem -new -x509 -days 7300 -sha256 -extensions v3_ca -out certs/ca.cert.pem
chmod 444 certs/ca.cert.pem
Etapa 5. Sua CA é a forma mais avançada de verificar se qualquer certificado é válido, esse certificado nunca deve ser acessado por pessoas não autorizadas e nunca deve ser exposto à Internet. Devido a essa restrição, você precisa criar uma CA intermediária que assine o certificado final, isso cria uma pausa na qual, se o certificado de autoridade intermediária for comprometido, ele poderá ser revogado e uma nova será emitida.
Etapa 6. Crie um novo subdiretório para a CA intermediária.
mkdir /root/ca/intermediate
cd /root/ca/intermediate/
mkdir certs crl csr newcerts private
chmod 700 private
touch index.txt
echo 1000 > serial
echo 1000 > /root/ca/intermediate/crlnumber
Passo 7. Copie o conteúdo de Intermediateopenssl.conf para /root/ca/intermediate/openssl.cnf .
Note: Este arquivo contém opções de configuração quase idênticas para a CA, além de alguns pequenos ajustes para torná-lo específico para um intermediário.
Etapa 8. Gere a chave intermediária e o certificado.
cd /root/ca
openssl genrsa -aes256 -out intermediate/private/intermediate.key.pem 4096
chmod 400 intermediate/private/intermediate.key.pem
openssl req -config intermediate/openssl.cnf -new -sha256 -key intermediate/private/intermediate.key.pem -out intermediate/csr/intermediate.csr.pem
Etapa 9. Assinar o certificado intermediário com o certificado CA, cria uma cadeia de confiança que o navegador usa para verificar a autenticidade de um certificado.
openssl ca -config openssl.cnf -extensions v3_intermediate_ca -days 3650 -notext -md sha256 -in intermediate/csr/intermediate.csr.pem -out intermediate/certs/intermediate.cert.pem
chmod 444 intermediate/certs/intermediate.cert.pem
Etapa 10. Crie uma cadeia de CA, uma vez que não deseja a AC na Internet, você pode criar uma cadeia de CA que os navegadores usam para verificar a autenticidade até a CA.
cat intermediate/certs/intermediate.cert.pem certs/ca.cert.pem > intermediate/certs/ca-chain.cert.pem
chmod 444 intermediate/certs/ca-chain.cert.pem
Etapa 11. Crie uma nova chave e certificado para o CCM.
openssl genrsa -out intermediate/private/ccm.com.key.pem 2048
openssl req -new -sha256 -key intermediate/private/ccm.com.key.pem -subj "/C=US/ST=NC/O=Cisco/CN=ccm.com" -reqexts SAN -config <(cat intermediate/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:ccm.com,DNS:www.ccm.com,IP:10.11.12.13")) -out intermediate/csr/ccm.com.csr
Etapa 12. Isso tem todos os campos obrigatórios no comando e precisa ser editado manualmente.
- /C=EUA refere-se ao país (limite de 2 caracteres)
- /ST=NC refere-se ao Estado e pode incluir espaços
- /O=A Cisco refere-se à Organização
- /CN=ccm.com refere-se ao nome comum, que deve ser o URL principal usado para acessar o CCM.
- SAN\nsubjectAltName= são os nomes alternativos, o nome comum deve estar nessa lista e não há limite para quantas SANs você tem.
Etapa 13. Assinar o certificado final utilizando o certificado intermédio.
openssl ca -config intermediate/openssl.cnf -extensions server_cert -days 375 -notext -md sha256 -in intermediate/csr/ccm.com.csr -out intermediate/certs/ccm.com.cert.pem
Etapa 14. Verifique se o certificado foi assinado corretamente.
openssl verify -CAfile intermediate/certs/ca-chain.cert.pem intermediate/certs/ccm.com.cert.pem
Etapa 15. Ele pode retornar um OK ou um Fail.
Etapa 16. Copie o novo certificado, é a chave e a cadeia CA para a pasta Catalina.
cd /root/ca/intermediate/certs
cp ccm.com.cert.pem /usr/local/tomcat/conf/ssl/ccm.com.crt
cp ca-chain.cert.pem /usr/local/tomcat/conf/ssl/ca-chain.crt
cd ../private
cp ccm.com.key.pem /usr/local/tomcat/conf/ssl/ccm.com.key
Etapa 17. Conceda a propriedade do cliente e defina as permissões corretamente.
chown cliqruser:cliqruser ccm.com.crt
chown cliqruser:cliqruser ccm.com.key
chown cliqruser:cliqruser ca-chain.crt
chmod 644 ccm.com.crt
chmod 644 ccm.com.key
chmod 644 ca-chain.crt
Etapa 18. Faça backup do arquivo server.xml antes de fazer alterações.
cd ..
cp server.xml server.xml.bak
Etapa 19. Editar server.xml:
- Localize a seção que começa com <Connector port="10443" maxHttpHeaderSize="8192"
- Altere SSLCertificateFile para apontar para ccm.com.crt
- Alterar SSLCertificateKeyFile para apontar para ccm.com.key
- Alterar SSLCACertificateFile para apontar para ca-chain.crt
Etapa 20. Reinicie o Tomcat.
service tomcat stop
service tomcat start
Etapa 21. O CCM agora usa o novo certificado válido para todos os nomes DNS e endereços IP especificados na Etapa 13.
Etapa 22. Como a CA foi criada no momento do guia, os navegadores não a reconhecerão como válida por padrão, é necessário importar manualmente o certificado.
Etapa 23. Navegue até o CCM com o uso de qualquer URL válido e pressione Ctrl+Shift+i, o que abre as ferramentas do desenvolvedor.
Etapa 24. Selecione Exibir certificado conforme mostrado na imagem.
![](/c/dam/en/us/support/docs/cloud-systems-management/cloudcenter/212097-technote-on-creation-of-self-signed-cert-00.png)
Etapa 25. Selecione Detalhes conforme mostrado na imagem.
![](/c/dam/en/us/support/docs/cloud-systems-management/cloudcenter/212097-technote-on-creation-of-self-signed-cert-01.png)
Etapa 26. Selecione Copiar para arquivo conforme mostrado na imagem.
![](/c/dam/en/us/support/docs/cloud-systems-management/cloudcenter/212097-technote-on-creation-of-self-signed-cert-02.png)
Etapa 27. Se você obtiver erros sobre uma CA não confiável, navegue até Certification Path para exibir o certificado Intermediário e Raiz. Você pode clicar neles e exibir seu certificado e também copiá-los para arquivos como mostrado na imagem.
![](/c/dam/en/us/support/docs/cloud-systems-management/cloudcenter/212097-technote-on-creation-of-self-signed-cert-03.png)
Etapa 28. Depois de fazer o download dos certificados, siga as instruções do sistema operacional (SO) ou do navegador para instalar esses certificados como autoridade confiável e autoridades intermediárias.