Automatisation du renouvellement du certificat SSL

Protégez la connexion UserLock SSO en automatisant le renouvellement de son certificat SSL à l’aide de Let’s Encrypt et Certify The Web.

Publié le 10 octobre 2025

Introduction

Le certificat SSL est un élément obligatoire de la configuration de l’authentification unique (SSO) de UserLock. Il sécurise les communications entre les applications SaaS et le service UserLock SSO, garantissant l’authenticité et la confidentialité des connexions utilisateur.

Les administrateurs peuvent utiliser n’importe quel certificat SSL valide, qu’il soit émis par une autorité de certification commerciale (CA) ou un fournisseur gratuit tel que Let’s Encrypt.

Cependant, les certificats Let’s Encrypt expirent tous les 90 jours et nécessitent donc un renouvellement régulier pour éviter toute interruption de service.

Ce guide explique comment automatiser le renouvellement et la réassociation du certificat SSL utilisé par UserLock SSO, à l’aide de l’outil Certify The Web.

Pourquoi automatiser le renouvellement du certificat

Le renouvellement et la réassociation manuelle des certificats SSL peuvent rapidement devenir chronophages et source d’erreurs. L’automatisation de cette tâche garantit :

  • Une disponibilité continue du service — aucun risque d’interruption du SSO à cause d’un certificat expiré.

  • Une sécurité renforcée — les certificats renouvelés sont toujours à jour et reconnus par les navigateurs modernes.

  • Une charge administrative réduite — une fois la configuration terminée, le processus fonctionne de manière entièrement autonome.

Procédure de configuration

  1. Installer Certify The Web

  2. Demander un certificat Let’s Encrypt

    • Suivez la documentation officielle pour demander un certificat correspondant à votre nom d’hôte SSO (par exemple https://sso.mondomaine.com).

  3. Sélectionner le mode de déploiement approprié

    • À l’étape Deployment, choisissez Certificate Store Only.
      Cela garantit que le certificat est enregistré dans le magasin de certificats Windows, où il pourra ensuite être utilisé par UserLock SSO.

  4. Ajouter une tâche post-renouvellement
    À l’étape Tasks :

    • Ajoutez une nouvelle tâche → Run PowerShell Script

    • Nommez-la (par exemple UserLock SSO Binding)

    • Définissez le déclencheur sur Run On Success

  5. Créer le script PowerShell

    • Créez un fichier nommé UserLockSSOBinding.ps1 dans un dossier accessible à tous les comptes, par exemple :C:\ProgramData\ISDecisions\UserLock\SSO\CertifyTheWeb\

    • Copiez et collez le code suivant dans le fichier

    • Mettez à jour les variables $hostname et $port selon votre configuration SSO.

      Param($result)
      
      # Use your UserLock SSO hostname and port as defined in the UserLock Console
      $hostname = "sso.mydomain.com"
      $port = 444
      
      # Always useful to log
      $logFile = "UserLockSSOBindingScript.log"
      
      Start-Transcript $logFile
      Write-Host "$(Get-Date) - Starting Post Certificate Generation Deployment Task"
      
      # Check whether the generation was OK
      Write-Host "$(Get-Date) - Certificate Generated: $($result.IsSuccess)"
      if (!$result.IsSuccess)
      {
      Write-Host "$(Get-Date) - Certification generation failed => Exiting"
      exit
      }
      
      # Get the certificate thumbprint
      $cert = $($result.ManagedItem.CertificateThumbprintHash)
      Write-Host "$(Get-Date) - Certificate Thumbrint: $($cert)"
      
      # Create a random Guid that will be used with netsh command
      $guid = [guid]::NewGuid().ToString("B")
      
      # Remove previous binding
      Write-Host "$(Get-Date) - Removing binding for $($hostname):$port"
      netsh http delete sslcert hostnameport=$($hostname):$port
      
      # Create new binding
      Write-Host "$(Get-Date) - Binding certificate $($cert) to $($hostname) with appId $($guid)"
      netsh http add sslcert hostnameport="$($hostname):$($port)" certhash=$cert certstorename=MY appid="$($guid)"
      
      # Stop the logging
      Stop-Transcript
      
  6. Lier le script dans Certify The Web

    • Dans l’onglet Task Parameters, indiquez le chemin complet du script PowerShell dans le champ Program/Script, puis cliquez sur OK et Save.

  7. Générer le premier certificat et tester

    • Enregistrez la configuration dans Certify The Web, puis générez manuellement le premier certificat.

    • En cas de problème, consultez le fichier de log.

    • Accédez ensuite à votre adresse UserLock SSO dans un navigateur (par exemple https://sso.mondomaine.com:444) et vérifiez que le nouveau certificat est valide et émis par Let’s Encrypt.