21 ตัวอย่าง OpenSSL เพื่อช่วยคุณในโลกแห่งความจริง

สร้างจัดการ & แปลงใบรับรอง SSL ด้วย OpenSSL


หนึ่งในคำสั่งที่นิยมที่สุดใน SSL ถึง สร้าง, แปลง, จัดการ ใบรับรอง SSL คือ OpenSSL.

จะมีหลายสถานการณ์ที่คุณต้องจัดการกับ OpenSSL ในรูปแบบต่าง ๆ และที่นี่ฉันได้ระบุไว้ให้คุณเป็นแผ่นโกงที่มีประโยชน์.

ในบทความนี้ฉันจะพูดถึงคำสั่ง OpenSSL ที่ใช้บ่อยเพื่อช่วยคุณในโลกแห่งความจริง.

ตัวย่อบางตัวเกี่ยวข้องกับใบรับรอง.

  • SSL – Secure Socket Layer
  • CSR – คำขอลงนามใบรับรอง
  • TLS – ความปลอดภัยของเลเยอร์การขนส่ง
  • PEM – จดหมายที่ปรับปรุงความเป็นส่วนตัว
  • DER – กฎการเข้ารหัสที่แตกต่าง
  • SHA – อัลกอริทึมแฮชที่ปลอดภัย
  • PKCS – มาตรฐานการเข้ารหัสคีย์สาธารณะ

บันทึก: หลักสูตรการทำงานของ SSL / TLS จะเป็นประโยชน์หากคุณไม่คุ้นเคยกับข้อกำหนด.

Contents

สร้างไพรเวตคีย์และคำขอลงนามใบรับรองใหม่

openssl req -out geekflare.csr -newkey rsa: 2048 -nodes -keyout geekflare.key

คำสั่งด้านบนจะสร้าง CSR และไฟล์คีย์ RSA 2048 บิต หากคุณตั้งใจจะใช้ใบรับรองนี้ใน Apache หรือ Nginx คุณต้องส่งไฟล์ CSR นี้ไปยังหน่วยงานผู้ออกใบรับรองและพวกเขาจะให้ใบรับรองที่ลงนามกับคุณเป็นส่วนใหญ่ในรูปแบบ der หรือ pem ซึ่งคุณต้องกำหนดค่าในเว็บเซิร์ฟเวอร์ Apache หรือ Nginx.

สร้างใบรับรองที่ลงชื่อด้วยตนเอง

openssl req -x509 -sha256 -nodes -newkey rsa: 2048 -keyout gfselfsigned.key -out gfcert.pem

คำสั่งด้านบนจะสร้างใบรับรองที่ลงนามเองและไฟล์คีย์ด้วย RSA 2048 บิต ฉันได้รวม sha256 ไว้ด้วยเพราะถือว่าปลอดภัยที่สุดในขณะนี้.

เคล็ดลับ: โดยค่าเริ่มต้นมันจะสร้างใบรับรองที่ลงนามด้วยตนเองที่ถูกต้องเพียงหนึ่งเดือนดังนั้นคุณอาจพิจารณากำหนดพารามิเตอร์ – วันเพื่อขยายความถูกต้อง.

Ex: ที่จะมีการลงนามด้วยตนเองที่ถูกต้องเป็นเวลาสองปี.

openssl req -x509 -sha256 -nodes -days 730 -newkey rsa: 2048 -keyout gfselfsigned.key -out gfcert.pem

ตรวจสอบไฟล์ CSR

openssl req -noout -text -in geekflare.csr

การยืนยันเป็นสิ่งจำเป็นเพื่อให้แน่ใจว่าคุณกำลังส่ง CSR ไปยังหน่วยงานผู้ออกหลักทรัพย์พร้อมด้วยรายละเอียดที่จำเป็น.

สร้างคีย์ส่วนตัว RSA

openssl genrsa -out private.key 2048

หากคุณต้องการสร้างคีย์ส่วนตัว RSA คุณสามารถใช้คำสั่งด้านบน ฉันได้รวม 2048 สำหรับการเข้ารหัสที่แข็งแกร่ง.

ลบวลีรหัสผ่านจากคีย์

