Cách sử dụng chứng chỉ .p8 mới của Apple cho APN trong bảng điều khiển firebase


81

Với việc nâng cấp tài khoản nhà phát triển Apple gần đây, tôi đang gặp phải một khó khăn là trong khi cố gắng tạo chứng chỉ thông báo đẩy, nó cung cấp cho tôi chứng chỉ (.p8) thay vì APN có thể được xuất sang (.p12).

Bảng điều khiển Firebase chỉ chấp nhận chứng chỉ (.p12), vì vậy làm cách nào để tôi có thể lấy được điều đó từ các chứng chỉ (.p8) mới này.


1
Bạn lấy chứng chỉ .p8 ở đâu? Tôi vẫn có thể tạo .p12 từ KeyChain của mình.
Ragul

Tôi cập nhật giấy phép của tôi về tài khoản apple 2 ngày trở lại và nó được đem lại cho tôi .p8 giấy chứng nhận thay vì p12 trực tiếp mà không cần thậm chí yêu cầu các tệp CSR
Subso

bạn có thể nhận được giải pháp ??
Dhaval Bhadania

@DhavalBhadania Tôi đã đăng câu trả lời của mình bên dưới
Subso

Câu trả lời:


65

Tôi có thể thực hiện việc này bằng cách chọn "Tất cả" nằm dưới tiêu đề "Phím" từ cột bên trái

nhập mô tả hình ảnh ở đây

Sau đó, tôi nhấp vào nút dấu cộng ở góc trên cùng bên phải để thêm khóa mới

nhập mô tả hình ảnh ở đây

Nhập tên cho khóa của bạn và chọn "APN"

nhập mô tả hình ảnh ở đây

Sau đó kéo xuống và chọn Tiếp tục. Sau đó, bạn sẽ được đưa đến một màn hình hiển thị cho bạn tùy chọn tải xuống .p8 ngay bây giờ hoặc sau đó. Trong trường hợp của tôi, tôi đã nhận được cảnh báo rằng nó chỉ có thể được tải xuống một lần nên hãy giữ an toàn cho tệp.


4
Cảm ơn, tài khoản nhà phát triển đã cập nhật. Không có nhiều APNs Auth KeysthànhCertificates
Djiggy

Cảm ơn, bạn đã cứu tôi!
sioesi 23/03/18

@John bạn có thể giúp mình với, mình bị kẹt mấy ngày nay rồi. Tôi không thể làm cho fcm hoạt động .. stackoverflow.com/questions/50292269
bibscy

Khóa của họ có thể không hết hạn, nhưng "hồ sơ cấp phép" thì có. Họ vẫn phải gửi thông báo đẩy hay chúng ta có thể loại bỏ chúng một cách an toàn? Cảm ơn
andreszs

5
@John Idasetima Tôi đang bối rối về cách trả lời câu hỏi này - đó là Firebase chỉ chấp nhận p12 nhưng khóa mới là p8. Câu trả lời của bạn chỉ cho biết cách tải xuống khóa dưới dạng p8 . Bạn đang nói Firebase chấp nhận p8 cũng như p12?
Gruntcakes

29

Apple gần đây đã thực hiện những thay đổi mới trong APN và bây giờ apple yêu cầu chúng tôi sử dụng "Xác thực dựa trên mã thông báo" thay vì các cách truyền thống mà chúng tôi đang sử dụng cho thông báo đẩy.

Vì vậy, không cần phải lo lắng về việc hết hạn của chúng và chứng chỉ p8 này dành cho cả phát triển và sản xuất nên một lần nữa không cần tạo 2 chứng chỉ riêng biệt cho mỗi chế độ.

Để tạo p8, chỉ cần truy cập tài khoản nhà phát triển của bạn và chọn tùy chọn này "Khóa xác thực thông báo đẩy của Apple (Hộp cát & sản xuất)"

nhập mô tả hình ảnh ở đây

Sau đó sẽ tạo trực tiếp tệp p8.

