thiếu khóa riêng trong chứng chỉ phân phối trên móc khóa


170

Tôi có vấn đề sau đây mà tôi không thể tìm thấy giải pháp cho bất cứ nơi nào. Về cơ bản, chúng tôi có tài khoản nhà phát triển công ty (không phải doanh nghiệp) và vì vậy để gửi ứng dụng của chúng tôi, tôi đã yêu cầu nhóm trưởng của chúng tôi gửi cho tôi chứng chỉ phân phối và tạo và gửi cho tôi hồ sơ cung cấp phân phối.

Với hồ sơ nhà phát triển, mọi thứ đều hoạt động tốt, nhưng khi tôi cài đặt chứng chỉ và hồ sơ cung cấp, tôi không thấy hồ sơ phân phối trên Xcode và tôi cũng không có khóa riêng dưới chứng chỉ dist trong móc khóa.

Có ai biết làm thế nào để giải quyết điều này? Tôi đã đọc ở những nơi khác nhau rằng tôi sẽ cần thu hồi chứng chỉ và tạo một chứng chỉ mới, nhưng tôi thực sự không thể làm điều đó vì chúng tôi có một loạt các ứng dụng trong công ty và tôi không thể thu hồi nó cho mọi người.


2
Đôi khi khóa riêng bị thiếu vì chúng tôi đang cố gắng tạo Chứng chỉ với .CSR được tạo trên bất kỳ máy nào khác. Vì vậy, hãy đảm bảo, tệp CSR của bạn cũng nên được tạo trên cùng một máy mà bạn đang cố tạo và cài đặt chứng
chỉ..hoặc

2
Trong trường hợp của tôi, tôi có hai chứng chỉ ký giống hệt nhau trong móc khóa của mình ... Nó đã giải quyết đơn giản là xóa một trong số chúng ... Chỉ trong trường hợp ...
juanram0n

Câu trả lời:


166

nhập mô tả hình ảnh ở đâyAhh đây là một vấn đề phổ biến, Giải pháp rất đơn giản:

Ai đã từng tạo thông tin đăng nhập của nhà phát triển ban đầu cần phải đi đến móc khóa trên máy tính của họ và nhấp chuột phải vào (các) khóa để riêng tư và công khai và xuất khóa vào tệp. Sau đó, bạn chỉ cần tải xuống tệp đó trên máy tính của mình và mở nó, và nó sẽ được thêm vào móc khóa của bạn.

Bạn cần có cả khóa riêng (tệp .pem) và chứng chỉ cho hồ sơ cung cấp của bạn.


36
Để cụ thể hơn, đó là tệp .p12 bạn cần (đã xuất)
mkral

7
@Nirma Phải làm gì nếu chúng tôi không có quyền truy cập vào máy tính mà từ đó thông tin đăng nhập của nhà phát triển được tạo ban đầu.
Nishad Arora

@NishadArora Bạn sẽ phải tạo một khóa mới để sử dụng. Không có cách nào để sử dụng nó mà không có khóa riêng. AFAIK
Joshua Pinter

2
@Nirma Cách tạo cái mới
Muju

70

Miễn là bạn vẫn có quyền truy cập vào mac đã được sử dụng để tạo chứng chỉ phân phối gốc thì rất đơn giản.

Chỉ cần sử dụng ứng dụng Keychain Access của mac đó để xuất cả chứng chỉ và khóa riêng. Chọn cả hai bằng cách sử dụng shift hoặc lệnh và nhấp chuột phải để xuất thành tệp .p12.

Đính kèm một ảnh chụp màn hình để làm cho nó rất rõ ràng.

Trên máy Mac của bạn, nhập tệp .p12 đó và bạn sẽ thấy ổn (chỉ cần đảm bảo rằng bạn có hồ sơ cung cấp hợp lệ).

Chỉ cần chọn xuất


55

Để thêm vào câu trả lời của người khác, nếu bạn không có quyền truy cập vào khóa riêng đó nữa thì việc sao lưu và chạy lại khá đơn giản:

  1. thu hồi chứng chỉ hoạt động của bạn trong cổng thông tin cung cấp
  2. tạo chứng chỉ nhà phát triển mới (truy cập móc khóa /.../ yêu cầu cho csr ... vv.)
  3. tải về và cài đặt chứng chỉ mới
  4. tạo hồ sơ cung cấp mới cho id ứng dụng hiện có (trên cổng cung cấp)
  5. tải xuống và cài đặt hồ sơ cung cấp mới và trong bản dựng, cài đặt đặt các danh tính ký mã phù hợp

13
Ở đây tại công ty tôi luôn là một mớ hỗn độn, không ai biết máy tính nào được tạo ra một chứng chỉ nhất định. Là tốt hơn để thu hồi và tạo lại
user2387149

1
@ user2387149 Tôi ở đây 6 năm sau để đề xuất CI / CD thực hiện loại công cụ này và quên đi distributon qua xCode.
Edgar Salazar

nếu tôi đã tải xuống một chứng chỉ phân phối, sau đó tôi đã thu hồi nó và sau đó yêu cầu lại. Tôi có nên xóa chứng chỉ phân phối cũ?
kafinsalim

14

Xóa tệp hiện có khỏi KeyChain, nhận và thêm tệp .p12 vào máy mac của bạn từ nơi chứng chỉ được tạo.

Để nhận .p12 từ Mac nguồn, hãy truy cập KeyChain, mở rộng chứng chỉ, chọn cả hai và xuất 2 mục. Điều này sẽ lưu tệp .p12 ở vị trí của bạn:

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


8

