---
locale: "fr"
updated_at: "2025-10-28T12:39:21.041Z"
canonical: "https://www.isdecisions.com/fr/userlock/docs/guides/sso/automatisation-renouvellement-certificats-ssl"
---

# Automatisation du renouvellement du certificat SSL

Scripts de renouvellement SSL automatisé.

## 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](https://letsencrypt.org/about/). 

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](https://certifytheweb.com/).

## 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**
  - Téléchargez et installez *Certify Certificate Manager* depuis [https://certifytheweb.com](https://certifytheweb.com).
2. **Demander un certificat Let’s Encrypt**
  - Suivez la [documentation officielle](https://docs.certifytheweb.com/docs/certificate-process) 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.