Tôi hy vọng điều này sẽ giải quyết vấn đề của bạn.

Đọc các thay đổi APN mới này từ apple: https://developer.apple.com/videos/play/wwdc2016/724/

Ngoài ra, bạn có thể đọc phần này: https://developer.apple.com/library/prerelease/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapter/APNsProviderAPI.html


1
Chúng ta có thể chuyển đổi .p8 thành .PEM không?
Dimple Shah

Bất kỳ nền tảng mà cần .p8 không cần tập tin .PEM, nếu nó vẫn là cần thiết thì bạn cần phải làm cho nó tách
Hardik Shah

1
Tôi cho rằng Firebase chưa hỗ trợ việc sử dụng Khóa xác thực APN (.p8). Nhưng đồng thời, bây giờ sẽ dễ dàng hơn nếu chỉ làm điều đó từ máy chủ của riêng bạn.
Andre Cytryn,

2
Cảm ơn - Tôi không sử dụng firebase, nhưng tôi thấy câu trả lời này hữu ích nhất cho việc chuyển từ tệp .pem sang .p8. Tôi cũng nhận thấy hướng dẫn từng bước này của Apple là vô giá; đó là bước tiếp theo đối với tôi sau khi làm theo câu trả lời của bạn: eladnava.com/...
Kris

4
@HardikShah Tùy chọn này "Khóa xác thực thông báo đẩy của Apple (Hộp cát & Sản xuất)" không khả dụng. tại sao?
Balasubramanian

21

Vì vậy, sau một thời gian, tôi phát hiện ra rằng dịch vụ tạo chứng chỉ đẩy cũ cũng tồn tại.

Bạn có hai tùy chọn:

  • Khóa xác thực thông báo đẩy của Apple (Hộp cát & Sản xuất)
  • Dịch vụ thông báo đẩy của Apple SSL (Hộp cát & Sản xuất)

Những người muốn đạt được chứng chỉ .p12 kiểu cũ có thể lấy nó từ tùy chọn thứ hai. Tôi chưa sử dụng tùy chọn đầu tiên vì hầu hết các nhà cung cấp dịch vụ thông báo đẩy bên thứ ba vẫn cần chứng chỉ định dạng .p12.

Hình ảnh mẫu của dịch vụ thông báo đẩy


2
Tùy chọn này "Khóa xác thực thông báo đẩy của Apple (Hộp cát & Sản xuất)" không khả dụng. Tại sao ?
Balasubramanian

2
Tôi cũng không thể tìm thấy tùy chọn này trong Developer.apple.com, có cách nào khác để tạo tệp p8 này không? hoặc để chuyển đổi p12 thành P8?
Parth Mehta

@ParthMehta Bạn có nhận được giải pháp nào cho việc này không?
Balasubramanian

2
Ở đây cũng vậy. Tôi không thấy tùy chọn Khóa xác thực thông báo đẩy của Apple
ckim16

