Cách tạo chứng chỉ P12 cho bản phân phối iOS


102

Chúng tôi có một ứng dụng iOS có chứng chỉ thông báo đẩy đã hết hạn và chúng tôi đang cố gắng tạo một ứng dụng mới. Tôi đã tạo chứng chỉ mới trong cổng cấp phép (ios_developer.cer, ios_distribution.cer) và tải xuống. Tôi đã làm theo hướng dẫn ở đây trên Stack Overflow để chuyển đổi nó sang PEM và sau đó sang tệp P12, nhưng tôi bị kẹt. Sau đó, khi tôi cố gắng chuyển đổi PEM thành P12, nó muốn có một khóa riêng tư nào đó và tôi không biết lấy nó ở đâu.

Tôi cũng đã thử tải những thứ này vào Keychain Access. Tôi đã đọc rằng bạn có thể xuất chúng dưới dạng P12 từ đó, nhưng khi tôi thực hiện Nhập, chúng không xuất hiện ở bất kỳ đâu.

Câu trả lời:


127

Khóa cá nhân của bạn được tạo khi bạn tạo yêu cầu ký trong Truy cập chuỗi khóa. Sau khi chứng chỉ được tạo và tải xuống, nhấp đúp vào chứng chỉ sẽ thêm nó vào Keychain Access, nơi nó sẽ được khớp với khóa riêng tư. Sau đó, bạn có thể chọn chứng chỉ và mở mũi tên để chọn khóa cá nhân và xuất chúng cùng nhau dưới dạng tệp .p12 từ Keychain Access.


12
Đừng bận tâm; tìm ra. Người đàn ông không ngạc nhiên khi mọi người gặp rắc rối với điều này ... nó là khó hiểu!
RobG

