วิธีสร้างคำขอใบรับรอง TLS SHA256


10

พันธมิตรทางธุรกิจของเราขอให้เราใช้ใบรับรอง TLS SHA256 เพื่อเชื่อมต่อกับ API ของพวกเขา ฉันไม่แน่ใจว่าจะสร้างคำขอเหล่านี้ได้อย่างไร ก่อนหน้านี้ฉันเคยใช้ openssl เพื่อสร้างคำขอเหล่านี้ แต่มันสร้างใบรับรอง SSL โดยใช้ SHa1 ฉันสามารถใช้ openssl เพื่อสร้างคำขอนี้ได้หรือไม่? ถ้าไม่ใช่ฉันจะสร้างสิ่งที่พวกเขาจะถามได้อย่างไร

ฉันไม่มีความเชี่ยวชาญในด้านนี้ดังนั้นฉันจึงไม่รู้ด้วยซ้ำว่าสิ่งที่ฉันขอนั้นสมเหตุสมผลหรือไม่

tls  openssl 

คงจะสนุกสำหรับฉันถ้าคุณเป็นหนึ่งใน 12 คนที่ฉันต้องบอกในวันนี้เพื่อกลับมาพร้อม SHA256 CSR แทน SHA1
Hyppy

@Hyppy ฉันหวังว่าคุณจะพบว่ามันน่าขบขันในตอนท้ายของปี :)
Maarten Bodewes

คำตอบ:


12

แฮช CSR และใบรับรองแฮไม่เกี่ยวข้อง

ประเภทแฮชในคำขอและใบรับรองจริงไม่เกี่ยวข้องกัน

CA ตรวจสอบลายเซ็นบน CSR ด้วยวิธีนี้ CA สามารถตรวจสอบว่า CSR ไม่ได้ถูกเปลี่ยนไปในระหว่างทาง นั่นคือลายเซ็นทั้งหมดของ CSR

ไม่มีทางเป็นทางการ (หรือกึ่งทางการ) ในการบอก CA ว่าคุณต้องการแฮช บริษัท CA อาจใช้ CA หลาย ๆ อันแทนหนึ่งในนั้นใช้ SHA256 โดยเฉพาะ และถ้าคุณต้องการ SHA256 คุณต้องส่ง CSR ของคุณบนเว็บไซต์ของ SHA256-only-CA อันใดอันหนึ่งเท่านั้น (และไม่ได้อยู่ในเว็บไซต์ของ SHA1-CA)

สิ่งที่ถูกทฤษฏีบ่อยครั้งคือสิ่งที่เป็นเช่นนี้: "ถ้าฉันส่ง CSR ที่ลงชื่อกับ SHA1 แล้วใบรับรองของฉันจะถูกลงนามกับ SHA1" มักจะไม่ทำเช่นนี้ ( CA เดียวที่ฉันรู้ว่าเคยทำสิ่งนี้มาระยะหนึ่งคือ Gandi.net )

วิธีลงชื่อ CSR ด้วย SHA256
ดังที่กล่าวไว้ใช้-sha256พารามิเตอร์เพื่อลงนาม CSR ของคุณกับ SHA256 ดังนี้:

openssl req -new -newkey rsa: 2048 -nodes -sha256 -out www.example.com.sha256.csr -keyout www.example.com.key -subj "/ C = US / ST = ExampleState / L = ตัวอย่างตำแหน่ง / O = ExampleOrganisation / CN = www.example.com"

วิธีตรวจสอบประเภทแฮชของ CSR
และนี่คือวิธีที่คุณค้นหาประเภทแฮชของ CSR ของคุณ:

$ openssl req -in www.example.com.sha256.csr -noout -text | grep Signature  
    Signature Algorithm: sha256WithRSAEncryption

ดี. มันใช้ SHA256 เหมือนที่เราต้องการ


5

หากคุณใช้ OpenSSL คุณสามารถเพิ่ม-sha256ตัวเลือกบรรทัดคำสั่งซึ่งจะสร้าง CSR ด้วยอัลกอริทึมลายเซ็น SHA-256

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.