Import SSL Certificates

This section covers how to configure SSL certificate for new Uyuni installation, and how to replace existing certificates.

Before you begin, ensure you have:

  • A certificate authority (CA) SSL public certificate. If you are using a CA chain, all intermediate CAs must also be available.

  • An SSL server private key

  • An SSL server certificate

All files must be in PEM format.

The host name of the SSL server certificate must match the fully qualified host name of the machine you deploy them on. You can set the host names in the X509v3 Subject Alternative Name section of the certificate. You can also list multiple host names if your environment requires it. Supported Key types are RSA and EC (Elliptic Curve).

Third-party authorities commonly use intermediate CAs to sign requested server certificates. In this case, all CAs in the chain are required to be available. If there is no extra parameter or option available to specify intermediate CAs, take care that all CAs (Root CA and intermediate CAs) are stored in one file.

1. Import Certificates for New Installations

By default, Uyuni uses a self-signed certificate. After you have completed the initial setup, you can replace the default certificate with an imported certificate.

Procedure: Import Certificates on a New Uyuni Server
  1. Deploy the Uyuni Server according to the instructions in Uyuni 2024.12 Server Deployment on SLE Micro. Make sure to pass the correct files as parameters to mgradm install podman. The parameters are:

    3rd Party SSL Certificate Flags:
          --ssl-ca-intermediate strings   Intermediate CA certificate path
          --ssl-ca-root string            Root CA certificate path
          --ssl-server-cert string        Server certificate path
          --ssl-server-key string         Server key path

2. Import Certificates for New Proxy Installations

By default, Uyuni Proxy uses a self-signed certificate. After you have completed the initial setup, you can replace the default certificate with an imported certificate.

Procedure: Import Certificates on a New Uyuni Proxy
  1. Install the Uyuni Proxy according to the instructions in Uyuni 2024.12 Proxy Deployment on SLE Micro.

  2. Follow the prompts to complete setup.

Use the same certificate authority to sign all server certificates for servers and proxies. Certificates signed with different CAs do not match.

3. Replace Certificates

The following procedure needs to run inside of the container. Use mgrctl term to open a terminal in the container before you execute it.

You can replace active certificates on your Uyuni installation with a new certificate. To replace the certificates, you can replace the installed CA certificate with the new CA, and then update the database.

Procedure: Replacing Existing Certificates
  1. On the Uyuni container host, at the command prompt, temporarily copy the certificate files to the container:

    for f in <Root_CA_Certificate> <Server_Cert_File> <Server_Key_File>; do
      mgrctl cp $f server:/tmp
    done
  2. On the Uyuni container host, call the following command to run mgr-ssl-cert-setup inside the container providing certificates as parameters:

    mgrctl exec -ti -- mgr-ssl-cert-setup --root-ca-file=/tmp/<Root_CA_Certificate> \
      --server-cert-file=/tmp/<Server_Cert_File> --server-key-file=/tmp/<Server_Key_File>
  3. Remove the temporarily copied files from the container:

    mgrctl exec -ti -- rm /tmp/<Root_CA_Certificate> /tmp/<Server_Cert_File> \
      /tmp/<Server_Key_File>

Intermediate CAs can either be available in the file which is specified with --root-ca-file or specified as extra options with --intermediate-ca-file. The --intermediate-ca-file option can be specified multiple times. This command performs a number of tests on the provided files to test if they are valid and can be used for the requested use case.

Procedure
  1. Restart services to pick up the changes:

    mgradm restart

If you are using a proxy, you need to generate a server certificate RPM for each proxy, using their host names and cnames. Generate a new configuration tarball and deploy it:

If the Root CA was changed, it needs to get deployed to all the clients connected to Uyuni.

Procedure: Deploying the Root CA on Salt Clients
  1. In the Uyuni Web UI, navigate to Systems  Overview.

  2. Check all your Salt Clients to add them to the system set manager.

  3. Navigate to Systems  System Set Manager  Overview.

  4. In the States field, click Apply to apply the system states.

  5. In the Highstate page, click Apply Highstate to propagate the changes to the clients.