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

พื้นฐานสำคัญของ OpenSSL ผ่านบรรทัดคำสั่ง

เชี่ยวชาญคำสั่ง OpenSSL ที่จำเป็นสำหรับการสร้างกุญแจ การเข้ารหัส การทำแฮช และการตรวจสอบใบรับรอง

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

ข้อมูลรุ่นและการสร้างของ OpenSSL

คำสั่ง "openssl version -a" แสดงรุ่นของ OpenSSL วันที่สร้าง คอมไพเลอร์ และตัวเลือกที่กำหนดค่าไว้ การตรวจสอบรุ่นมีความสำคัญ เนื่องจากความสามารถและค่าเริ่มต้นด้านการเข้ารหัสแตกต่างกันอย่างมากระหว่าง OpenSSL 1.0.x, 1.1.x และ 3.x อัลกอริทึมรุ่นเก่าจำนวนมากถูกปิดใช้งานไว้เป็นค่าเริ่มต้นในรุ่นใหม่เพื่อความปลอดภัย

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

คำสั่ง "openssl genrsa -out private.pem 4096" สร้างคีย์ส่วนตัว RSA ขนาด 4096 บิตในรูปแบบ PEM สำหรับการใช้งานจริง ขนาด 2048 บิตเป็นขั้นต่ำ ขนาด 3072 บิตให้ความปลอดภัยประมาณ 128 บิต และขนาด 4096 บิตให้ระยะเผื่อเพิ่มเติม สามารถเข้ารหัสคีย์ด้วย AES ขณะจัดเก็บได้โดยเพิ่ม "-aes256" ในคำสั่ง ซึ่งระบบจะขอให้ป้อนวลีรหัสผ่าน

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

การสร้างคีย์เส้นโค้งวงรีมีสองขั้นตอน ขั้นแรก: "openssl ecparam -name prime256v1 -genkey -noout -out ec_private.pem" จะสร้างคีย์ส่วนตัว EC โดยใช้เส้นโค้ง P-256 อีกทางเลือกหนึ่งคือ "openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -out ec_private.pem" ซึ่งใช้อินเทอร์เฟซ genpkey รุ่นใหม่กว่าและเป็นตัวเลือกที่แนะนำสำหรับโค้ดใหม่

การดูรายละเอียดคีย์

สามารถตรวจสอบเนื้อหาคีย์ได้ด้วย "openssl rsa -text -noout -in private.pem" สำหรับคีย์ RSA ซึ่งจะแสดงโมดูลัส เลขชี้กำลังสาธารณะ และตัวประกอบจำนวนเฉพาะ สำหรับคีย์ EC ใช้ "openssl ec -text -noout -in ec_private.pem" เพื่อแสดงชื่อเส้นโค้งและค่าคีย์ ตัวเลือก "-noout" จะระงับการแสดงผลที่เข้ารหัสในรูปแบบ PEM

การสร้างข้อมูลสุ่ม

OpenSSL สามารถสร้างไบต์สุ่มที่ปลอดภัยทางการเข้ารหัสได้: "openssl rand -hex 32" แสดงไบต์สุ่ม 32 ไบต์ในรูปเลขฐานสิบหก หรืออักขระเลขฐานสิบหก 64 ตัว ซึ่งเหมาะสำหรับสร้างคีย์สมมาตรหรือค่าที่ใช้เพียงครั้งเดียว "openssl rand -base64 32" แสดงไบต์สุ่มที่เข้ารหัสแบบ base64 วิธีนี้ใช้แหล่งเอนโทรปีของ OS (/dev/urandom บนระบบ Unix)

การคำนวณค่าแฮช

คำสั่ง "openssl dgst" ใช้คำนวณค่าไดเจสต์ของข้อความ: "openssl dgst -sha256 file.txt" ใช้คำนวณแฮช SHA-256 ของไฟล์ ส่วน "openssl dgst -sha256 -hmac key file.txt" ใช้คำนวณ HMAC-SHA256 และ "openssl dgst -sha256 -sign private.pem -out sig.bin file.txt" ใช้สร้างลายเซ็นดิจิทัลสำหรับไฟล์

การเข้ารหัสไฟล์

การเข้ารหัสไฟล์แบบสมมาตรใช้คำสั่ง "openssl enc -aes-256-cbc -pbkdf2 -in plaintext.txt -out encrypted.bin" แฟล็ก "-pbkdf2" ใช้ PBKDF2 เพื่อสร้างกุญแจจากวลีรหัสผ่าน แทนที่ EVP_BytesToKey ซึ่งเลิกใช้งานแล้ว การถอดรหัสใช้คำสั่ง "openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.bin -out decrypted.txt" สำหรับโค้ดใหม่ ควรเลือกใช้โหมด AEAD เช่น AES-256-GCM

