ฉันพยายามและพยายามสร้างไฟล์. pem ทุกครั้งที่สร้างใบรับรองจากบัญชีของลูกค้าและสร้างไฟล์. pem โดยใช้เทอร์มินัล แต่ก็ไม่มีประโยชน์ ใครสามารถให้กระบวนการทีละขั้นตอนได้บ้าง?
ฉันพยายามและพยายามสร้างไฟล์. pem ทุกครั้งที่สร้างใบรับรองจากบัญชีของลูกค้าและสร้างไฟล์. pem โดยใช้เทอร์มินัล แต่ก็ไม่มีประโยชน์ ใครสามารถให้กระบวนการทีละขั้นตอนได้บ้าง?
คำตอบ:
ในการเปิดใช้งานการแจ้งเตือนแบบพุชสำหรับแอป iOS ของคุณคุณจะต้องสร้างและอัปโหลดใบรับรองการแจ้งเตือนแบบพุชของ Apple (ไฟล์. pem) ให้กับเราเพื่อให้เราสามารถเชื่อมต่อกับ Apple Push Server ในนามของคุณ
( เวอร์ชั่นที่อัปเดตพร้อมภาพหน้าจอที่อัปเดตแล้วที่นี่ )
ขั้นตอนที่ 1: ล็อกอินเข้าสู่ iOS Provisioning Portal คลิก "ใบรับรอง" บนแถบนำทางด้านซ้าย จากนั้นคลิกปุ่ม "+"
ขั้นตอนที่ 2: เลือกตัวเลือกการแจ้งเตือนบริการพุชของ Apple (การผลิต) ใต้ส่วนการแจกจ่ายจากนั้นคลิกปุ่ม "ดำเนินการต่อ"
ขั้นตอนที่ 3: เลือกรหัสแอพที่คุณต้องการใช้สำหรับแอพ BYO ของคุณ (วิธีสร้างแอป ID) จากนั้นคลิก "ดำเนินการต่อ" เพื่อไปยังขั้นตอนถัดไป
ขั้นตอนที่ 4: ทำตามขั้นตอน "เกี่ยวกับการสร้างคำขอลงนามใบรับรอง (CSR)" เพื่อสร้างคำขอลงนามใบรับรอง
เพื่อเสริมการเรียนการสอนที่จัดทำโดย Apple นี่คือภาพหน้าจอเพิ่มเติมบางส่วนที่จะช่วยให้คุณทำตามขั้นตอนที่ต้องการได้:
ขั้นตอนที่ 4 ภาพหน้าจอเพิ่มเติม 1: ไปที่ผู้ช่วยรับรองการเข้าถึง Keychain บน Mac ของคุณ
ขั้นตอนที่ 4 ภาพหน้าจอเพิ่มเติม 2: กรอกข้อมูลใบรับรอง คลิกดำเนินการต่อ
ขั้นตอนที่ 5: อัปโหลดไฟล์ ".certSigningRequest" ซึ่งสร้างขึ้นในขั้นตอนที่ 4 จากนั้นคลิกปุ่ม "สร้าง"
ขั้นตอนที่ 6: คลิก "เสร็จสิ้น" เพื่อเสร็จสิ้นการลงทะเบียนหน้าการจัดสรร iOS จะถูกรีเฟรชซึ่งมีลักษณะเหมือนหน้าจอต่อไปนี้:
จากนั้นคลิกปุ่ม "ดาวน์โหลด" เพื่อดาวน์โหลดใบรับรอง (ไฟล์. cer) ที่คุณสร้างขึ้นในตอนนี้ - ดับเบิลคลิกไฟล์ที่ดาวน์โหลดเพื่อติดตั้งใบรับรองลงใน Keychain Access บน Mac ของคุณ
ขั้นตอนที่ 7: บน Mac ของคุณไปที่ "Keychain" ค้นหาใบรับรองที่คุณเพิ่งติดตั้ง หากไม่แน่ใจว่าใบรับรองใดถูกต้องควรเริ่มต้นด้วย "Apple Production IOS Push Services:" ตามด้วย ID ชุดรวมของแอปของคุณ
ขั้นตอนที่ 8: ขยายใบรับรองคุณควรเห็นคีย์ส่วนตัวที่มีชื่อของคุณหรือชื่อ บริษัท ของคุณ เลือกทั้งสองรายการโดยใช้ปุ่ม "เลือก" บนแป้นพิมพ์คลิกขวา (หรือกดปุ่ม cmd-click หากคุณใช้เมาส์ปุ่มเดียว) เลือก "ส่งออก 2 รายการ" เช่นด้านล่าง:
จากนั้นบันทึกไฟล์ p12 ด้วยชื่อ "pushcert.p12" ไปยังเดสก์ท็อปของคุณ - ตอนนี้คุณจะได้รับพร้อมท์ให้ใส่รหัสผ่านเพื่อป้องกันมันคุณสามารถคลิก Enter เพื่อข้ามรหัสผ่านหรือป้อนรหัสผ่านที่คุณต้องการ
ขั้นตอนที่ 9: ตอนนี้ส่วนที่ยากที่สุด - เปิด "Terminal" บน Mac ของคุณและเรียกใช้คำสั่งต่อไปนี้:
cd
cd Desktop
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts
ขั้นตอนที่ 10: ลบ pushcert.p12 ออกจากเดสก์ท็อปเพื่อหลีกเลี่ยงการอัพโหลดผิดเพื่อสร้างพื้นที่ของคุณเอง เปิด "Terminal" บน Mac ของคุณและเรียกใช้คำสั่งต่อไปนี้:
cd
cd Desktop
rm pushcert.p12
ขั้นตอนที่ 11 - อัปเดต AWS ใหม่: สร้างรายการใหม่pushcert.p12
เพื่อส่งไปยัง AWS SNS ดับเบิ้ลคลิกที่ตัวใหม่pushcert.pem
แล้วส่งออกตัวที่สูงบนกรีนเท่านั้น
เครดิต: การอัปเดตใหม่ของ AWS
ตอนนี้คุณได้สร้างใบรับรองการแจ้งเตือน Apple Push (ไฟล์. p12) เรียบร้อยแล้ว! คุณจะต้องอัปโหลดไฟล์นี้ไปยังพื้นที่สร้างของคุณเองในภายหลัง :)
มีวิธีการแก้ปัญหาที่ง่ายมากคือวันนี้ - pem เครื่องมือนี้ทำให้ชีวิตง่ายขึ้นมาก
ตัวอย่างเช่นหากต้องการสร้างหรือต่ออายุใบรับรองการแจ้งเตือนแบบพุชเพียงป้อน:
fastlane pem
และจะเสร็จในไม่กี่นาที ในกรณีที่คุณต้องการใบรับรอง sandbox ให้ป้อน:
fastlane pem --development
และมันก็สวย
$ cd Desktop
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
Apple ได้เปลี่ยนชื่อของใบรับรองที่ออก ตอนนี้คุณสามารถใช้ใบรับรองเดียวกันสำหรับทั้งการพัฒนาและการผลิต ในขณะที่คุณยังสามารถขอใบรับรองการพัฒนาเท่านั้นคุณไม่สามารถขอใบรับรองการผลิตเท่านั้นได้อีกต่อไป
มันง่ายมากหลังจากส่งออก Cert.p12 และ key.p12 โปรดค้นหาคำสั่งด้านล่างสำหรับการสร้างไฟล์ 'apns' .pem
https://www.sslshopper.com/ssl-converter.html
command to create apns-dev.pem from Cert.pem and Key.pem
openssl rsa -in Key.pem -out apns-dev-key-noenc.pem
cat Cert.pem apns-dev-key-noenc.pem > apns-dev.pem
คำสั่งดังกล่าวมีประโยชน์สำหรับทั้ง Sandbox และการผลิต
ตามการแก้ไขปัญหา Push Certificate
ใบรับรอง SSL ที่มีอยู่ในบัญชีโปรแกรมนักพัฒนา Apple ของคุณมีรหัสสาธารณะ แต่ไม่ใช่รหัสส่วนตัว รหัสส่วนตัวมีอยู่เฉพาะใน Mac ที่สร้างคำขอลงนามใบรับรองที่อัปโหลดไปยัง Apple ทั้งกุญแจสาธารณะและกุญแจส่วนตัวจำเป็นต้องส่งออกไฟล์ Privacy Enhanced Mail (PEM)
โอกาสเป็นสาเหตุที่คุณไม่สามารถส่งออก PEM ที่ใช้งานได้จากใบรับรองที่ลูกค้าให้ไว้นั่นคือคุณไม่มีรหัสส่วนตัว ใบรับรองประกอบด้วยพับลิกคีย์ในขณะที่ไพรเวตคีย์อาจมีเฉพาะใน Mac ที่สร้าง CSR ดั้งเดิม
คุณสามารถ:
หรือ
ขอบคุณ! ถึงคำตอบทั้งหมดข้างต้น ฉันหวังว่าคุณจะมีไฟล์. p12 ตอนนี้เปิดเทอร์มินัลเขียนคำสั่งต่อไปนี้ ตั้งค่าเทอร์มินัลเป็นพา ธ ที่คุณใส่ไฟล์. 12
$ openssl pkcs12 -in yourCertifcate.p12 -out pemAPNSCert.pem -nodes
Enter Import Password: <Just enter your certificate password>
MAC verified OK
ตอนนี้ไฟล์. pemของคุณจะถูกสร้างขึ้น
ตรวจสอบไฟล์. pem ก่อนเปิด. pem ในเท็กซ์เอดิเตอร์เพื่อดูเนื้อหา เนื้อหาใบรับรองควรอยู่ในรูปแบบที่แสดงด้านล่าง ตรวจสอบให้แน่ใจว่าไฟล์ pem มีเนื้อหาใบรับรอง (จาก BEGIN CERTIFICATE ถึง END CERTIFICATE) รวมถึงคีย์ส่วนตัวของใบรับรอง (จาก BEGIN PRIVATE KEY ถึง END PRIVATE KEY):
> Bag Attributes
> friendlyName: Apple Push Services:<Bundle ID>
> localKeyID: <> subject=<>
> -----BEGIN CERTIFICATE-----
>
> <Certificate Content>
>
> -----END CERTIFICATE----- Bag Attributes
> friendlyName: <>
> localKeyID: <> Key Attributes: <No Attributes>
> -----BEGIN PRIVATE KEY-----
>
> <Certificate Private Key>
>
> -----END PRIVATE KEY-----
นอกจากนี้คุณตรวจสอบความถูกต้องของใบรับรองโดยไปที่ตัวถอดรหัสใบรับรอง SSLShopper และวางเนื้อหาใบรับรอง (จาก BEGIN CERTIFICATE ถึง END CERTIFICATE) เพื่อรับข้อมูลทั้งหมดเกี่ยวกับใบรับรองดังที่แสดงด้านล่าง: