ฉันต้องการใช้ Mac OS X ของฉันกับ https สำหรับการทดสอบการพัฒนาท้องถิ่น ฉันจะทำให้ Apache2 ตอบสนองต่อ ssl ได้อย่างง่ายดายเพียงเพื่อเสนอการทดสอบ - ฉันไม่ต้องการใบรับรองจริง ๆ แต่เป็นของปลอมเพื่อให้ https ท้องถิ่นทำงาน
ฉันต้องการใช้ Mac OS X ของฉันกับ https สำหรับการทดสอบการพัฒนาท้องถิ่น ฉันจะทำให้ Apache2 ตอบสนองต่อ ssl ได้อย่างง่ายดายเพียงเพื่อเสนอการทดสอบ - ฉันไม่ต้องการใบรับรองจริง ๆ แต่เป็นของปลอมเพื่อให้ https ท้องถิ่นทำงาน
คำตอบ:
สำหรับการทดสอบการพัฒนาท้องถิ่นใบรับรองแบบลงนามด้วยตนเองนั้นเพียงพอ คุณสามารถสร้างได้ด้วย ชุด OpenSSL ชอบมาก:
การสร้างคีย์ส่วนตัว:
openssl genrsa -des3 -out server.key 1024
เอาท์พุท:
การสร้างคีย์ส่วนตัว RSA โมดูลัสยาว 1024 บิต .................................................. ....... ++++++ ........ ++++++ e คือ 65537 (0x10001) ป้อนวลีรหัสผ่าน PEM: การยืนยันรหัสผ่าน - ป้อนวลีรหัสผ่าน PEM:
ป้อนรหัสผ่านสำหรับคีย์ส่วนตัวของคุณ
การสร้าง CSR (คำขอลงนามใบรับรอง):
openssl req -new -key server.key -out server.csr
มันจะขอรายละเอียดเช่นนี้:
ชื่อประเทศ (รหัสตัวอักษร 2 ตัว) [GB]: ชื่อรัฐหรือจังหวัด (ชื่อเต็ม) [Berkshire]: ชื่อท้องถิ่น (เช่นเมือง) [Newbury]: ชื่อองค์กร (เช่น บริษัท ) [My Company Ltd]: ชื่อหน่วยองค์กร (เช่นส่วน) []: ชื่อสามัญ (เช่นชื่อของคุณหรือชื่อโฮสต์ของเซิร์ฟเวอร์ของคุณ) []: ที่อยู่อีเมล []: โปรดป้อนแอตทริบิวต์ 'พิเศษ' ต่อไปนี้ ที่จะส่งพร้อมกับคำขอใบรับรองของคุณ รหัสผ่านที่ท้าทาย []: ชื่อ บริษัท ทางเลือก []:
ค่อนข้างตรงไปตรงมาชื่อสามัญคือชื่อโฮสต์ของเซิร์ฟเวอร์ของคุณตามที่ระบุในวงเล็บ
การสร้างใบรับรองที่ลงนามเอง:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
การกำหนดค่า SSL ใน httpd.conf สำหรับ Apache:
เปิด SSLE SSLCertificateFile /path/to/generated/server.crt SSLCertificateKeyFile /path/to/generated/server.key
(แทนที่เส้นทางอย่างเหมาะสมด้วยเส้นทางไปยังใบรับรองและรหัสของคุณ)
รีสตาร์ท Apache :
apachectl restart
Apache จะขอให้คุณใส่ข้อความรหัสผ่านของคุณ หากคุณคิดว่าคุณจะปิดเซิร์ฟเวอร์บ่อยครั้งคุณอาจต้องการลบข้อความรหัสผ่านจากคีย์เพื่อหลีกเลี่ยงการป้อนรหัสผ่านในแต่ละครั้ง ถ้าไม่ไม่ต้องกังวล ถ้าเป็นเช่นนั้นทำตามขั้นตอนนี้หลังจากขั้นตอนที่ 2 ( การสร้าง CSR ):
cp server.key server.key.copy
openssl rsa -in server.key.copy -out server.key