14
Sẽ rất hay nhưng p12 bị xám xịt đối với tôi :(
Rob

14
@Rob bạn cần chọn khóa riêng tư chứ không phải toàn bộ chứng chỉ. Trong Móc khóa ở trên cùng bên trái, chọn "Đăng nhập", sau đó bên dưới trong Danh mục chọn "chứng chỉ", bạn sẽ thấy chứng chỉ có một mũi tên thả ngay bây giờ, hãy nhấp vào đó và khóa riêng tư sẽ hiển thị nhấp chuột phải và xuất mũ dưới dạng .p12
tutts

6
Tôi cũng không nhận được tùy chọn thả xuống. Tôi đã nhấp đúp vào chứng chỉ sau khi tải xuống và nó hiển thị trong chuỗi khóa đăng nhập, nhưng không hiển thị trong khóa cá nhân. Tôi chỉ thấy nó trong Chứng chỉ, không có kết nối nào giữa khóa và chứng chỉ mà tôi có thể thấy.
setherj

6
ở đây cũng vậy. Không có menu thả xuống, p12 chuyển sang màu xám
trainoasis,

75

Các tệp .p12 được sử dụng để xuất bản ứng dụng trên Apple App Store

A. Tạo tệp CSR (.certSagingRequest)

  1. Mở quyền truy cập chuỗi khóa từ các tiện ích
  2. Từ thanh công cụ Keychain Access, chọn Keychain Access -> Preference
  3. Trong cửa sổ bật lên, chọn tab Chứng chỉ
  4. Đặt cả “Giao thức trạng thái chứng chỉ trực tuyến” và “Danh sách thu hồi chứng chỉ” thành “Tắt”
  5. Đóng cửa sổ này
  6. Bây giờ từ thanh công cụ, hãy mở Truy cập chuỗi khóa> Hỗ trợ chứng chỉ> Yêu cầu chứng chỉ từ Tổ chức phát hành chứng chỉ
  7. Nhập địa chỉ email và tên thông thường mà bạn đã sử dụng để đăng ký trong Chương trình nhà phát triển iOS
  8. Giữ trống Email CA và chọn “Đã lưu vào đĩa” và “Hãy để tôi chỉ định thông tin cặp khóa”
  9. Bấm Tiếp tục
  10. Chọn tên tệp và đích trên ổ cứng của bạn
  11. Nhấp vào để lưu
  12. Trong cửa sổ tiếp theo, đặt giá trị "Kích thước khóa" thành "2048 bit"
  13. Đặt “Thuật toán” thành “RSA”
  14. Bấm Tiếp tục

Thao tác này sẽ tạo và lưu tệp certSignRequest (CSR) vào ổ cứng của bạn. Khóa công khai và riêng tư cũng sẽ được tạo trong Truy cập chuỗi khóa với Tên chung được nhập.

B. Tạo tệp ".cer" trong tài khoản nhà phát triển iOS

  1. Đăng nhập vào tài khoản nhà phát triển apple Nhấp vào “Chứng chỉ, Số nhận dạng & Tiểu sử”
  2. Nhấp vào “Hồ sơ cấp phép”
  3. Trong phần “Chứng chỉ”, hãy nhấp vào “Sản xuất”
  4. Nhấp vào nút “Thêm” (+) ở trên cùng bên phải của bảng điều khiển chính
  5. Bây giờ, hãy chọn “App Store và Ad Hoc”
  6. Bấm Tiếp tục
  7. Nhấp vào “Chọn tệp” và tìm tệp CSR bạn đã tạo từ ổ cứng của mình
  8. Nhấp vào Tạo
  9. Nhấp vào Tải xuống để lấy tệp

C. Cài đặt .cer và tạo chứng chỉ .p12

  1. Tìm tệp .cer bạn đã tải xuống và nhấp đúp
  2. Đặt menu thả xuống Đăng nhập thành “đăng nhập” và nhấp vào Thêm
  3. Mở KeyChain Access và bạn sẽ tìm thấy hồ sơ được tạo ở Bước A
  4. Bạn có thể mở rộng hồ sơ "khóa riêng tư" (hiển thị chứng chỉ bạn đã thêm)
  5. Chỉ chọn hai mục này (không phải khóa công khai)
  6. Nhấp chuột phải và nhấp vào “Xuất 2 mục…” từ cửa sổ bật lên
  7. Bây giờ hãy đảm bảo định dạng tệp là “.p12” và chọn tên tệp và đích trên ổ cứng của bạn
  8. Nhấp vào để lưu. Bây giờ, bạn sẽ được nhắc đặt mật khẩu nhưng giữ trống cả hai
  9. Bấm OK. Bây giờ, bạn có tệp .p12 trên ổ cứng của mình

Hãy lưu ý rằng nếu sự cố vẫn tiếp diễn thì hãy thử cả bước dưới đây:

Nếu chuỗi khóa của bạn có trong iCloud thì hãy xóa tất cả nội dung chuỗi khóa khỏi iCloud và thực hiện thiết lập mới trong iCloud. Thao tác này sẽ hoạt động.


tôi đã vô tình xóa biểu mẫu khóa cá nhân ke-chain của mình. vì vậy bây giờ tôi không thể thấy khóa cá nhân bên dưới chứng chỉ. tôi có tệp CSR làm cách nào để cài đặt lại khóa cá nhân từ CSR?
Avijit Nagare

1
Đã có một thời gian thực sự khó khăn để tìm ra quy trình apple lấy tệp .p12 được tạo vì tôi là một người dùng windows phone và bài đăng này thực sự đã giúp tôi hiểu được điều đó.
Mohammed Aamir K

1
Hướng dẫn rất hữu ích. Cảm ơn rất nhiều. Nó đã tiết kiệm rất nhiều thời gian.
Alix

Tại sao lại đặt 'Giao thức trạng thái chứng chỉ trực tuyến' và giao thức khác thành tắt?
Nate

1
Tôi đã giải quyết vấn đề này. Để giải thích cho bạn những gì tôi đã làm: Đảm bảo rằng chuỗi khóa của bạn không xuất hiện trong iCloud. Khi nó ở đó, có nguy cơ bạn gặp phải vấn đề ở trên. Tôi đã cài đặt mọi thứ, thực hiện một thiết lập mới mà không sử dụng dữ liệu trong iCloud của mình, sau đó nó hoạt động.
Nazar Medeiros

32

OK, vấn đề đã được giải quyết! Có vẻ như khi tôi nhấp đúp vào chứng chỉ, nó sẽ tự động cài đặt nó vào chuỗi khóa HỆ THỐNG - tôi không biết tại sao. Vì vậy, thay vào đó, tôi chỉ cần kéo và thả chứng chỉ vào chuỗi khóa ĐĂNG NHẬP và sau đó tất cả đều tốt. Cảm ơn bài viết này -> Thêm chứng chỉ vào chuỗi khóa và tạo định dạng tệp .p12 - alon rosenfeld 10 tháng trước


1
Tuyệt vời. Tôi đã dành hàng giờ để tìm ra điều này. Tôi sẽ lãng phí một tuần nữa nếu không có câu trả lời này.
B Bảy

1
Cảm ơn bạn rất nhiều. Tôi đã lãng phí hàng giờ để tìm ra điều này.
SaltedBlowfish

1
Đúng, lãng phí thời gian, đã tiết kiệm :)
Sahan

29

bạn sẽ không nhận được tùy chọn mở rộng trừ khi bạn lọc bằng cách chọn (Chứng chỉ) từ chuỗi khóa ở góc dưới cùng bên trái



3

Đối với bất kỳ ai vẫn gặp sự cố này, giải pháp cho tôi là KHÔNG chọn cả hai và "Xuất 2 mục" (khóa và chứng chỉ) - thay vì chỉ xuất chứng chỉ mà ALREADY bao gồm khóa. Kể từ năm 2016, tôi nghĩ rằng đây là cách để làm điều đó vì các video tải lên trước đó hoạt động với xuất khẩu 2 mục không còn hoạt động.


Tôi không thể chỉ xuất chứng chỉ dưới dạng p12 - bạn có chắc đây là cách chính xác?
Cecil Rodriguez,

Ở đây cũng vậy. Cái này rất quan trọng.
Gautam Jain

3

Để tải tệp p12 của bạn, hãy làm theo cách này ..

Bước 1. Trong XCode > Đến các thiết lập dự án > chung > section> Ký Chứng chỉ

Xem chứng chỉ nào bạn đang sử dụng cho ứng dụng cụ thể này như thể hiện trong hình ảnh bên dưới

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

Bước 2. Mở Keychain > trên phần Danh mục dưới cùng bên trái > Chứng chỉ

Tìm chứng chỉ và mở con bằng cách nhấp vào mũi tên xuống như trong hình ảnh

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

Bước 3. Nhấp chuột phải và xuất dưới dạng "Certificates.p12" bằng cách nhập mật khẩu của bạn, ví dụ. "123456"


Tôi không có mũi tên đó để mở rộng
Nazar Medeiros
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.