วิธีสร้างใบรับรอง P12 สำหรับการแจกจ่าย iOS


104

เรามีแอป iOS ที่ใบรับรองการแจ้งเตือนแบบพุชหมดอายุแล้วและเรากำลังพยายามสร้างใหม่ ฉันได้สร้างใบรับรองใหม่ในพอร์ทัลการจัดเตรียม (ios_developer.cer, ios_distribution.cer) และดาวน์โหลด ฉันทำตามคำแนะนำที่นี่ใน Stack Overflowเพื่อแปลงเป็น PEM แล้วเป็นไฟล์ P12 แต่ฉันติดขัด เมื่อฉันพยายามที่จะแปลง PEM เป็น P12 มันต้องการคีย์ส่วนตัวบางประเภทและฉันไม่รู้ว่าจะได้รับจากที่ไหน

ฉันได้ลองโหลดสิ่งเหล่านี้ลงใน Keychain Access แล้ว ฉันเคยอ่านมาว่าคุณสามารถส่งออกเป็น P12 ได้จากที่นั่น แต่เมื่อฉันนำเข้าข้อมูลนั้นจะไม่ปรากฏที่ใดเลย

คำตอบ:


127

คีย์ส่วนตัวของคุณถูกสร้างขึ้นเมื่อคุณสร้างคำขอลงนามในการเข้าถึงพวงกุญแจ หลังจากสร้างและดาวน์โหลดใบรับรองแล้วให้ดับเบิลคลิกเพื่อเพิ่มลงใน Keychain Access ซึ่งจะจับคู่กับคีย์ส่วนตัว จากนั้นคุณสามารถเลือกใบรับรองและเปิดลูกศรเพื่อเลือกคีย์ส่วนตัวและส่งออกพร้อมกันเป็นไฟล์. p12 จาก Keychain Access


12
ไม่เป็นไร; คิดออก ไม่น่าแปลกใจที่ผู้คนมีปัญหากับเรื่องนี้ ... มันสับสน!
RobG