openssl rsa -in certkey.key -out nopassphrase.key

หากคุณใช้ข้อความรหัสผ่านในไฟล์คีย์และใช้ Apache ทุกครั้งที่เริ่มต้นคุณต้องป้อนรหัสผ่าน หากคุณรำคาญกับการป้อนรหัสผ่านคุณสามารถใช้ openssl rsa -in geekflare.key ด้านบนเพื่อตรวจสอบการลบคีย์รหัสผ่านจากคีย์ที่มีอยู่.

ยืนยันรหัสส่วนตัว

openssl rsa -in certkey.key –check

หากคุณสงสัยในไฟล์คีย์ของคุณคุณสามารถใช้คำสั่งด้านบนเพื่อตรวจสอบ.

ตรวจสอบไฟล์ใบรับรอง

openssl x509 -in certfile.pem -text –noout

หากคุณต้องการตรวจสอบข้อมูลใบรับรองเช่น CN, OU ฯลฯ คุณสามารถใช้คำสั่งด้านบนซึ่งจะให้รายละเอียดใบรับรองแก่คุณ.

ตรวจสอบผู้ออกใบรับรอง

openssl x509 -in certfile.pem -noout -issuer -issuer_hash

หน่วยงานผู้ออกใบรับรองลงนามทุกใบรับรองและในกรณีที่คุณต้องตรวจสอบพวกเขา.

ตรวจสอบค่าแฮของใบรับรอง

openssl x509 -noout -hash -in bestflare.pem

แปลง DER เป็นรูปแบบ PEM

openssl x509 –inform der –in sslcert.der –out sslcert.pem

โดยปกติหน่วยงานออกใบรับรองจะให้ใบรับรอง SSL ในรูปแบบ. ส่วนท้ายและหากคุณต้องการใช้ในรูปแบบ apache หรือ. pem คำสั่งด้านบนจะช่วยคุณได้.

แปลง PEM เป็นรูปแบบ DER

openssl x509 –outform der –in sslcert.pem –out sslcert.der

ในกรณีที่คุณต้องการเปลี่ยนรูปแบบ. pem เป็น .der

แปลงใบรับรองและรหัสส่วนตัวเป็นรูปแบบ PKCS # 12

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem

หากคุณต้องการใช้ใบรับรองกับแอ็พพลิเคชัน java หรือกับผู้อื่นที่ยอมรับเฉพาะรูปแบบ PKCS # 12 คุณสามารถใช้คำสั่งด้านบนซึ่งจะสร้าง pfx เดี่ยวที่มีใบรับรอง & ไฟล์คีย์.

เคล็ดลับ: คุณสามารถรวมใบรับรองลูกโซ่โดยผ่าน – เชนดังนี้.

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem -chain cacert.pem

สร้าง CSR โดยใช้คีย์ส่วนตัวที่มีอยู่

openssl req –out certificate.csr –key existing.key –new

หากคุณไม่ต้องการสร้างรหัสส่วนตัวใหม่แทนการใช้รหัสที่มีอยู่คุณสามารถไปด้วยคำสั่งด้านบน.

ตรวจสอบเนื้อหาของใบรับรองรูปแบบ PKCS12

openssl pkcs12 –info –nodes –in cert.p12

PKCS12 เป็นรูปแบบไบนารีดังนั้นคุณจะไม่สามารถดูเนื้อหาในแผ่นจดบันทึกหรือเครื่องมือแก้ไขอื่น คำสั่งดังกล่าวจะช่วยให้คุณดูเนื้อหาของไฟล์ PKCS12.

แปลงรูปแบบ PKCS12 เป็นใบรับรอง PEM

openssl pkcs12 –in cert.p12 –out cert.pem

หากคุณต้องการใช้รูปแบบ pkcs12 ที่มีอยู่กับ Apache หรือเพียงแค่ในรูปแบบ pem สิ่งนี้จะมีประโยชน์.

ทดสอบใบรับรอง SSL ของ URL เฉพาะ

openssl s_client – เชื่อมต่อ yoururl.com:443 –showcerts

