ฉันมีปัญหาเดียวกันและถึงแม้ว่าฉันกำลังใช้เซิร์ฟเวอร์ SSL อยู่แล้วเพียงแค่เปลี่ยนการเชื่อมโยงไปยัง https ไม่ทำงานเนื่องจากมีปัญหาพื้นฐาน
คลิกที่นี่เพื่อดูรูปภาพ
บิตที่ไฮไลต์บอกฉันว่าเราควรได้รับตัวเลือกในการเชื่อถือใบรับรอง แต่เนื่องจากนี่คือแอปสโตร์ทำงานผ่าน Safari ซึ่งข้อเสนอแนะการกู้คืนไม่ปรากฏขึ้น
ฉันไม่พอใจกับวิธีแก้ไขปัญหาที่มีอยู่เพราะ:
- ตัวเลือกบางอย่างต้องขึ้นอยู่กับบุคคลที่สาม (Dropbox)
- เราไม่ยินดีจ่ายใบรับรอง SSL
- ใบรับรอง SSL ฟรีเป็นเพียงโซลูชันชั่วคราว
ในที่สุดฉันก็พบวิธีแก้ปัญหาโดยการสร้างผู้ออกใบรับรองรูท Self Signedและสร้างใบรับรอง SSL ของเซิร์ฟเวอร์ของเราโดยใช้สิ่งนี้
ฉันใช้ Keychain Access และ OSX Server แต่มีวิธีแก้ไขปัญหาที่ถูกต้องอื่น ๆ ในแต่ละขั้นตอน
การสร้างผู้ออกใบรับรอง
จากสิ่งที่ฉันรวบรวมเจ้าหน้าที่ออกใบรับรองจะใช้ในการตรวจสอบว่าใบรับรองเป็นของแท้หรือไม่ เนื่องจากเรากำลังจะสร้างตัวเราเองจึงไม่ปลอดภัยอย่างแน่นอนแต่หมายความว่าคุณสามารถเชื่อถือใบรับรองทั้งหมดจากหน่วยงานที่ได้รับมอบหมาย รายการของหน่วยงานเหล่านี้มักจะรวมอยู่ในเบราว์เซอร์ของคุณตามปกติเนื่องจากเชื่อถือได้จริง (GeoTrust Global CA, Verisign และอื่น ๆ )
- เปิด Keychain และใช้ผู้ช่วยใบรับรองเพื่อสร้างสิทธิ์
- กรอกข้อมูลผู้ให้บริการออกใบรับรองของคุณ
- ฉันไม่รู้ว่ามันจำเป็นหรือไม่ แต่ฉันทำให้ผู้มีอำนาจเชื่อถือได้
การสร้างคำขอลงนามใบรับรอง
ในกรณีของเราคำขอการลงนามใบรับรองสร้างขึ้นโดยผู้ดูแลเซิร์ฟเวอร์ เพียงแค่เป็นไฟล์ที่ถามว่า "ฉันขอใบรับรองกับข้อมูลนี้สำหรับเว็บไซต์ของฉันได้ไหม"
- ต่อไปคุณจะต้องสร้างคำขอลงนามใบรับรอง (ฉันใช้ตัวจัดการใบรับรองของเซิร์ฟเวอร์ OSX สำหรับบิตนี้
- กรอกข้อมูลใบรับรองของคุณ (ต้องมีตัวอักษร ASCII เท่านั้น! ขอบคุณ @Jasper Blues)
- บันทึกการสร้าง CSR ที่ไหนสักแห่ง
สร้างใบรับรอง
ทำหน้าที่เป็นผู้ออกใบรับรองอีกครั้งขึ้นอยู่กับคุณที่จะตัดสินใจว่าคนที่ส่ง CSR ให้คุณนั้นเป็นของแท้หรือไม่และพวกเขาไม่ได้แกล้งเป็นคนอื่น เจ้าหน้าที่ที่แท้จริงมีวิธีการของตนเองในการทำเช่นนี้ แต่เนื่องจากคุณหวังว่าคุณจะแน่ใจว่าคุณคือตัวคุณการยืนยันของคุณจึงค่อนข้างแน่นอน :)
- กลับไปที่ Keychain Access และเปิดตัวเลือก "สร้างใบรับรอง .. " ตามที่แสดง
- ลาก CSR ที่คุณบันทึกไปยังกล่องที่ระบุ
- คลิกปุ่ม "ให้ฉันแทนที่ค่าเริ่มต้นสำหรับปุ่มคำขอนี้"
- ฉันชอบที่จะเพิ่มระยะเวลาที่ถูกต้อง
- ด้วยเหตุผลบางอย่างเราต้องกรอกข้อมูลอีกครั้ง
- คลิกดำเนินการต่อบนหน้าจอนี้
- ทำให้แน่ใจว่าคุณคลิกการยืนยันเซิร์ฟเวอร์ SSLนี่ทำให้ฉันปวดหัว
การติดตั้งใบรับรอง
ตอนนี้เราต้องตั้งค่าเซิร์ฟเวอร์เพื่อใช้ใบรับรองที่เราเพิ่งสร้างขึ้นเพื่อรับส่งข้อมูล SSL
- หากอุปกรณ์ของคุณทำงานเป็นเซิร์ฟเวอร์ของคุณคุณอาจพบว่าติดตั้งใบรับรองแล้ว
- หากไม่ใช่ให้คลิกสองครั้งที่ใบรับรองที่รอดำเนินการและลากไฟล์ PEM ที่เราเพิ่งบันทึกจากอีเมลลงในช่องว่างที่ระบุ (หรือมิฉะนั้นคุณสามารถส่งออก PEM ของคุณจากพวงกุญแจหากคุณไม่ได้บันทึกไว้)
- อัปเดตเซิร์ฟเวอร์ของคุณเพื่อใช้ใบรับรองใหม่นี้ หากคุณพบว่าใบรับรองใหม่จะไม่ "ติด" และทำการคืนค่าให้ย้อนกลับไปที่บิตในBOLD ITALIC CAPS
การตั้งค่าอุปกรณ์
อุปกรณ์แต่ละอย่างที่คุณต้องติดตั้งแอพจะต้องมีสำเนาของผู้ออกใบรับรองนี้เพื่อให้พวกเขารู้ว่าพวกเขาสามารถเชื่อถือใบรับรอง SSL จากหน่วยงานนั้น ๆ
- กลับไปที่ Keychain Access และส่งออกหน่วยงานออกใบรับรองของคุณเป็น
- จากนั้นฉันวางไฟล์นี้ไว้บนเซิร์ฟเวอร์ของฉันด้วยแอพ OTA ของฉันผู้ใช้สามารถคลิกที่ลิงค์นี้และดาวน์โหลดใบรับรองสิทธิ์ การส่งใบรับรองโดยตรงไปยังผู้ใช้ก็เป็นทางเลือกที่ถูกต้องเช่นกัน
- ติดตั้งใบรับรองบนอุปกรณ์ของคุณ
ทดสอบ