14
คงจะดี แต่ p12 เป็นสีเทาสำหรับฉัน :(
Rob

14
@Rob คุณต้องเลือกคีย์ส่วนตัวไม่ใช่ใบรับรองทั้งหมด ในพวงกุญแจด้านซ้ายบนให้เลือก "เข้าสู่ระบบ" จากนั้นด้านล่างในหมวดหมู่ให้เลือก "ใบรับรอง" คุณจะเห็นว่าใบรับรองมีลูกศรหล่นตอนนี้ให้คลิกที่คีย์ส่วนตัวจะแสดงการคลิกขวาและส่งออกหมวกเป็น. p12
ติว

6
ฉันไม่ได้รับตัวเลือกแบบเลื่อนลงเช่นกัน ฉันคลิกสองครั้งที่ใบรับรองหลังจากดาวน์โหลดและจะปรากฏในพวงกุญแจการเข้าสู่ระบบ แต่ไม่อยู่ภายใต้คีย์ส่วนตัว ฉันเห็นเฉพาะภายใต้ใบรับรองไม่มีการเชื่อมต่อระหว่างคีย์และใบรับรองที่ฉันเห็น
setherj

6
เหมือนกันที่นี่ ไม่มีแบบเลื่อนลง p12 เป็นสีเทา
trainoasis

76

ไฟล์. p12 ใช้เพื่อเผยแพร่แอพใน Apple App Store

A. สร้างไฟล์ CSR (.certSigningRequest)

  1. เปิดการเข้าถึงพวงกุญแจจากยูทิลิตี้
  2. จากแถบเครื่องมือการเข้าถึงพวงกุญแจเลือกการเข้าถึงพวงกุญแจ -> การตั้งค่า
  3. ในหน้าต่างป๊อปอัปเลือกแท็บใบรับรอง
  4. ตั้งค่าทั้ง“ Online Certificate Status Protocol” และ“ Certificate Revocation List” เป็น“ Off”
  5. ปิดหน้าต่างนี้
  6. จากแถบเครื่องมือเปิดการเข้าถึงพวงกุญแจ> ผู้ช่วยใบรับรอง> ขอใบรับรองจากผู้ออกใบรับรอง
  7. ป้อนที่อยู่อีเมลและชื่อสามัญที่คุณใช้ลงทะเบียนในโปรแกรมนักพัฒนา iOS
  8. เว้นว่างอีเมล CA ไว้และเลือก“ บันทึกลงในดิสก์” และ“ ให้ฉันระบุข้อมูลคู่คีย์”
  9. คลิกดำเนินการต่อ
  10. เลือกชื่อไฟล์และปลายทางในฮาร์ดไดรฟ์ของคุณ
  11. คลิกบันทึก
  12. ในหน้าต่างถัดไปตั้งค่า“ ขนาดคีย์” เป็น“ 2048 บิต”
  13. ตั้งค่า"Algorithm" เป็น "RSA"
  14. คลิกดำเนินการต่อ

สิ่งนี้จะสร้างและบันทึกไฟล์ certSigningRequest (CSR) ลงในฮาร์ดไดรฟ์ของคุณ คีย์สาธารณะและคีย์ส่วนตัวจะถูกสร้างขึ้นในการเข้าถึงพวงกุญแจโดยป้อนชื่อสามัญ

B. สร้างไฟล์ ".cer" ในบัญชีนักพัฒนา iOS

  1. เข้าสู่ระบบบัญชีนักพัฒนาแอปเปิ้ลคลิก“ ใบรับรองตัวระบุและโปรไฟล์”
  2. คลิก"การจัดสรรโปรไฟล์"
  3. ในส่วน "ใบรับรอง" คลิก"การผลิต"
  4. คลิกปุ่ม“ เพิ่ม” (+) ที่ด้านบนขวาของแผงหลัก
  5. ตอนนี้เลือก“ App Store และ Ad Hoc”
  6. คลิกดำเนินการต่อ
  7. คลิก“ เลือกไฟล์”และค้นหาไฟล์ CSR ที่คุณสร้างจากฮาร์ดไดรฟ์ของคุณ
  8. คลิกสร้าง
  9. คลิกดาวน์โหลดเพื่อรับไฟล์

C. ติดตั้ง. cer และสร้างใบรับรอง. p12

  1. ค้นหาไฟล์. cer ที่คุณดาวน์โหลดและดับเบิลคลิก
  2. ตั้งค่าแบบเลื่อนลงเข้าสู่ระบบเป็น“ เข้าสู่ระบบ” แล้วคลิกเพิ่ม
  3. เปิดการเข้าถึง KeyChain แล้วคุณจะพบโปรไฟล์ที่สร้างในขั้นตอน A
  4. คุณสามารถขยายโปรไฟล์"คีย์ส่วนตัว" (แสดงใบรับรองที่คุณเพิ่ม)
  5. เลือกเฉพาะสองรายการนี้ (ไม่ใช่คีย์สาธารณะ)
  6. คลิกขวาและคลิก“ ส่งออก 2 รายการ…”จากป๊อปอัป
  7. ตอนนี้ตรวจสอบให้แน่ใจว่ารูปแบบไฟล์เป็น“ .p12”แล้วเลือกชื่อไฟล์และปลายทางในฮาร์ดไดรฟ์ของคุณ
  8. คลิกบันทึก ตอนนี้คุณจะได้รับแจ้งให้ตั้งรหัสผ่าน แต่เว้นว่างไว้
  9. คลิกตกลง ตอนนี้คุณมีไฟล์. p12 ในฮาร์ดไดรฟ์ของคุณ

โปรดทราบว่าหากปัญหายังคงมีอยู่ให้ลองทำตามขั้นตอนด้านล่างนี้เช่นกัน:

หากพวงกุญแจของคุณอยู่ใน iCloud ให้ลบเนื้อหาพวงกุญแจทั้งหมดออกจาก iCloud และทำการตั้งค่าใหม่ใน iCloud สิ่งนี้ควรใช้งานได้


ฉันลบคีย์ส่วนตัวในแบบฟอร์ม ke-chain โดยไม่ได้ตั้งใจ ตอนนี้ฉันไม่เห็นคีย์ส่วนตัวด้านล่างใบรับรอง ฉันมีไฟล์ CSR วิธีการติดตั้งคีย์ส่วนตัวอีกครั้งจาก CSR?
Avijit Nagare

1
มีช่วงเวลาที่ยากลำบากมากในการค้นหากระบวนการของแอปเปิ้ลในการรับไฟล์. p12 ที่สร้างขึ้นเนื่องจากฉันเป็นคนใช้โทรศัพท์ windows และโพสต์นี้ช่วยให้ฉันเข้าใจมันจริงๆ
Mohammed Aamir K

1
คำแนะนำที่มีประโยชน์มาก ขอบคุณมาก. มันช่วยประหยัดเวลาได้มาก
Alix

เหตุใดจึงตั้งค่า "Online Certificate Status Protocol" และอีกรายการเป็นปิด
เนท

1
ฉันแก้ไขปัญหานี้แล้ว เพื่ออธิบายสิ่งที่ฉันทำ: ตรวจสอบให้แน่ใจว่าพวงกุญแจของคุณไม่ปรากฏใน iCloud เมื่อมีแล้วมีความเสี่ยงที่คุณจะได้รับปัญหาข้างต้น ฉันถอนการติดตั้งทุกอย่างทำการตั้งค่าใหม่โดยไม่ใช้ข้อมูลใน iCloud จากนั้นก็ใช้งานได้
Nazar Medeiros

32

ตกลงแก้ปัญหาได้แล้ว! ดูเหมือนว่าเมื่อฉันดับเบิลคลิกที่ใบรับรองใบรับรองจะติดตั้งลงในพวงกุญแจระบบโดยอัตโนมัติ - ฉันไม่รู้ว่าทำไม ดังนั้นฉันเพียงแค่ลากและวางใบรับรองลงในพวงกุญแจ LOGIN จากนั้นทุกอย่างก็ดี ขอบคุณบทความนี้ -> การเพิ่มใบรับรองให้กับพวงกุญแจและการสร้างรูปแบบไฟล์. p12 - alon rosenfeld 10 months ago


1
โอ้ว้าว. ฉันใช้เวลาหลายชั่วโมงในการพยายามคิดออก ฉันจะต้องเสียเวลาอีกหนึ่งสัปดาห์ถ้ามันไม่ใช่คำตอบนี้
B Seven

1
ขอบคุณมาก. ฉันเสียเวลาหลายชั่วโมงในการพยายามคิดออก
SaltedBlowfish

1
ใช่เสียเวลาหลายชั่วโมงประหยัด :)
Sahan

