Security+ Academy · Pelajaran

Struktur Sijil X.509

Teliti medan dalam sijil digital — subjek, pengeluar, tempoh sah, kunci awam dan sambungan — serta fahami maksud setiap satunya.

Pelajaran 2 daripada 413 langkah

Struktur Sijil X.509 ialah pelajaran Security+ Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Security+ Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Security+ Academy merangkumi sejumlah 4 pelajaran.

Apakah X.509 Certificate?

X.509 certificate ialah dokumen Digital piawai yang mengikat public key kepada identiti. Piawaian X.509 (ditakrifkan dalam RFC 5280) menetapkan format, medan dan sambungan yang digunakan dalam Digital Certificates di seluruh dunia. Setiap TLS/HTTPS certificate, S/MIME email certificate, code-signing certificate dan client authentication certificate mengikut format X.509. Memahami struktur X.509 certificate membantu Anda membaca maklumat certificate, mendiagnosis ralat certificate dan membuat keputusan yang termaklum tentang penggunaan serta pengesahan certificate.

# 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, Serial Number dan Algorithm

Medan pertama dalam X.509 certificate menetapkan identiti asasnya. Version: X.509 v3 ialah piawaian semasa (v3 menambah extensions). Serial Number: integer unik yang diberikan oleh CA yang mengeluarkan certificate untuk mengenal pasti certificate khusus ini — digunakan dalam CRL (senarai pembatalan) untuk membatalkan certificate secara individu. Signature Algorithm: menetapkan Algorithm yang digunakan oleh CA untuk menandatangani certificate (contohnya, sha256WithRSAEncryption atau ecdsa-with-SHA256). Medan ini muncul dua kali: sekali dalam TBSCertificate dan sekali dalam pembungkus signature luaran — kedua-duanya mesti sepadan.

# 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

Medan Issuer dan Subject

Dua daripada medan paling penting dalam certificate menetapkan pihak yang terlibat. Medan Issuer mengenal pasti CA yang menandatangani certificate (contohnya, CN=DigiCert Global CA G2, O=DigiCert Inc, C=US). Medan Subject mengenal pasti entiti yang menerima certificate tersebut (contohnya, CN=*.example.com, O=Example Corp, C=US). Bagi TLS certificate, Common Name (CN) dalam Subject atau sambungan Subject Alternative Name (SAN) menetapkan nama domain yang sah untuk certificate tersebut. Pelayar memadankan nama hos yang diminta dengan medan ini.

# 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

Tempoh Kesahan: notBefore dan notAfter

tempoh kesahan mentakrifkan masa certificate aktif. Tempoh ini terdiri daripada dua cap masa: notBefore (certificate belum sah sebelum tarikh ini) dan notAfter (certificate telah luput selepas tarikh ini). Client TLS mengesahkan bahawa masa semasa berada dalam julat ini. Certificates yang dikemukakan di luar tempoh kesahannya menyebabkan ralat certificate dalam pelayar dan mesti diperbaharui. Amalan terbaik moden ialah mengeluarkan certificate berjangka pendek (90 hari, seperti yang dilakukan oleh Let's Encrypt) untuk mengehadkan pendedahan jika private key terjejas antara masa pengeluaran dan luput.

# 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

Medan Public Key

Muatan teras certificate ialah medan Subject Public Key Info, yang mengandungi public key yang diperakui serta menetapkan Algorithm yang digunakan bersamanya. Bagi RSA certificate, medan ini mengandungi modulus dan eksponen RSA public key berserta panjang bitnya (2048, 4096). Bagi ECC certificate, medan ini mengandungi nama lengkung (contohnya, prime256v1) dan titik public key. CA tidak menjana pasangan key ini — pemohon certificate menjana pasangan key sendiri dan menyerahkan public key sahaja dalam 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

Sambungan X.509 v3

X.509 v3 memperkenalkan extensions yang memperluas keupayaan certificate dengan ketara. Extensions boleh bersifat kritikal (client yang tidak dapat memproses extension ini mesti menolak certificate) atau tidak kritikal (boleh diabaikan jika tidak difahami). Extensions utama termasuk: Subject Alternative Name (SAN) — nama domain atau IP tambahan yang diliputi certificate; Key Usage — mengehadkan operasi yang boleh dilakukan dengan key (digital signature, key encipherment); Extended Key Usage — mengehadkan lagi tujuan penggunaan (TLS server auth, client auth, code signing); dan Basic Constraints — menunjukkan sama ada subject ialah 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) berbanding Common Name

Dahulu, medan Common Name (CN) dalam medan Subject yang membezakan digunakan untuk nama domain utama. Certificates moden menggunakan Subject Alternative Names (SANs) sebaliknya, kerana pelayar tidak lagi menggalakkan pemadanan berasaskan CN (RFC 2818) dan memilih SANs. SANs membolehkan satu certificate meliputi berbilang domain (multi-SAN certificates) atau semua subdomain bagi sesuatu domain (wildcard certificates: *.example.com). Wildcard SAN hanya meliputi satu aras — *.example.com meliputi www.example.com tetapi bukan sub.www.example.com.