Trong trường hợp của tôi, tôi đã mất tất cả các khóa riêng tư trong móc khóa của mình, những cái mới được nhập chính xác, nhưng cũng không hiển thị khóa riêng. Điều duy nhất đã giúp là tạo Chứng chỉ mớiSigningRequest


6

Sau khi bạn thay đổi máy Mac không phải là bản gốc đã tạo chứng chỉ phân phối, bạn sẽ thiếu khóa riêng. Chỉ cần xóa chứng chỉ gốc và tạo lại một cái mới, phù hợp với tôi ~


5

Khi tôi cố gắng tải lên bản dựng iOS để thử nghiệm chuyến bay thì đã xuất hiện lỗi.

"Missing privacy key".

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

Chỉ cần 2 bước để khắc phục lỗi này.

  1. Xóa chứng chỉ cũ khỏi developer.apple.com
  2. Tạo chứng chỉ mới từ Xcode hoặc developer.apple.com

Vấn đề của tôi đã được giải quyết (Tôi đang sử dụng Xcode 9.4.1).

Vui lòng kiểm tra, Xcode đã tạo chứng chỉ mới.

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


5

Đối với những người e ngại khi tạo lại chứng chỉ phân phối AppStore Tài liệu của Apple cho biết:

Quan trọng: Tạo lại chứng chỉ phân phối hoặc phát triển của bạn không ảnh hưởng đến các ứng dụng bạn đã gửi tới App Store cũng như không ảnh hưởng đến khả năng cập nhật chúng.

Nhưng nó ảnh hưởng đến các ứng dụng cho hệ sinh thái Apple Developer Enterprise .


4
Nó làm nếu bạn có một tài khoản doanh nghiệp!
MobileMon

Bởi "hệ thống hệ sinh thái doanh nghiệp" .... Dành cho ex. bạn đang nói về việc nếu bạn làm việc trong một công ty lớn và 100 nhà phát triển có khóa riêng đó cho ứng dụng cụ thể đó không?
petrosmm

2

Tại Menu> Visual Studio (mac)> Tùy chọn> Xuất bản> Tài khoản nhà phát triển Apple> [Chọn id apple của bạn]> Xem chi tiết> Tạo chứng chỉ

Để xóa các chứng chỉ không sử dụng / không hợp lệ, hãy truy cập trang web: https://developer.apple.com/account/resource/certert/list

xóa mọi chứng chỉ không mong muốn ở đó

Tiếp theo là tạo ID ứng dụng (số nhận dạng), truy cập trang web:
https://developer.apple.com/account/resource/identifier/list

Tiếp theo, truy cập trang web để tạo hồ sơ cung cấp:
https://developer.apple.com/account/resource/profiles/add

sử dụng chứng chỉ để liên kết với id ứng dụng của bạn.

Tiếp theo là tải xuống các cấu hình:
Tại mac của bạn> Tại Menu> Visual Studio (mac)> Tùy chọn> Xuất bản> Tài khoản nhà phát triển của Apple> [Chọn id apple của bạn]> Xem chi tiết> Tải xuống tất cả hồ sơ


1

Tôi đã truy cập chứng chỉ đó trên trang web dành cho nhà phát triển của apple và sau khi tải xuống, tôi đã mở nó. Tương tự như vậy, khi mở tôi có một cửa sổ nhỏ hỏi tôi có muốn thêm chứng chỉ vào móc khóa không. Chỉ cần gõ "thêm" và lỗi "thiếu khóa riêng" đã biến mất.


1

Tôi đã gặp tình huống này ("Thiếu khóa riêng.") Sau khi Xcode không thể tạo chứng chỉ phân phối mới - đã xảy ra lỗi không xác định.

Sau đó, tôi vật lộn để có được khóa riêng hoặc tạo chứng chỉ mới. Từ trình quản lý chứng chỉ trong Xcode, tôi đã gặp phải các lỗi lạ như "Cụm mật khẩu bạn đã nhập sai". Nhưng nó thậm chí không hỏi tôi bất kỳ cụm mật khẩu nào.

Điều đã giúp tôi là:

  1. Thu hồi tất cả các chứng chỉ phân phối không hoạt động tại developer.apple.com
  2. Khởi động lại máy Mac của tôi

Sau đó, Xcode đã có thể tạo chứng chỉ phân phối mới và không thiếu khóa riêng.

Bài học rút ra: Khởi động lại máy Mac của bạn nhiều như Windows của bạn;)


0

Kiểm tra xem bạn có đang sử dụng Đăng nhập hay không để thêm chứng chỉ, nếu bạn đang kiểm tra trong Hệ thống ở phía trên bên trái thì chúng tôi sẽ không thể nhìn thấy nó.

Vì vậy, kéo và thả .cer vào đăng nhập sau đó kiểm tra xem bạn có thể lấy khóa riêng hay không.


0

Chỉ để làm sáng tỏ về điều này.

Sau khi tôi xóa chứng chỉ p12 khỏi Keychain. Tôi đã tải lại chứng chỉ của riêng mình từ cổng thông tin của nhà phát triển Apple.

Tôi chỉ có thể tải chứng chỉ. Nhưng để đăng nhập bạn cần có khóa riêng. Bạn cũng vậy:

  • xuất cả khóa riêng và chứng chỉ từ Keychain để lấy nó.

  • Tải lên Yêu cầu ký chứng chỉ và tạo chứng chỉ mới

Chứng chỉ đó tự nó không có giá trị cho mục đích ký kết. Tôi đoán là khóa riêng được tạo bằng móc khóa vào thời điểm bạn 'yêu cầu chứng chỉ từ cơ quan chứng nhận' nhưng không được hiển thị cho bạn cho đến khi bạn thêm chứng chỉ ràng buộc.

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.