Cloud & IT Cert Prep · Lektion

X.509-certifikatets struktur

Granska fälten i ett digitalt certifikat – subjekt, utfärdare, giltighetsperiod, offentlig nyckel och tillägg – och förstå vad varje fält betyder.

Lektion 2 av 413 steg

X.509-certifikatets struktur är en gratis lektion i Cloud & IT Cert Prep på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Cloud & IT Cert Prep, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Vad är ett X.509-certifikat?

Ett X.509-certifikat är ett standardiserat digitalt dokument som kopplar en publik nyckel till en identitet. X.509-standarden (som definieras i RFC 5280) anger det format, de fält och de tillägg som används i digitala certifikat över hela världen. Alla TLS/HTTPS-certifikat, S/MIME-e-postcertifikat, kodsigneringscertifikat och certifikat för klientautentisering följer X.509-formatet. Genom att förstå strukturen hos ett X.509-certifikat blir det lättare att läsa certifikatinformation, felsöka certifikatfel och fatta välgrundade beslut om hur certifikat distribueras och valideras.

# View an X.509 certificate in human-readable form
openssl x509 -in certificate.pem -noout -text

# Or view a website's certificate directly
openssl s_client -connect example.com:443 2>/dev/null | \
  openssl x509 -noout -text

Version, serienummer och algoritm

De första fälten i ett X.509-certifikat fastställer dess grundläggande identitet. Version: X.509 v3 är den aktuella standarden (v3 lade till tillägg). Serienummer: ett unikt heltal som tilldelas av den utfärdande CA:n och identifierar just det här certifikatet — används i CRL:er (spärrlistor) för att återkalla enskilda certifikat. Signaturalgoritm: anger vilken algoritm CA:n använde för att signera certifikatet (t.ex. sha256WithRSAEncryption eller ecdsa-with-SHA256). Det här fältet förekommer två gånger: en gång i TBSCertificate och en gång i det yttre signaturomslaget — de måste överensstämma.

# Certificate header fields
# Version: 3 (v3 = supports extensions)
# Serial Number:
#     30:4b:7e:bf:36:e3:46:a8
# Signature Algorithm: sha256WithRSAEncryption

# The serial number is used for revocation:
# CRL lists serial numbers of revoked certificates from this CA

Fälten Issuer och Subject

Två av de viktigaste fälten i ett certifikat fastställer vilka parter som berörs. Fältet Issuer identifierar den CA som signerade certifikatet (t.ex. CN=DigiCert Global CA G2, O=DigiCert Inc, C=US). Fältet Subject identifierar den enhet som certifikatet utfärdades till (t.ex. CN=*.example.com, O=Example Corp, C=US). För ett TLS-certifikat anger Common Name (CN) i Subject eller tillägget Subject Alternative Name (SAN) vilka domännamn certifikatet gäller för. Webbläsare jämför det begärda värdnamnet med dessa fält.

# Extract Issuer and Subject
openssl x509 -in cert.pem -noout -subject -issuer
# subject=CN = *.google.com, O = Google LLC, L = Mountain View, ST = California, C = US
# issuer=CN = GTS CA 1C3, O = Google Trust Services LLC, C = US

# Check Subject Alternative Names (critical for hostname validation)
openssl x509 -in cert.pem -noout -ext subjectAltName
# DNS:*.google.com, DNS:google.com

Giltighetsperiod: notBefore och notAfter