การแปลงรูปแบบ PEM และ DER

ใบรับรองและกุญแจมีรูปแบบการเข้ารหัสอยู่สองรูปแบบ PEM ใช้การเข้ารหัสแบบ base64 และมีบรรทัดส่วนหัวและส่วนท้าย (-----BEGIN CERTIFICATE-----) ซึ่งเครื่องมือ Unix ส่วนใหญ่ใช้ ส่วน DER เป็นการเข้ารหัสแบบไบนารีที่ Java และ Windows ใช้ การแปลง PEM เป็น DER ใช้คำสั่ง "openssl x509 -inform PEM -outform DER -in cert.pem -out cert.der" หากต้องการแปลง DER เป็น PEM ให้สลับแฟล็ก -inform และ -outform

การตรวจสอบลายเซ็น

การตรวจสอบลายเซ็นดิจิทัลใช้คำสั่ง "openssl dgst -sha256 -verify public.pem -signature sig.bin file.txt" โดยต้องแยกกุญแจสาธารณะออกมาก่อนด้วยคำสั่ง "openssl rsa -pubout -in private.pem -out public.pem" สำหรับการตรวจสอบโดยใช้ใบรับรอง คำสั่ง "openssl verify -CAfile ca.pem cert.pem" จะตรวจสอบใบรับรองกับสายโซ่ CA ที่ระบุ

การตรวจสอบรายละเอียดใบรับรอง

การตรวจสอบใบรับรองเป็นงาน OpenSSL ที่พบบ่อยที่สุดอย่างหนึ่ง คำสั่ง "openssl x509 -text -noout -in cert.pem" จะแสดงช่องข้อมูลทั้งหมดของใบรับรอง รวมถึงชื่อเรื่อง ผู้ออก วันที่เริ่มต้นและสิ้นสุดความถูกต้อง SAN ต่าง ๆ และส่วนขยาย ส่วนคำสั่ง "openssl x509 -enddate -noout -in cert.pem" จะแสดงเฉพาะวันหมดอายุ ซึ่งมีประโยชน์สำหรับสคริปต์ตรวจติดตาม

การเชื่อมต่อกับเซิร์ฟเวอร์ TLS

คำสั่ง "openssl s_client -connect example.com:443 -servername example.com" จะสร้างการเชื่อมต่อ TLS และแสดงสายโซ่ใบรับรองของเซิร์ฟเวอร์ เวอร์ชัน TLS ที่เจรจา และชุดการเข้ารหัส การเพิ่ม "-showcerts" จะแสดงใบรับรองทั้งหมดในสายโซ่ คำสั่งนี้มีประโยชน์อย่างยิ่งสำหรับการแก้ไขข้อบกพร่องของปัญหาสายโซ่ใบรับรอง ปัญหาเวอร์ชัน TLS และการแนบ OCSP

การตรวจสอบคำสั่ง genrsa ของ OpenSSL

คำสั่ง "openssl genrsa -aes256 -out private.pem 2048" ทำอะไร

สรุปบทเรียน: พื้นฐาน CLI ของ OpenSSL

OpenSSL มีคำสั่งสำหรับการสร้างกุญแจ (genrsa, genpkey) การแปลงรูปแบบ (PEM/DER) การสร้างข้อมูลสุ่ม (rand) การคำนวณแฮชและการลงนาม (dgst) การเข้ารหัสไฟล์ (enc) การตรวจสอบใบรับรอง (x509 -text) การตรวจสอบสายโซ่ (verify) และการแก้ไขข้อบกพร่องของ TLS (s_client) คำสั่งเหล่านี้ครอบคลุมงานใบรับรองและวิทยาการเข้ารหัสลับที่ทำเป็นประจำเกือบทั้งหมด

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

บทเรียน “พื้นฐานสำคัญของ OpenSSL ผ่านบรรทัดคำสั่ง” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐานสำคัญของ OpenSSL ผ่านบรรทัดคำสั่ง”

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

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

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

บทเรียน “พื้นฐานสำคัญของ OpenSSL ผ่านบรรทัดคำสั่ง” ใช้เวลานานแค่ไหน

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

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

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

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

  1. พื้นฐานสำคัญของ OpenSSL ผ่านบรรทัดคำสั่ง
  2. การสร้างและจัดการสายโซ่ใบรับรอง
  3. OCSP Stapling และความโปร่งใสของใบรับรอง
  4. Let's Encrypt และการทำงานอัตโนมัติด้วยโพรโทคอล ACME
← กลับไปที่ Cryptology Academy