1
Tương tự, tùy chọn `` Khóa xác thực '' không có sẵn cho tôi :(
Axel Guilmin

15

Bảng điều khiển Firebase hiện đang chấp nhận tệp .p8, trên thực tế, nó khuyên bạn nên tải lên tệp .p8.

Bạn có thể xem trong ảnh chụp màn hình đính kèm bên dưới


3
Vui lòng sửa cho tôi nếu sai, nhưng tiền tố ID ứng dụng đó thực sự là ID nhóm được tìm thấy tại trang Thông tin thành viên , phải không? Bởi vì chú giải công cụ cho biết rõ ràng nó nằm ở trang Thông tin thành viên và thậm chí nó còn liên kết đến nó.
andreszs

2
"ID khóa" được tham chiếu ở đó là gì? Hãy coi tôi là một kẻ ngu ngốc.
Umair Ahmed

2
@UmairAhmed Chuỗi mã thông báo thiết bị bạn nhận được khi yêu cầu đăng ký thông báo đẩy.
Huy-Anh Hoang

1
Không. Nó không phải là mã thông báo của thiết bị. Đó là chuỗi sau dấu gạch dưới trong tên của tệp .p8. Như thế này ---> AuthKey_A5HG8NYIFC.p8. Ngoài ra, bạn có thể thấy nó sau khi tạo khóa trong menu Khóa trong phần Chứng chỉ, số nhận dạng & hồ sơ trong Trang web nhà phát triển Apple.
Somoy Das Gupta

8

Làm theo các bước sau:

1. Tạo Khóa xác thực APN
Mở trang Khóa xác thực APN trong Trung tâm nhà phát triển của bạn và nhấp vào +nút để tạo Khóa xác thực APN mới .

nhập mô tả hình ảnh ở đây

Trong trang tiếp theo, chọn Khóa xác thực thông báo đẩy của Apple (Hộp cát & Sản xuất) và nhấp vào Tiếp tục ở cuối trang.

nhập mô tả hình ảnh ở đây

Sau đó, Apple sẽ tạo một .p8tệp khóa chứa Khóa xác thực APN của bạn.

nhập mô tả hình ảnh ở đây

Tải .p8tệp khóa xuống máy tính của bạn và lưu tệp đó để sử dụng sau. Ngoài ra, hãy nhớ ghi ID khóa ở đâu đó, vì bạn sẽ cần nó sau này khi kết nối với APN.

2. Gửi thông báo đẩy

Tham khảo: APNS (Định cấu hình thông báo đẩy)

Quan trọng: Lưu bản sao lưu khóa của bạn ở một nơi an toàn. Nó sẽ không được trình bày lại và không thể lấy lại sau này.


3
Khóa xác thực của APN không tồn tại trong cổng nhà phát triển của tôi. Có ai biết tại sao không?
ckim 16

@ ckim16 - Nó có thể được tạo một lần và sẽ không hiển thị (xóa tùy chọn khóa APNS Auth) một lần nữa. Đây là tham chiếu đến truy vấn của bạn (help.apple.com/xcode/mac/current/#/…). Nếu bạn đã tạo nó trước đây, thì nó sẽ không hiển thị với bạn nữa.
Krunal

Tôi tự hỏi liệu liên kết của bạn có chỉ hoạt động với những người đã trả tiền để có tài khoản Nhà phát triển Apple hay không. Đối với tôi, nó chuyển hướng đến developer.apple.com/account/#/welcome
Ryan

@Krunal Tôi đã bị mắc kẹt trong vài ngày qua khi cố gắng kết nối với nhắn tin đám mây firebase bằng tệp .p8 và tôi không thể làm cho nó hoạt động. Vui lòng xem các câu hỏi của tôi stackoverflow.com/questions/50292269
bibscy,

Nó không tải được tệp p8 cho tôi: - |
Oliver Dixon

3

Khi bạn tải lên tệp p8 của mình trong Firebase, trong hộp ghi Tiền tố ID ứng dụng (bắt buộc) , bạn nên nhập ID nhóm của mình. Bạn có thể lấy nó từ https://developer.apple.com/account/#/membership và sao chép / dán ID nhóm như hình bên dưới.

nhập mô tả hình ảnh ở đây


2
Cảm ơn bạn, tôi đã tìm kiếm chính xác. Nhãn rõ ràng là sai trong bảng điều khiển FCM và không ai nhận ra lỗi đó, thậm chí một năm sau đó.
andreszs

1

Bạn có thể tạo tệp .p8 cho nó trong https://developer.apple.com/account/

Sau đó, chuyển đến Chứng chỉ, Số nhận dạng & Hồ sơ> Khóa> thêm

apple_key

Chọn dịch vụ Thông báo đẩy của Apple (APN), đặt Tên khóa (bất kỳ).

Sau đó bấm vào "tiếp tục", sau khi "đăng ký" và bạn nhận được nó và bạn có thể tải xuống.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.