Home | Back


การสร้าง Self-Signed SSL Certificate สำหรับการทดลองหรือใช้ภายในองค์กร

Sunday, 17 November 2013



การพัฒนาระบบเวบแอปพลิเคชั่นที่ผ่านโปรโตคอล http นั้น ข้อมูลที่วิ่งในระบบจะไม่ถูกเข้ารหัส ทำให้อาจเกิดการดักจับข้อมูลหรืออื่น ๆ ซึ่งสร้างความไม่ปลอดภัยในการใช้งาน เพื่อความปลอดภัย เราควรให้เวบแอปพลิเคชั่นของเรา วิ่งบนโปรโตคอล https ซึ่งมีการเข้ารหัสข้อมูล และเราต้องใช้ SSL Certificate โดยต้องเสียตังให้กับองค์กรที่รับรองการออก SSL Certificate เหล่านี้ให้กับเรา แต่ถ้าเราอยากจะสร้าง SSL Certificate ของเราเอง เพื่อทดลองหรือใช้ภายในองค์กร เราก็สามารถทำได้ง่าย ๆ ในระบบ Ubuntu ด้วยคำสั่ง openssl ง่าย ๆ ดังนี้ครับ

1. สร้าง Private Key

ในขั้นนี้เราจะสร้าง Private Key ขึ้นมาโดยจะเข้ารหัสแบบ Triple-DES และมีขนาด 1024 บิต ด้วยคำสั่งดังนี้ครับ

ในขั้นตอนนี้ ระบบจะให้เราใส่ pass phrase ด้วยนะครับ เมื่อเรากำหนด pass phrase เสร็จแล้วเราจะได้ไฟล์ server.key มาหนึ่งไฟล์ ซึ่งก็คือไฟล์ Private Key นั่นเองครับ

2. สร้าง CSR (Certificate Signing Request)

ในขั้นนี้เราจะสร้างไฟล์ CSR ขึ้น เมื่อเราสร้างแล้ว เราสามารถนำไฟล์ CSR และ Private Key เพื่อนำไปขอ SSL Certificate ได้ครับ หรือไม่ก็นำไปสร้าง self-signed SSL Certificate ของเราขึ้นมาเองเพื่อทดลองหรือใช้ภายในองค์กรได้ครับ โดยการสร้าง CSR ทำได้ดังนี้ครับ

ระบบจะส่งคำถามต่าง ๆ มาให้เรา เราก็ตอบไปเรื่อย ๆ ครับ พอครบก็จะได้ไฟล์ server.csr มาครับ

3. เอา pass pharse ออกจาก Private Key

ในส่วนของ Private Key นั้นจะมี pass phrase อยู่ ซึ่งเมื่อเวลานำไปใช้งานจริง จะทำให้ Browser ทำการถาม pass phrase เพื่อเข้าเวบทุกครั้ง ซึ่งอาจจะไม่เหมาะสมกับความต้องการของเรา เพราะเราต้องการให้สามารถเข้าเวบได้ทันที โดยไม่ต้องถาม pass phrase ให้ยุ่งยาก เราก็สามารถนำ pass phrase ออกจาก Private Key ได้ดังนี้ครับ

เราก็จะได้ไฟล์ server.key ที่ไม่มี pass phrase แล้วครับ

4. สร้าง Self-Signed Certificate

ขั้นตอนสุดท้าย เราก็จะสร้าง Self-Signed Certificate ขึ้นมาดังนี้ครับ

เราก็จะได้ไฟล์ server.crt เพิ่มมาอีกหนึ่งไฟล์ เวลานำไปใช้งาน ไฟล์ที่ใช้มี 2 ไฟล์ ซึ่งก็คือ server.crt และ server.key นั่นเองครับ สำหรับในบางระบบ เช่น apache2 หรือ pound อาจจะต้องการไฟล์ pem เราก็จะสามารถสร้างไฟล์ pem ได้ง่าย ๆ ดังนี้ครับ

แค่นี้เราก็ได้ไฟล์ pem มาใช้งานแล้วครับ

ที่มา : How to create a self-signed SSL Certificate …



Home | Back