Giltighetsperioden anger när certifikatet är aktivt. Den består av två tidsstämplar: notBefore (certifikatet är ännu inte giltigt före detta datum) och notAfter (certifikatet har gått ut efter detta datum). TLS-klienter kontrollerar att den aktuella tiden ligger inom detta intervall. Certifikat som används utanför sin giltighetsperiod orsakar ett certifikatfel i webbläsare och måste förnyas. Modern bästa praxis är att utfärda kortlivade certifikat (90 dagar, som Let's Encrypt gör) för att begränsa exponeringen om en privat nyckel komprometteras mellan utfärdandet och utgångsdatumet.

# Check certificate expiry dates
openssl x509 -in cert.pem -noout -dates
# notBefore=Jan  1 00:00:00 2026 GMT
# notAfter=Mar 31 23:59:59 2026 GMT

# Check how many days until expiry
echo | openssl s_client -connect example.com:443 2>/dev/null | \
  openssl x509 -noout -enddate
# notAfter=Jun 15 12:00:00 2026 GMT

Fältet för publik nyckel

Certifikatets centrala innehåll är fältet Subject Public Key Info, som innehåller den publika nyckel som certifieras och anger vilken algoritm den används med. För ett RSA-certifikat innehåller det här fältet modulen och exponenten för RSA:s publika nyckel samt dess bitlängd (2048, 4096). För ett ECC-certifikat innehåller det kurvans namn (t.ex. prime256v1) och den publika nyckelpunkten. CA:n genererar inte detta nyckelpar — certifikatbegäraren genererar sitt eget nyckelpar och skickar endast den publika nyckeln i en Certificate Signing Request (CSR).

# Generate a key pair and CSR (Certificate Signing Request)
# First, generate the private key
openssl genrsa -out server.key 2048

# Create a CSR containing the public key and subject info
openssl req -new -key server.key -out server.csr \
  -subj '/CN=www.example.com/O=Example Corp/C=US'

# The CSR is sent to the CA for signing
# The CA returns the signed X.509 certificate
# Private key NEVER leaves your possession

X.509 v3-tillägg

X.509 v3 införde tillägg som utökar certifikatens funktioner avsevärt. Tillägg kan vara kritiska (en klient som inte kan behandla tillägget måste avvisa certifikatet) eller icke-kritiska (kan ignoreras om de inte förstås). Viktiga tillägg är bland andra: Subject Alternative Name (SAN) — ytterligare domännamn eller IP-adresser som certifikatet omfattar; Key Usage — begränsar vilka åtgärder nyckeln får användas för (digital signatur, nyckelkryptering); Extended Key Usage — begränsar användningsområdet ytterligare (TLS-serverautentisering, klientautentisering, kodsignering); och Basic Constraints — anger om subjektet är en CA.

# View X.509 v3 extensions
openssl x509 -in cert.pem -noout -text | grep -A 20 'X509v3 extensions'
# X509v3 Key Usage: critical
#   Digital Signature, Key Encipherment
# X509v3 Extended Key Usage:
#   TLS Web Server Authentication, TLS Web Client Authentication
# X509v3 Subject Alternative Name:
#   DNS:example.com, DNS:www.example.com
# X509v3 Basic Constraints: critical
#   CA:FALSE

Subject Alternative Name (SAN) jämfört med Common Name

Historiskt användes fältet Common Name (CN) i Subjects distinguished-fält för det primära domännamnet. Moderna certifikat använder i stället Subject Alternative Names (SAN), eftersom webbläsare har fasat ut CN-baserad matchning (RFC 2818) till förmån för SAN. SAN gör det möjligt för ett enda certifikat att omfatta flera domäner (multi-SAN-certifikat) eller alla underdomäner till en domän (wildcard-certifikat: *.example.com). SAN-wildcards omfattar endast en nivå — *.example.com omfattar www.example.com men inte sub.www.example.com.

CRL-distributionspunkt och OCSP-tillägg

Två viktiga tillägg talar om för klienter hur de ska kontrollera om ett certifikat har återkallats före utgångsdatumet. CRL Distribution Points (CDP): innehåller URL:er där CA:ns Certificate Revocation List kan hämtas. Authority Information Access (AIA): innehåller URL:en till CA:ns OCSP-responder (Online Certificate Status Protocol) för kontroll av återkallelse i realtid. Moderna klienter föredrar OCSP framför nedladdning av CRL:er, eftersom CRL:er kan vara stora filer. CA:ns digitala signatur på OCSP-svar säkerställer att klienterna får äkta information om återkallelsestatus.

# Check OCSP status of a certificate
openssl ocsp -issuer intermediate_ca.pem \
  -cert server_cert.pem \
  -url http://ocsp.digicert.com \
  -text
# Response shows: good, revoked, or unknown
# server_cert.pem: good
# This Update: Jun 21 00:00:00 2026 GMT

Certifikatformat: PEM, DER och PFX

X.509-certifikat finns i flera kodningsformat som Ni kommer att stöta på i praktiken. PEM (Privacy Enhanced Mail): base64-kodat DER omslutet av rubrikerna -----BEGIN CERTIFICATE-----. Läsbart för människor och används i Linux/Apache/nginx. DER (Distinguished Encoding Rules): binärt format. Används i Java-applikationer och i vissa Windows-sammanhang. PFX/PKCS#12: ett containerformat som samlar certifikatet, dess kedja och den privata nyckeln i en lösenordsskyddad fil. Används i Windows IIS och när certifikat exporteras tillsammans med sina privata nycklar. P7B/PKCS#7: innehåller endast certifikatkedjan, ingen privat nyckel, och används i Windows certifikatarkiv.

# Convert between certificate formats
# PEM to DER
openssl x509 -in cert.pem -outform DER -out cert.der

# DER to PEM
openssl x509 -in cert.der -inform DER -outform PEM -out cert.pem

# Export certificate + private key to PFX (for Windows IIS)
openssl pkcs12 -export -in cert.pem -inkey private.key \
  -certfile chain.pem -out cert.pfx -passout pass:ExportPassword

Certificate Transparency (CT-loggar)

Certificate Transparency (CT) är ett ramverk som kräver att CA:er loggar alla utfärdade certifikat i offentligt granskbara loggar. Det gör det möjligt för vem som helst att övervaka om obehöriga certifikat utfärdas för deras domäner. Chrome och Safari kräver att TLS-certifikat finns med i CT-loggar. SCT (Signed Certificate Timestamp) är ett bevis på att certifikatet finns med i en logg och bäddas in i certifikatet eller levereras via ett TLS-tillägg. CT-loggar avslöjar felaktigt utfärdade certifikat snabbt — om en CA felaktigt utfärdar ett certifikat för er domän ser Ni det i loggar som crt.sh innan angripare hinner utnyttja det.

# Search for all certificates issued for a domain using crt.sh
# This would be done via browser or API:
# https://crt.sh/?q=example.com

# Check CT log inclusion in a certificate
openssl x509 -in cert.pem -noout -text | grep -A 5 'CT Precertificate'
# X509v3 extension: CT Precertificate SCTs (critical)
#   Signed Certificate Timestamp:
#     Version: v1 (0x0)
#     Log ID: A4:B9...

CA:ns signatur på certifikatet

Den sista komponenten i ett X.509-certifikat är CA:ns digitala signatur. CA:n hashberäknar alla certifikatdata (TBSCertificate) och signerar hashen med sin egen privata nyckel. Det är denna signatur som gör certifikatet tillförlitligt — vem som helst kan verifiera den med CA:ns publika nyckel, som finns i CA:ns eget certifikat. Den signaturalgoritm som används (och anges i signaturfältet) måste överensstämma med det som anges tidigare i certifikatet. Alla ändringar av certifikatet efter signeringen gör signaturen ogiltig och säkerställer därmed certifikatets integritet.

# Verify that a certificate was signed by a specific CA
openssl verify -CAfile ca_chain.pem server_cert.pem
# server_cert.pem: OK

# If the signature is invalid or the chain is broken:
# server_cert.pem: C = US, O = Example, CN = www.example.com
# error 20 at 0 depth lookup: unable to get local issuer certificate

Snabbkontroll

Testa er förståelse av CompTIA Security+ (SY0-701)-begreppen från den här lektionen.

Lektionssammanfattning

I den här lektionen har Ni lärt er att ett X.509-certifikat innehåller version, serienummer, utfärdare, subjekt, giltighetsperiod, publik nyckel och v3-tillägg; SAN-tillägget styr vilka värdnamn certifikatet omfattar; CDP- och AIA-tillägg pekar på slutpunkter för kontroll av återkallelse; och CT-loggar tillhandahåller offentliga granskningsspår för certifikatutfärdande. Härnäst utforskar vi certifikatets livscykel och återkallelse.

Gratis att börja

Lär dig Cloud & IT Cert Prep med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
150
Lektioner
600

Vanliga frågor

Är lektionen ”X.509-certifikatets struktur” gratis?

Ja – hela texten till ”X.509-certifikatets struktur” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Cloud & IT Cert Prep, kan Ni uppgradera till CoddyKit PRO. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Vad lär jag mig i ”X.509-certifikatets struktur”?

Granska fälten i ett digitalt certifikat – subjekt, utfärdare, giltighetsperiod, offentlig nyckel och tillägg – och förstå vad varje fält betyder. Ni övar på Cloud & IT Cert Prep med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Cloud & IT Cert Prep?

Du behöver inga förkunskaper. Utbildningen i Cloud & IT Cert Prep på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”X.509-certifikatets struktur”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Cloud & IT Cert Prep-lektionen?

Ja. Varje Cloud & IT Cert Prep-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Certifikatutfärdare och förtroendekedjor
  2. X.509-certifikatets struktur
  3. Certifikatets livscykel och återkallande
  4. Användningsområden för PKI: HTTPS, S/MIME och kodsignering
← Tillbaka till Cloud & IT Cert Prep