Sectigo Domein Controle Validatie

Domein controle validatie, DCV, is een methode die gebruik wordt door een CA voordat een certificaat kan worden uitgegeven. Dit wordt gebruikt om te verifiëren of de partij die de aanvraag doet, daadwerkelijk bevoegd is om het domein te gebruiken dat betrekking heeft op het verzoek. DCV is een van de validatiestappen die wordt uitgevoerd voor uitgifte van een certificaat.

Deze domein controle validatie kan op de volgende manieren worden uitgevoerd.

  • E-mail validatie
  • Creëren van een file op de HTTP server van het domein
  • Creëren van een DNS CNAME record voor het domein

Enkel domein en multidomein certificaten kunnen gevalideerd worden met alle beschikbare methoden. Multidomein certificaten kunnen per FQDN een aparte methode gebruiken. Bij bestellingen via de Xolphin API worden de juiste waarden teruggegeven op basis van de geselecteerde methode. Voor wildcard certificaten is de bestandsvalidatie methode niet meer toegestaan sinds november 2021.

Voor file en CNAME validatie is het gebruik van een unieke CSR gebruikt vereist, het hergebruik van dezelfde DCV waarde is niet toegestaan voor domein validatie vanaf juli 2017. Als je een heruitgifte doet met dezelfde CSR, kun je een extra waarden (Request Token) toevoegen aan de aanvraag via out API, of hiervoor de uniqueValueDcv geleverd door onze API hiervoor gebruiken. Bij heruitgifte op basis van een nieuwe CSR zal het nodig zijn ook de huidige domeinen opnieuw te valideren. Als dezelfde CSR wordt gebruikt is het niet nodig om de reeds gevalideerde domeinen opnieuw te valideren. Dit omdat de DCV string is uitgebreid met de extra Request Token, en resulteert in een unieke waarde. Heruitgifte van certificaten vereist hervalidatie. Opmerking: vanaf november 2021 is hervalidatie vereist voor alle reeds gevalideerde FQDN's. 

Email Validatie

Als de order geplaatst is wordt er een e-mail adres geselecteerd uit een shortlist van beschikbare opties. Daar wordt een e-mail naartoe verzonden met daarin een unieke validatie code.

Deze e-mail moet ontvangen worden door iemand die controle heeft over het domein, de link in de e-mail moet gevolgd worden en de unieke validatie code moet worden ingevuld. Hierdoor wordt de controle over het domein bevestigd.

De geaccepteerde email adressen voor elk domein zijn;

  • admin@
  • administrator@
  • hostmaster@
  • postmaster@
  • webmaster@
  • Elk administratief of technisch contact dat vermeld staat onder de domeinnaam in de WHOIS database en zichtbaar is in ons CA systeem.
    Let opVanwege de GDPR schermen enkele registrars deze e-mailadressen tegenwoordig af, zodat we deze meestal niet meer kunnen controleren en dus niet kunnen gebruiken voor e-mail validatie. Om mogelijke vertraging in de certificaatuitgifte voorkomen adviseren we je gebruik te maken van één van de 5 standaard e-mail adressen. 

HTTP gebaseerd DCV

HTTP gebaseerde DCV vereist dat een HTTP server verbindt via poort 80 of dat een HTTPS server verbindt via poort 443 van de Authorization Domain Name. Een firewall moet de IP adressen '''91.199.212.148''' en'''91.199.212.132''' toestaan.

Er worden twee hashes van de CSR gegenereerd voordat deze wordt ingediend bij Sectigo (Comodo). Op de HTTPS server van de Authorization Domain Name wordt een tekst bestand gecreëerd, waarvan 1 hash van de bestandsnaam en 1 hash van het tekst bestand zelf. De inhoud van de Request Token wordt als volgt gegenereerd.

Een CSR wordt gegenereerd met CN= www.example.com

De Authorization Domain Name is example.com

En tekstbestand wordt gecreëerd, met de SHA-256 hash en het domein ‘comodoca.com’ op de volgende regel.

c9c863405fe7675a3988b97664ea6baf442019e4e52fa335f406f7c5f26cf14f comodoca.com (optioneel request token)

Het bestand wordt dan opgeslagen in het volgende format : <MD5 hash>.txt en geplaatst in  /.well -known/pki-validation directory van de HTTP server

http://example.com/.well-known/pki-validation/C7FBC2039E400C8EF74129EC7DB1842C.txt