ฉันใช้มันค่อนข้างบ่อยในการตรวจสอบใบรับรอง SSL ของ URL เฉพาะจากเซิร์ฟเวอร์ สิ่งนี้มีประโยชน์มากในการตรวจสอบโปรโตคอลรหัสและรายละเอียดใบรับรอง.

ค้นหารุ่น OpenSSL

รุ่น openssl

หากคุณมีความรับผิดชอบในการทำให้มั่นใจว่า OpenSSL นั้นมีความปลอดภัยน่าจะเป็นหนึ่งในสิ่งแรกที่คุณต้องทำคือตรวจสอบเวอร์ชัน.

ตรวจสอบวันหมดอายุใบรับรองไฟล์ PEM

openssl x509 -noout -in certificate.pem -dates

มีประโยชน์หากคุณวางแผนที่จะทำการตรวจสอบเพื่อตรวจสอบความถูกต้อง มันจะแสดงวันที่ของคุณใน notBefore และ notAfter ไวยากรณ์ ไม่ใช่หลังจากนั้นคุณจะต้องยืนยันเพื่อยืนยันว่าใบรับรองหมดอายุหรือยังคงใช้งานได้.

Ex:

[[email protected] opt] # openssl x509 -noout -in bestflare.pem -dates
notBefore= ก.ค. 4 14:02:45 2558 GMT
notAfter= 4 ส.ค. 09:46:42 2558 GMT
[[email protected] การเลือก] #

ตรวจสอบวันหมดอายุใบรับรองของ URL SSL

openssl s_client -connect secureurl.com:443 2>/ dev / null | openssl x509 -noout –enddate

มีประโยชน์อีกอย่างถ้าคุณวางแผนที่จะตรวจสอบวันหมดอายุใบรับรอง SSL จากระยะไกลหรือ URL เฉพาะ.

Ex:

[[email protected] opt] # openssl s_client -connect google.com:443 2>/ dev / null | openssl x509 -noout -enddate

notAfter= 8 ธันวาคม 00:00:00 2558 GMT

ตรวจสอบว่ายอมรับ SSL SSL หรือ V3 บน URL หรือไม่

วิธีตรวจสอบ SSL V2

openssl s_client -connect secureurl.com:443 -ssl2

ในการตรวจสอบ SSL V3

openssl s_client -connect secureurl.com:443 –ssl3

ในการตรวจสอบ TLS 1.0

openssl s_client -connect secureurl.com:443 –tls1

ในการตรวจสอบ TLS 1.1

openssl s_client -connect secureurl.com:443 –tls1_1

ในการตรวจสอบ TLS 1.2

openssl s_client -connect secureurl.com:443 –tls1_2

หากคุณกำลังรักษาความปลอดภัยเว็บเซิร์ฟเวอร์และต้องการตรวจสอบว่า SSL V2 / V3 เปิดใช้งานหรือไม่คุณสามารถใช้คำสั่งด้านบน หากเปิดใช้งานคุณจะได้รับ“เชื่อมต่อ“อื่น ๆ “การจับมือล้มเหลว.”

ตรวจสอบว่ายอมรับตัวเลขโดยเฉพาะบน URL หรือไม่

openssl s_client – เข้ารหัส ‘ECDHE-ECDSA-AES256-SHA’ – เชื่อมต่อ secureurl: 443

หากคุณกำลังทำงานเกี่ยวกับการค้นพบด้านความปลอดภัยและผลการทดสอบปากกาแสดงให้เห็นว่ารหัสที่อ่อนแอบางตัวได้รับการยอมรับเพื่อทำการตรวจสอบคุณสามารถใช้คำสั่งด้านบน.

แน่นอนคุณจะต้องเปลี่ยนรหัสและ URL ที่คุณต้องการทดสอบ หากตัวเลขดังกล่าวได้รับการยอมรับแล้วคุณจะได้รับ“เชื่อมต่อ“อื่น ๆ “การจับมือล้มเหลว.”

ฉันหวังว่าคำสั่งข้างต้นช่วยให้คุณรู้เพิ่มเติมเกี่ยวกับ OpenSSL เพื่อจัดการ ใบรับรอง SSL สำหรับเว็บไซต์ของคุณ.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map