29

คุณจะไม่ได้รับตัวเลือกขยายเว้นแต่คุณจะกรองโดยเลือก (ใบรับรอง) จากพวงกุญแจมุมล่างซ้าย


4

สำหรับใครก็ตามที่มีตัวเลือก P12 เป็นสีเทา / เทา:

ตรวจสอบว่าคุณอยู่ในหมวดใบรับรองของฉันหรือใบรับรองในการเข้าถึงพวงกุญแจ

https://sailthru.zendesk.com/hc/en-us/articles/115000032546-Can-t-export-my-certificate-in-p12-format


4

ในการรับไฟล์ p12 ของคุณไปทางนี้ ..

ขั้นตอนที่ 1.ในXCode > ไปที่การตั้งค่าโครงการ > ทั่วไป > การลงนามในส่วน> การลงนามรับรอง

ดูใบรับรองที่คุณใช้สำหรับแอพนี้โดยเฉพาะดังที่แสดงในภาพด้านล่าง

ใส่คำอธิบายภาพที่นี่

ขั้นตอนที่ 2.เปิดพวงกุญแจ > ที่ด้านล่างซ้ายหมวดหมวด > ใบรับรอง

ค้นหาใบรับรองและเปิดเด็กโดยคลิกที่ลูกศรลงตามที่แสดงในภาพ

ใส่คำอธิบายภาพที่นี่

ขั้นตอนที่ 3.คลิกขวาและส่งออกเป็น "Certificates.p12" โดยให้รหัสผ่านของคุณเช่น "123456"


ฉันไม่มีลูกศรที่จะขยาย
Nazar Medeiros

3

สำหรับใครก็ตามที่ยังคงมีปัญหานี้วิธีแก้ปัญหาสำหรับฉันคืออย่าเลือกและ "ส่งออก 2 รายการ" (คีย์และใบรับรอง) - แทนที่จะส่งออกใบรับรองที่มีคีย์อยู่แล้ว ในปี 2016 ฉันคิดว่านี่เป็นวิธีที่ทำได้เนื่องจากการอัปโหลดก่อนหน้านี้ที่ใช้งานได้กับการส่งออก 2 รายการใช้งานไม่ได้อีกต่อไป


ฉันไม่สามารถส่งออกได้เฉพาะใบรับรองเป็น p12 - แน่ใจหรือว่าเป็นวิธีที่ถูกต้อง
Cecil Rodriguez

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