1. Crear la entidad certificadora.
sudo openssl genpkey \ -algorithm RSA \ -pkeyopt rsa_keygen_bits:4096 \ -aes-256-cbc \ -out ca_2026.key
Hay que indicar una contraseña
2. Crear certificado raiz de la CA
Para ello, le damos 10 años de validez al certificado raiz
sudo openssl req \ -x509 \ -new \ -sha256 \ -key ca_2026.key \ -days 3650 \ -out ca_2026.crt \ -subj "/C=ES/ST=Valencia/L=Poblacion/O=Edificio de Poblacion/OU=Informatica/CN=CA Edificio"
3. Crear el fichero de configuración wildcard
creamos el fichero de la configuración del wildcard
sudo nano wildcard.cnf
con este contenido
[req] prompt = no distinguished_name = dn req_extensions = req_ext [dn] C = ES ST = Valencia L = Poblacion O = Edificio de Poblacion OU = Informatica CN = *.poblacion.es [req_ext] subjectAltName = @alt_names [alt_names] DNS.1 = *.poblacion.es DNS.2 = poblacion.es [server_ext] basicConstraints = critical, CA:FALSE keyUsage = critical, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer subjectAltName = @alt_names
4. Generar la clave privada del wildcard
sudo openssl genpkey \ -algorithm RSA \ -pkeyopt rsa_keygen_bits:2048 \ -out wildcard_2026.poblacion.es.key
5. Crear la solicitud CSR
sudo openssl req \ -new \ -key wildcard_2026.poblacion.es.key \ -out wildcard_2026.poblacion.es.csr \ -config wildcard.cnf
6. Firmar el certificado con tu CA
sudo openssl x509 \ -req \ -in wildcard_2026.poblacion.es.csr \ -CA ca_2026.crt \ -CAkey ca_2026.key \ -CAcreateserial \ -out wildcard_2026.poblacion.es.crt \ -days 3650 \ -sha256 \ -extfile wildcard.cnf \ -extensions server_ext
Y piede la contraseña de la CA que hemos dado antes
Los archivos generados hasta ahora son:
ca_2026.crt Certificado público de tu CA ca_2026.key Clave privada de la CA wildcard_2026.poblacio.es.crt Certificado wildcard wildcard_2026.poblacion.es.key Clave privada del wildcard
7. Comprobar el certificado
openssl x509 \ -in wildcard_2026.poblacion.es.crt \ -noout \ -subject \ -issuer \ -dates \ -ext subjectAltName
openssl verify \ -CAfile ca_2026.crt \ wildcard_2026.poblacion.es.crt
8. Instalar la CA como confiable en Ubuntu
Copia únicamente el certificado público de la CA:
sudo cp ca_2026.crt /usr/local/share/ca-certificates/ca_2026.crt sudo update-ca-certificates
No copies nunca ca_2026.key fuera de su ubicación protegida.
En otros ordenadores, navegadores o móviles tendrás que instalar también ca_2026.crt como autoridad de confianza. De lo contrario, mostrarán un aviso de certificado no confiable.
9. Ejemplo para nginx
server { listen 443 ssl; server_name poblacion.es *.poblacion.es; ssl_certificate /etc/nginx/ssl/wildcard_2026.poblacion.es.crt; ssl_certificate_key /etc/nginx/ssl/wildcard_2026.poblacion.es.key; }
No hay comentarios :
Publicar un comentario