X.509 Sertifika Yapısı
Bir dijital sertifikanın içindeki alanları — konu, veren, geçerlilik süresi, ortak anahtar ve uzantıları — inceleyin ve her birinin ne anlama geldiğini anlayın.
X.509 Sertifika Yapısı, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
X.509 Certificate Nedir?
Bir X.509 certificate, bir açık anahtarı bir kimlikle ilişkilendiren standartlaştırılmış dijital belgedir. RFC 5280'de tanımlanan X.509 standardı, dünya genelindeki dijital sertifikalarda kullanılan biçimi, alanları ve uzantıları belirtir. Her TLS/HTTPS sertifikası, S/MIME e-posta sertifikası, kod imzalama sertifikası ve istemci Authentication sertifikası X.509 biçimini izler. Bir X.509 sertifikasının yapısını anlamak, sertifika bilgilerini okumanıza, sertifika hatalarını tanılamanıza ve sertifika dağıtımı ile doğrulaması hakkında bilinçli kararlar vermenize yardımcı olur.
# 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 -textVersion, Serial Number ve Algorithm
Bir X.509 sertifikasındaki ilk alanlar, sertifikanın temel kimliğini belirler. Version: X.509 v3 güncel standarttır (v3, uzantıları eklemiştir). Serial Number: sertifikayı düzenleyen CA tarafından atanan ve bu belirli sertifikayı tanımlayan benzersiz tam sayıdır; tek tek sertifikaları iptal etmek için CRL'de (iptal listelerinde) kullanılır. Signature Algorithm: CA'nın sertifikayı imzalamak için kullandığı algoritmayı belirtir (ör. sha256WithRSAEncryption veya ecdsa-with-SHA256). Bu alan iki kez görünür: bir kez TBSCertificate içinde, bir kez de dış imza sarmalayıcısında; ikisi eşleşmelidir.
# 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 CAIssuer ve Subject Alanları
Sertifikadaki en önemli alanlardan ikisi, ilgili tarafları belirler. Issuer alanı, sertifikayı imzalayan CA'yı tanımlar (ör. CN=DigiCert Global CA G2, O=DigiCert Inc, C=US). Subject alanı, sertifikanın düzenlendiği varlığı tanımlar (ör. CN=*.example.com, O=Example Corp, C=US). Bir TLS sertifikasında, Subject'in Common Name (CN) alanı veya Subject Alternative Name (SAN) uzantısı, sertifikanın hangi alan adları için geçerli olduğunu belirtir. Tarayıcılar, istenen ana bilgisayar adını bu alanlarla karşılaştırır.
# 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.comGeçerlilik Süresi: notBefore ve notAfter
Geçerlilik süresi, sertifikanın ne zaman etkin olduğunu belirler. İki zaman damgasından oluşur: notBefore (sertifika bu tarihten önce henüz geçerli değildir) ve notAfter (sertifikanın geçerliliği bu tarihten sonra sona ermiştir). TLS istemcileri, geçerli zamanın bu aralık içinde olup olmadığını doğrular. Geçerlilik süresi dışında sunulan sertifikalar tarayıcılarda sertifika hatasına neden olur ve yenilenmelidir. Modern en iyi uygulama, özel bir anahtarın düzenleme ile sona erme arasında ele geçirilmesi durumunda maruziyeti sınırlamak için kısa ömürlü sertifikalar (Let's Encrypt'in kullandığı 90 gün gibi) düzenlemektir.
# 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 GMTAçık Key Alanı
Sertifikanın temel yükü, sertifikası verilen açık key'i içeren ve bu key'in kullanıldığı Algorithm'i belirten Subject Public Key Info alanıdır. Bir RSA sertifikasında bu alan, RSA açık key'inin modülünü ve üssünü; ayrıca bit uzunluğunu (2048, 4096) içerir. Bir ECC sertifikasında ise eğri adını (ör. prime256v1) ve açık key noktasını içerir. CA bu key çiftini oluşturmaz; sertifika talepçisi kendi key çiftini oluşturur ve yalnızca açık key'i bir Certificate Signing Request (CSR) içinde gönderir.
# 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 possessionX.509 v3 Uzantıları
X.509 v3, sertifikaların yeteneklerini önemli ölçüde genişleten uzantıları tanıtmıştır. Uzantılar kritik olabilir (bu uzantıyı işleyemeyen bir istemci sertifikayı reddetmelidir) veya kritik olmayan olabilir (anlaşılmadığında yok sayılabilir). Önemli uzantılar şunlardır: Subject Alternative Name (SAN) — sertifikanın kapsadığı ek alan adları veya IP'ler; Key Usage — key'in hangi işlemler için kullanılabileceğini sınırlar (dijital Signature, key Encipherment); Extended Key Usage — amacı daha da sınırlar (TLS Server Authentication, istemci Authentication, kod imzalama); ve Basic Constraints — Subject'in CA olup olmadığını belirtir.
# 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:FALSESubject Alternative Name (SAN) ve Common Name Karşılaştırması
Tarihsel olarak Subject içindeki Common Name (CN) alanı, birincil alan adı için kullanılırdı. Modern sertifikalar bunun yerine Subject Alternative Names (SANs) kullanır; çünkü tarayıcılar, SAN'lar lehine CN tabanlı eşleştirmeyi (RFC 2818) kullanımdan kaldırmıştır. SAN'lar, tek bir sertifikanın birden çok alan adını (multi-SAN certificates) veya bir alan adının tüm alt alan adlarını (wildcard certificates: *.example.com) kapsamasını sağlar. SAN joker karakterleri yalnızca tek düzeyi kapsar: *.example.com, www.example.com alanını kapsar ancak sub.www.example.com alanını kapsamaz.
CRL Distribution Point ve OCSP Uzantısı
İki kritik uzantı, istemcilere bir sertifikanın sona erme tarihinden önce iptal edilip edilmediğini nasıl kontrol edeceklerini bildirir. CRL Distribution Points (CDP): CA'nın Certificate Revocation List listesinin indirilebileceği URL'leri içerir. Authority Information Access (AIA): gerçek zamanlı iptal kontrolü için CA'nın OCSP (Online Certificate Status Protocol) yanıtlayıcısının URL'sini içerir. Modern istemciler, CRL'ler büyük dosyalar olabildiği için CRL indirmeleri yerine OCSP'yi tercih eder. CA'nın OCSP yanıtları üzerindeki dijital Signature'ı, istemcilerin gerçek ve değiştirilmemiş iptal durumu bilgilerini almasını sağlar.
# 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 GMTCertificate Biçimleri: PEM, DER, PFX
X.509 sertifikaları, uygulamada karşılaşacağınız çeşitli kodlama biçimlerinde bulunur. PEM (Privacy Enhanced Mail): -----BEGIN CERTIFICATE----- başlıklarıyla sarılmış, base64 kodlamalı DER'dir. İnsanlar tarafından okunabilir ve Linux/Apache/nginx'te kullanılır. DER (Distinguished Encoding Rules): ikili biçimdir. Java uygulamalarında ve bazı Windows bağlamlarında kullanılır. PFX/PKCS#12: sertifikayı, zincirini ve özel key'i tek bir parola korumalı dosyada bir araya getiren kapsayıcı biçimdir. Windows IIS'te ve sertifikalar özel key'leriyle birlikte dışa aktarılırken kullanılır. P7B/PKCS#7: yalnızca sertifika zincirini içerir, özel key içermez ve Windows sertifika depolarında kullanılır.
# 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:ExportPasswordCertificate Transparency (CT Logs)
Certificate Transparency (CT), CA'ların düzenlediği tüm sertifikaları kamuya açık şekilde denetlenebilen günlüklerde kaydetmesini gerektiren bir çerçevedir. Bu sayede herkes, kendi alan adları için yetkisiz sertifika düzenlenip düzenlenmediğini izleyebilir. Chrome ve Safari, TLS sertifikalarının CT günlüğüne dahil edilmesini gerektirir. SCT (Signed Certificate Timestamp), günlüğe dahil edildiğinin kanıtıdır ve sertifikaya gömülür ya da TLS uzantısı aracılığıyla iletilir. CT günlükleri hatalı düzenlemeleri hızla ortaya çıkarır; bir CA alan adınız için yanlışlıkla sertifika düzenlerse, saldırganlar kötüye kullanmadan önce bunu crt.sh gibi günlüklerde görebilirsiniz.
# 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...Sertifika Üzerindeki CA Signature'ı
Bir X.509 sertifikasının son bileşeni, CA'nın dijital Signature'ıdır. CA, tüm sertifika verilerinin (TBSCertificate) özetini çıkarır ve bu özeti kendi özel key'iyle imzalar. Sertifikayı güvenilir kılan bu Signature'dır; herkes, CA'nın kendi sertifikasında bulunan CA açık key'ini kullanarak bunu doğrulayabilir. Kullanılan Signature Algorithm (Signature alanında listelenir), sertifikanın önceki bölümünde belirtilenle eşleşmelidir. İmzalandıktan sonra sertifikada yapılan her değişiklik Signature'ı geçersiz kılar ve böylece sertifikanın bütünlüğü korunur.
# 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 certificateHızlı Check
Bu dersteki CompTIA Security+ (SY0-701) kavramlarını ne kadar anladığınızı test edin.
Ders Özeti
Bu derste şunları öğrendiniz: bir X.509 sertifikası version, serial number, issuer, subject, validity period, public key ve v3 extensions içerir; SAN extension, sertifikanın hangi ana bilgisayar adlarını kapsadığını belirler; CDP and AIA extensions, iptal kontrolü uç noktalarını gösterir; CT logs ise sertifika düzenlemelerinin herkese açık denetim izlerini sağlar. Sırada Certificate Lifecycle and Revocation konusunu inceleyeceğiz.
Sıkça Sorulan Sorular
“X.509 Sertifika Yapısı” dersi ücretsiz mi?
Evet — “X.509 Sertifika Yapısı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
“X.509 Sertifika Yapısı” dersinde ne öğreneceğim?
Bir dijital sertifikanın içindeki alanları — konu, veren, geçerlilik süresi, ortak anahtar ve uzantıları — inceleyin ve her birinin ne anlama geldiğini anlayın. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“X.509 Sertifika Yapısı” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Sertifika Yetkilileri ve Güven Zincirleri
- X.509 Sertifika Yapısı
- Sertifika Yaşam Döngüsü ve İptal
- PKI Kullanım Alanları: HTTPS, S/MIME ve Kod İmzalama