0Pricing
Cryptology Academy · บทเรียน

การสร้างใบรับรองลงนามด้วยตนเองด้วย OpenSSL

สร้าง CA ของคุณเอง ลงนามใบรับรอง และตรวจสอบด้วย OpenSSL

การสร้างใบรับรองลงนามด้วยตนเองด้วย OpenSSL เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

ในบทเรียนภาคปฏิบัตินี้ เราจะสร้าง CA ขนาดเล็กของเราเองด้วย OpenSSL ลงนามใบรับรองเซิร์ฟเวอร์ และตรวจสอบทุกฟิลด์ เพื่อเรียนรู้ PKI จากภายในสู่ภายนอก

สร้างคีย์ CA ราก

# Generate 4096-bit RSA CA private key openssl genrsa -aes256 -out ca.key 4096 ตัวเลือก -aes256 จะเข้ารหัสคีย์ส่วนตัวด้วยข้อความรหัสผ่าน โปรดปกป้องคีย์ CA อยู่เสมอ

สร้างใบรับรอง CA ราก

openssl req -x509 -new -nodes -key ca.key \ -sha256 -days 3650 \ -out ca.crt \ -subj '/C=US/O=My CA/CN=My Root CA' -x509 ทำให้ใบรับรองเป็นใบรับรองที่ลงนามด้วยตนเอง -days 3650 = 10 ปี

สร้างคีย์เซิร์ฟเวอร์

# Generate 2048-bit RSA server key (no passphrase for web servers) openssl genrsa -out server.key 2048 คีย์เซิร์ฟเวอร์ไม่ควรมีข้อความรหัสผ่าน (เว็บเซิร์ฟเวอร์ไม่สามารถขอข้อความรหัสผ่านระหว่างเริ่มต้นการทำงานได้)

สร้างคำขอลงนามใบรับรอง (CSR)

openssl req -new -key server.key \ -out server.csr \ -subj '/C=US/O=My App/CN=localhost' CSR มีคีย์สาธารณะและหัวเรื่องที่ร้องขอ โดยลงนามด้วยคีย์ส่วนตัวของผู้ยื่นคำขอ

สร้างไฟล์ส่วนขยาย SAN

cat > server.ext <

ลงนามใบรับรองเซิร์ฟเวอร์

openssl x509 -req \ -in server.csr \ -CA ca.crt -CAkey ca.key \ -CAcreateserial \ -out server.crt \ -days 365 -sha256 \ -extfile server.ext

ตรวจสอบใบรับรอง

openssl x509 -in server.crt -text -noout มองหา: ผู้ออกใบรับรอง, หัวเรื่อง, ช่วงเริ่มต้น/สิ้นสุดความถูกต้อง, ชื่อทางเลือกของหัวเรื่อง, การใช้งานคีย์ และขั้นตอนวิธีลายเซ็นที่ด้านล่าง

ตรวจสอบสายโซ่

openssl verify -CAfile ca.crt server.crt # server.crt: OK วิธีนี้ยืนยันว่าใบรับรองเซิร์ฟเวอร์ลงนามโดย CA ของเราอย่างถูกต้อง การแก้ไขใด ๆ กับใบรับรองจะทำให้การตรวจสอบล้มเหลว

ทดสอบด้วย curl

# Start a Python server with the cert: # python3 -m http.server --bind 127.0.0.1 8443 # (simplified) # Test with our CA cert: curl --cacert ca.crt https://localhost:8443 # Without --cacert, curl would reject the self-signed CA

ส่งออกเป็น PKCS12

PKCS12 รวมใบรับรอง คีย์ส่วนตัว และสายโซ่ CA ไว้ในไฟล์เดียว: openssl pkcs12 -export \ -in server.crt -inkey server.key \ -certfile ca.crt \ -out server.p12 ใช้โดยที่เก็บคีย์ของ Java และที่เก็บใบรับรองของ Windows

ตรวจสอบความเข้าใจอย่างรวดเร็ว

คำสั่ง OpenSSL ใดใช้สร้างใบรับรอง CA รากที่ลงนามด้วยตนเองจากคีย์ส่วนตัว

สรุป

ยอดเยี่ยม! คุณสร้าง PKI ที่สมบูรณ์ตั้งแต่ต้นจนจบแล้ว ต่อไปเราจะศึกษาการแฮชรหัสผ่าน ว่าเหตุใด SHA-256 จึงไม่เหมาะสมกับรหัสผ่าน และ bcrypt/Argon2 ทำงานแตกต่างกันอย่างไร

คำถามที่พบบ่อย

บทเรียน “การสร้างใบรับรองลงนามด้วยตนเองด้วย OpenSSL” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การสร้างใบรับรองลงนามด้วยตนเองด้วย OpenSSL” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การสร้างใบรับรองลงนามด้วยตนเองด้วย OpenSSL”

สร้าง CA ของคุณเอง ลงนามใบรับรอง และตรวจสอบด้วย OpenSSL คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การสร้างใบรับรองลงนามด้วยตนเองด้วย OpenSSL” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ใบรับรองคืออะไร โครงสร้าง X.509
  2. หน่วยงานออกใบรับรองและสายโซ่ความน่าเชื่อถือ
  3. การเพิกถอนใบรับรอง: CRL และ OCSP
  4. การสร้างใบรับรองลงนามด้วยตนเองด้วย OpenSSL
← กลับไปที่ Cryptology Academy