Als de order is ontvangen door Sectigo (Comodo) en de HTTP gebaseerde DCV is gespecificeerd, controleert het Sectigo CA systeem op de aanwezigheid en inhoud van het tekstbestand. Als het bestand aanwezig is en de hash waardes matchen, is de domein controle bewezen. Het optionele 'Request token' is nodig bij het bestellen van een verlenging of heruitgifte op basis van dezelfde CSR als de vorige bestelling. De optie wordt getoond in het Control Panel onder order details, en teruggegeven via de API.

Let hierbij op het volgende:

  • Genereer de CSR hashes voordat je de bestelling plaatst.
  • De hashes MOETEN gegenereerd worden van de DER-encoded (binary) versie van de CSR - niet de base64 PEM gecodereerde versie. Variaties in de PEM codering kunnen verschillende hash waarden vooroorzaken, terwijl hashes van de DER codering contstant blijven.
  • Het bestand moet gemaakt worden in UPPERCASE formaat van de MD5 hash, omdat de meeste HTTP servers hoofdletter gevoelig zijn. Het Sectigo CA systeem kijkt alleen naar de hash filename in hoofdletters. Het bestand moet aangemaakt worden met een .txt extensie. De SHA-256 hash in het bestand is niet hoofdlettergevoelig. Je MOET hiervoor een hex (base 16) formaat van de hash gebruiken.

DNS CNAME Based DCV

DNS CNAME gebaseerde DCV vereist het maken van een uniek CNAME record dat verwijst naar Sectigo (Comodo). Er wordt gekeken naar de CNAME bij elk geldig Authorization Domain, waarbij we starten bij de FQDN, waarna we alle labels van links naar rechts afwerken en zoeken naar de CNAME op elk onderliggend domein.

Het formaat van de CNAME is:

 ‘_’ <MD5 hash>.AuthorizationDomainName CNAME <SHA-256 hash>.comodoca.com

Let op de eerste underscore aan het begin van de MD5 hash.

Bijvoorbeeld:

Een CSR wordt gegenereerd met CN=www.example.com

De CSR is hashed met zowel de MD5 als SHA-256 hashing algoritmes.

 MD5: c7fbc2039e400c8ef74129ec7db1842c
 SHA-256: c9c863405fe7675a3988b97664ea6baf442019e4e52fa335f406f7c5f26cf14f 

Let op: een hex (base-16) gecodeerde SHA-256 hash past niet in een enkel DNS veld omdat deze te lang is. Verdeel hiervoor de de SHA-256 over twee velden, ieder vmet 32 karakters.

Om DNS CNAME gebaseerde DCV te gebruiken kan het volgende DNS CNAME record gecreëerd worden voordat de order ingediend kan worden.

_c7fbc2039e400c8ef74129ec7db1842c.example.com CNAME c9c863405fe7675a3988b97664ea6baf.442019e4e52fa335f406f7c5f26cf14f.comodoca.com

Of bij het bestellen van een verlenging of een heruitgifte op basis van dezelfde CSR:

_c7fbc2039e400c8ef74129ec7db1842c.example.com CNAME c9c863405fe7675a3988b97664ea6baf.442019e4e52fa335f406f7c5f26cf14f.<uniqueValue>.comodoca.com.

Let er op dat het rechtergedeelte van het CNAME record afgebroken moet worden met een PUNT na comodoca.com, om te voorkomen dat het DNS kijkt naar het oorspronkelijke domein, bijvoorbeeld: ...5f26cf14f.comodoca.com.example.com

Let hierbij op het volgende:

  • Let er op dat het rechtergedeelte van het CNAME record wordt afgesloten met een PUNT, om te voorkomen dat het DNS het originele domein toevoegt, zoals: ...5f26cf14f.comodoca.com.example.com
  • Genereer de CSR hashes voordat je de bestelling plaatst.
  • De hashes MOETEN gegenereerd worden van de DER-encoded (binary) versie van de CSR - niet de base64 PEM gecodereerde versie. Variaties in de PEM codering kunnen verschillende hash waarden veroorzaken, terwijl hashes van de DER codering contstant blijven.

Genereren van DER based MD5 hash

Voor het maken van een MD5 hash voor een CSR in PEM formaat, kun je de volgende commando's gebruiken:

  • Convert the PEM CSR to DER format with the following OpenSSL command:   openssl req -in csr.pem -out csr.der -outform DER
  • Create the MD5 hash from the DER formatted request (depending on your OS):

    md5 request.der
    md5sum request.der
point up