Aller au contenu
ecdsa.com
GNU Wget (GnuTLS build); the alias is the OpenSSL build's wordingcurl

Message d’erreur

The certificate's owner does not match hostname 'api.example.com'

Également affiché sous la forme

  • ERROR: no certificate subject alternative name matches

Les builds de wget reposant sur GnuTLS affichent cette ligne ; les builds reposant sur OpenSSL affichent « ERROR: no certificate subject alternative name matches », suivi de « requested host name '<host>'. » à la ligne suivante. L’hôte est celui de votre URL.

Ce que cela signifie

Le certificat a passé la vérification, mais il a été émis pour d’autres noms que l’hôte de l’URL, si bien que wget s’arrête. L’hôte est comparé aux noms DNS de l’extension Subject Alternative Name du certificat, là où toutes les AC actuelles placent les noms couverts par un certificat. wget se termine avec le code de sortie 5.

Pourquoi cela se produit

Comment corriger l’erreur

  1. 1.

    Lister les noms couverts par le certificat

    Comparez les entrées subjectAltName avec l’hôte de l’URL.

    bash
    echo | openssl s_client -connect api.example.com:443 -servername api.example.com 2>/dev/null \
      | openssl x509 -noout -ext subjectAltName
  2. 2.

    Réémettre le certificat avec le nom manquant

    Ajoutez à la demande de certificat chaque nom d’hôte qu’utilisent les clients, puis déployez le certificat et rechargez le serveur.

    bash
    sudo certbot certonly --nginx -d example.com -d www.example.com -d api.example.com
  3. 3.

    Utiliser un nom présent dans le certificat

    Si le serveur est joignable sous l’un des noms listés, utilisez ce nom dans l’URL plutôt qu’une adresse IP ou un alias.

    bash
    # Download through a name the certificate lists, not an IP or alias
    wget https://www.example.com/file.tar.gz

Erreurs associées

Parcourir toute la base de données des erreurs de signature