Titik Pengedaran CRL dan Sambungan OCSP

Dua extensions penting memberitahu client cara menyemak sama ada certificate telah dibatalkan sebelum tarikh luputnya. CRL Distribution Points (CDP): mengandungi URL tempat CA Certificate Revocation List boleh dimuat turun. Authority Information Access (AIA): mengandungi URL penyahut CA bagi OCSP (Online Certificate Status Protocol) untuk semakan pembatalan masa nyata. Client moden lebih mengutamakan OCSP berbanding muat turun CRL kerana CRL boleh menjadi file yang besar. Digital signature CA pada Response OCSP memastikan client menerima maklumat status pembatalan yang sahih.

# 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

Format Certificate: PEM, DER, PFX

X.509 Certificates hadir dalam beberapa format pengekodan yang akan Anda temui dalam amalan. PEM (Privacy Enhanced Mail): DER yang dikodkan dalam base64 dan dibungkus dengan pengepala -----BEGIN CERTIFICATE-----. Mudah dibaca manusia dan digunakan pada Linux/Apache/nginx. DER (Distinguished Encoding Rules): format binari. Digunakan pada aplikasi Java dan sesetengah konteks Windows. PFX/PKCS#12: format bekas yang menggabungkan certificate, rantaian certificate dan private key dalam satu file yang dilindungi kata laluan. Digunakan dalam Windows IIS dan semasa mengeksport Certificates bersama private key. P7B/PKCS#7: rantaian certificate sahaja, tanpa private key, digunakan dalam gedung certificate Windows.

# 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 Logs)

Certificate Transparency (CT) ialah rangka kerja yang mewajibkan CA merekodkan semua certificate yang dikeluarkan ke dalam log yang boleh diaudit secara awam. Hal ini membolehkan sesiapa sahaja memantau certificate tanpa kebenaran yang dikeluarkan untuk domain mereka. Chrome dan Safari mewajibkan penyertaan dalam CT log bagi TLS Certificates. SCT (Signed Certificate Timestamp) ialah bukti penyertaan dalam log, yang dibenamkan dalam certificate atau dihantar melalui TLS extension. CT logs mendedahkan pengeluaran certificate yang salah dengan pantas — jika CA tersilap mengeluarkan certificate untuk domain Anda, Anda akan melihatnya dalam log seperti crt.sh sebelum penyerang dapat menyalahgunakannya.

# 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...

Signature CA pada Certificate

Komponen terakhir X.509 certificate ialah digital signature CA. CA mencincang semua data certificate (TBSCertificate) dan menandatangani cincangan itu dengan private key miliknya. Signature inilah yang menjadikan certificate boleh dipercayai — sesiapa sahaja boleh mengesahkannya menggunakan public key CA (yang terdapat dalam certificate CA sendiri). Algorithm signature yang digunakan (disenaraikan dalam medan signature) mesti sepadan dengan yang dinyatakan lebih awal dalam certificate. Sebarang pengubahsuaian pada certificate selepas ditandatangani akan membatalkan signature tersebut, sekali gus memastikan integriti certificate.

# 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

Semakan Pantas

Uji pemahaman Anda tentang konsep CompTIA Security+ (SY0-701) daripada pelajaran ini.

Imbas Kembali Pelajaran

Dalam pelajaran ini, Anda telah mempelajari bahawa X.509 certificate mengandungi version, serial number, issuer, subject, validity period, public key dan v3 extensions; SAN extension mengawal nama hos yang diliputi oleh cert; CDP and AIA extensions menunjuk kepada titik akhir semakan pembatalan; dan CT logs menyediakan jejak audit awam bagi pengeluaran certificate. Seterusnya, kita akan meneroka Certificate Lifecycle and Revocation.

Percuma untuk bermula

Pelajari Security+ Academy dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Struktur Sijil X.509” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Security+ Academy, termasuk “Struktur Sijil X.509”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Security+ Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Struktur Sijil X.509”?

Teliti medan dalam sijil digital — subjek, pengeluar, tempoh sah, kunci awam dan sambungan — serta fahami maksud setiap satunya. Anda berlatih Security+ Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Security+ Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Security+ Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Struktur Sijil X.509” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Security+ Academy ini?

Ya. Setiap pelajaran Security+ Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Pihak Berkuasa Sijil dan Rantaian Kepercayaan
  2. Struktur Sijil X.509
  3. Kitar Hayat dan Pembatalan Sijil
  4. Kes Penggunaan PKI: HTTPS, S/MIME dan Penandatanganan Kod
← Kembali ke Security+ Academy