Tạo tệp .pem cho APNS?


177

Làm cách nào để tạo tệp .pem sẽ được lưu trữ trong máy chủ lưu trữ cho dữ liệu tải trọng APN?


1
Tôi có thể sử dụng .p12 cho apns thay vì .pem không?
Gajendra K Chauhan

Định nghĩa FYI của .pem: serverfault.com/a/21158/193377 PEM tự nó không phải là một chứng chỉ, nó chỉ là một cách mã hóa dữ liệu. .... an toàn khi dán vào phần thân của email vì nó có các dòng neo và sạch 7 bit.
AnneTheAgile

Câu trả lời:


365

Đây là những gì tôi đã làm, Từ: blog.boxedice.com và "Dự án nâng cao iPhone" chương 10 củaJoe Pezzillo.

Với aps_developer_identity.cer trong móc khóa:

  1. Khởi chạy Keychain Access từ máy Mac cục bộ của bạn và từ móc khóa đăng nhập, lọc theo danh mục Chứng chỉ. Bạn sẽ thấy một tùy chọn có thể mở rộng được gọi là Dịch vụ đẩy phát triển Apple Apple
  2. Nhấp chuột phải vào Dịch vụ đẩy phát triển của Apple Apple> Xuất khẩu Dịch vụ đẩy phát triển của Apple ID123. Lưu nó dưới dạng apns-dev-cert.p12tập tin ở một nơi nào đó bạn có thể truy cập nó. Không cần nhập mật khẩu.
  3. Lệnh tiếp theo tạo chứng chỉ trong Terminal của Mac cho định dạng PEM (Chứng chỉ bảo mật thư nâng cao bảo mật):

    openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts

Trên máy chủ đặt quyền cho tập tin của khóa không được mã hóa này bằng cách sử dụng chmod 400.


3
Tôi đã làm theo các bước trên và bây giờ nó đang hoạt động. Tôi đã giữ chứng chỉ và tập lệnh php trên máy chủ web cục bộ của mình (Xampp). Tôi có thể nhận được mã thông báo thiết bị và tôi đang sử dụng nó trong tập lệnh php. Kịch bản php có thể kết nối và gửi dữ liệu tải trọng. Nhưng sau đó tôi vẫn không thể nhận được Thông báo PUSH. Vấn đề là gì? Liệu các thông báo có mất thời gian để đạt được ???
Biranchi

12
Trên Truy cập Keychain của Mavericks (10.9), có một tùy chọn để xuất dưới dạng .pem! Chỉ cần nhấp chuột phải vào các "Phát triển Apple / Sản iOS giấy chứng nhận Đẩy dịch vụ bên trong Keychain Access và chọn Export nó Thay đổi định dạng tập tin để .pem nào - thực hiện cũng có sẵn như là tùy chọn xuất khẩu:.! .P7b & đuôi .p12
tylerl

5
.pem bị vô hiệu hóa đối với tôi, yosemite beta7. Tôi có một số vấn đề khi tạo .pem, khi tôi mở, nó nói là để phân phối thay vì dev
Cristi Băluță

2
.pem không bị vô hiệu hóa đối với tôi, nhưng tôi không thể lưu dưới dạng p12. Đây là giao diện của nó: i.imgur.com/U2M40dU.png
FooBar

2
Đối với macOS 10.14 Mojave bằng ứng dụng Keychain Access, bạn có thể chọn Xuất "Chứng chỉ đẩy của Apple: com.yourBundleIdentifier" sang Định dạng tệp "Thư nâng cao bảo mật (.pem)" và lưu bất cứ khi nào bạn muốn.
5uper_0leh

226

Giai đoạn phát triển:

Bước 1: Tạo Chứng chỉ .pem từ Chứng chỉ .p12
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

Bước 2: Tạo khóa .pem từ khóa .p12
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12

Bước 3 (Tùy chọn): Nếu bạn muốn xóa cụm từ được hỏi trong bước thứ hai
openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem

Bước 4: Bây giờ chúng ta phải hợp nhất Khóa .pem và Chứng chỉ .pem để nhận Phát triển .pem cần thiết cho Thông báo đẩy trong Giai đoạn phát triển ứng dụng.

Nếu bước thứ 3 được thực hiện, hãy chạy:
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

Nếu bước 3 không được thực hiện, hãy chạy:
cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem

Bước 5: Kiểm tra tính hợp lệ của chứng chỉ và kết nối với APNS

Nếu bước thứ 3 được thực hiện, hãy chạy:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem

Nếu bước 3 không được thực hiện, hãy chạy:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem

Giai đoạn sản xuất:

Bước 1: Tạo Chứng chỉ .pem từ Chứng chỉ .p12
openssl pkcs12 -clcerts -nokeys -out apns-pro-cert.pem -in apns-pro-cert.p12

Bước 2: Tạo khóa .pem từ khóa .p12
openssl pkcs12 -nocerts -out apns-pro-key.pem -in apns-pro-key.p12

Bước 3 (Tùy chọn): Nếu bạn muốn xóa cụm từ được hỏi trong bước thứ hai
openssl rsa -in apns-pro-key.pem -out apns-pro-key-noenc.pem

Bước 4: Bây giờ chúng ta phải hợp nhất Khóa .pem và Chứng chỉ .pem để có được .pem sản xuất cần thiết cho Thông báo đẩy trong Giai đoạn sản xuất ứng dụng.

Nếu bước thứ 3 được thực hiện, hãy chạy:
cat apns-pro-cert.pem apns-pro-key-noenc.pem > apns-pro.pem

Nếu bước 3 không được thực hiện, hãy chạy:
cat apns-pro-cert.pem apns-pro-key.pem > apns-pro.pem

Bước 5: Kiểm tra tính hợp lệ của chứng chỉ và kết nối với APNS.

Nếu bước thứ 3 được thực hiện, hãy chạy:
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key-noenc.pem

Nếu bước 3 không được thực hiện, hãy chạy:
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key.pem


5
Cảm ơn bạn, đây là người duy nhất ở đây làm việc cho tôi.
Erik Villegas

6
Lưu cái này trong hầm quý giá của tôi! : P Câu trả lời tuyệt vời nhất từng có !!
đen

3
Bạn là một vị thần làm việc này cảm ơn bạn. LÊN BẦU. Đây sẽ là câu trả lời vì nó đi sâu vào cách tạo ra nó từng bước
MNM

2
Chắc chắn đây phải là câu trả lời được chấp nhận vì câu trả lời của @Rahul Sharma không tạo ra kết quả như mong đợi, trong khi câu trả lời này là hoàn hảo.
Bây giờ,

Cảm ơn bạn đã lưu giờ của tôi để kiểm tra tính hợp lệ của chứng chỉ. Đây phải là câu trả lời được chấp nhận @Biranchi
Sourabh Sharma

59

Các bước:

  1. Tạo CSR bằng Truy cập chuỗi khóa
  2. Tạo P12 bằng cách sử dụng Khóa chuỗi truy cập bằng khóa riêng
  3. ID và chứng chỉ ứng dụng APNS

Điều này cung cấp cho bạn ba tệp:

  • CSR
  • Khóa riêng dưới dạng tệp p12 ( PushChatKey.p12)
  • Chứng chỉ SSL, aps_development.cer

Chuyển đến thư mục mà bạn đã tải xuống các tệp, trong trường hợp của tôi là Desktop:

$ cd ~/Desktop/

Chuyển đổi tệp .cer thành tệp .pem:

$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem

Chuyển đổi tệp .p12 của khóa riêng thành tệp .pem:

$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12

Nhập mật khẩu nhập:

MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase:

Trước tiên bạn cần nhập cụm mật khẩu cho tệp .p12 để openssl có thể đọc được. Sau đó, bạn cần nhập cụm mật khẩu mới sẽ được sử dụng để mã hóa tệp PEM. Một lần nữa cho hướng dẫn này, tôi đã sử dụng cụm từ Pushchat, làm mật khẩu PEM. Bạn nên chọn một cái gì đó an toàn hơn. Lưu ý: nếu bạn không nhập cụm mật khẩu PEM, openssl sẽ không đưa ra thông báo lỗi nhưng tệp .pem được tạo sẽ không có khóa riêng trong đó.

Cuối cùng, kết hợp chứng chỉ và khóa thành một tệp .pem:

$ cat PushChatCert.pem PushChatKey.pem > ck.pem


22

Khởi chạy ứng dụng Terminal và nhập lệnh sau sau dấu nhắc

  openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes

1
Sau khi bạn tạo p12, đây sẽ là câu trả lời.
Đá

10

- >> Hướng dẫn riêng của Apple << - là bộ hướng dẫn làm việc duy nhất tôi gặp. Nó thẳng tiến và tôi có thể xác nhận nó hoạt động tuyệt vời trên cả máy chủ php linux và máy chủ php php.

Bạn có thể tìm thấy quy trình tạo pem 5 bước của họ ngay ở cuối trang.


Đúng! Chỉ cần làm theo hướng dẫn đơn giản. Chỉ cần một lệnh openssl đơn giản. Tôi không biết có vấn đề gì không, nhưng tôi đã chạy lệnh bằng cách SSH vào máy chủ kết nối với APNS.
tylerl

1
@tylerl, PEM có thể được tạo từ bất kỳ máy nào - không phải là máy chủ mà nó sẽ cư trú.
capikaw

Tôi có cần chạy quy trình này trên chính máy chủ nơi mã php được triển khai không? hoặc tôi có thể sử dụng tệp .pem được tạo từ máy mac của mình không?
Jatin

4
Liên kết bị hỏng kể từ tháng 9 năm 2015
Nicolas Miari



4

LƯU Ý: Bạn phải có vai trò Đại lý nhóm hoặc Quản trị viên trong App Store Connect để thực hiện bất kỳ tác vụ nào trong số này. Nếu bạn không tham gia Nhóm trong App Store Kết nối, điều này có thể không ảnh hưởng đến bạn.

Gửi thông báo đẩy đến một ứng dụng iOS yêu cầu tạo các khóa hiệu quả. Trước đây, đây là một quy trình rườm rà sử dụng các khóa và chứng chỉ SSL. Mỗi chứng chỉ SSL được dành riêng cho một ứng dụng iOS. Năm 2016, Apple đã giới thiệu một cơ chế khóa xác thực mới đáng tin cậy hơn và dễ sử dụng hơn. Các khóa xác thực mới linh hoạt hơn, đơn giản để duy trì và áp dụng cho nhiều hơn trên ứng dụng iOS.

Mặc dù đã nhiều năm kể từ khi khóa xác thực được giới thiệu, không phải dịch vụ nào cũng hỗ trợ chúng. FireBase và Amazon Pinpoint hỗ trợ các khóa xác thực. Amazon SNS, Urban Airship, Twilio và LeanPlum thì không. Nhiều gói phần mềm nguồn mở chưa hỗ trợ các khóa xác thực.

Để tạo chứng chỉ SSL cần thiết và xuất dưới dạng tệp PEM chứa khóa công khai và khóa riêng:

  1. Điều hướng đến Chứng chỉ, Số nhận dạng & Hồ sơ
  2. Tạo hoặc chỉnh sửa ID ứng dụng của bạn.
  3. Bật thông báo đẩy cho ID ứng dụng
  4. Thêm chứng chỉ SSL vào ID ứng dụng
  5. Chuyển đổi chứng chỉ sang định dạng PEM

Nếu bạn đã có chứng chỉ SSL được thiết lập cho ứng dụng trong trang web của Trung tâm nhà phát triển Apple, bạn có thể bỏ qua trước để Chuyển đổi chứng chỉ sang định dạng PEM. Hãy nhớ rằng bạn sẽ chạy vào các vấn đề nếu bạn không còn có chìa khóa riêng được tạo ra trên máy Mac đã tạo ra yêu cầu ký đã được tải lên Apple.

Đọc tiếp để xem làm thế nào để tránh mất dấu khóa riêng tư đó.

Điều hướng đến Chứng chỉ, Số nhận dạng & Hồ sơ

Xcode không kiểm soát chứng chỉ hoặc khóa cho thông báo đẩy. Để tạo khóa và bật thông báo đẩy cho ứng dụng, bạn phải truy cập trang web của Trung tâm nhà phát triển Apple. Phần Chứng chỉ, Số nhận dạng & Cấu hình trong tài khoản của bạn kiểm soát ID ứng dụng và chứng chỉ.

Để truy cập các chứng chỉ và hồ sơ, bạn phải có tư cách thành viên Chương trình Nhà phát triển Apple phải trả tiền hoặc là thành viên của Nhóm.

  1. Đăng nhập vào trang web Nhà phát triển của Apple nhập mô tả hình ảnh ở đây
  2. Chuyển đến Tài khoản , sau đó Chứng chỉ, Số nhận dạng & Hồ sơ nhập mô tả hình ảnh ở đây

Tạo ID ứng dụng

Các ứng dụng sử dụng thông báo đẩy không thể sử dụng ID ứng dụng ký tự đại diện hoặc hồ sơ cung cấp. Mỗi ứng dụng yêu cầu bạn thiết lập bản ghi ID ứng dụng trong cổng thông tin của Trung tâm nhà phát triển Apple để bật thông báo đẩy.

  1. Chuyển đến ID ứng dụng trong phần Định danh
  2. Tìm kiếm ứng dụng của bạn bằng cách sử dụng định danh gói. Nó có thể đã tồn tại.
  3. Nếu không có ID ứng dụng hiện có cho ứng dụng, hãy nhấp vào nút (+) để tạo.
  4. Chọn ID ứng dụng rõ ràng trong phần Hậu tố ID ứng dụng . nhập mô tả hình ảnh ở đây
  5. Nhập định danh gói cho ứng dụng.
  6. Cuộn xuống phía dưới và bật Thông báo đẩy . nhập mô tả hình ảnh ở đây
  7. Nhấp vào Tiếp tục .
  8. Trên màn hình tiếp theo, nhấp Đăng ký để hoàn thành việc tạo ID ứng dụng. nhập mô tả hình ảnh ở đây

Bật thông báo đẩy cho ID ứng dụng

  1. Chuyển đến ID ứng dụng trong phần Định danh
  2. Nhấp vào ID ứng dụng để xem chi tiết và cuộn xuống phía dưới. nhập mô tả hình ảnh ở đây
  3. Nhấp vào Chỉnh sửa nhập mô tả hình ảnh ở đây
  4. Trong màn hình Cài đặt ID ứng dụng, cuộn xuống Thông báo đẩy nhập mô tả hình ảnh ở đây
  5. Chọn hộp kiểm để bật thông báo đẩy. nhập mô tả hình ảnh ở đây

Tạo chứng chỉ SSL cho thông báo đẩy là một quá trình của một số nhiệm vụ. Mỗi nhiệm vụ có một vài bước. Tất cả những điều này là cần thiết để xuất các khóa ở định dạng P12 hoặc PEM. Xem lại các bước trước khi tiến hành.

Thêm chứng chỉ SSL vào ID ứng dụng

  1. Trong phần Phát triển Chứng chỉ SSL, bấm Tạo Chứng chỉ . Bạn sẽ cần phải làm điều này sau này để sản xuất là tốt.
  2. Apple sẽ yêu cầu bạn tạo Yêu cầu ký chứng chỉ nhập mô tả hình ảnh ở đây

Để tạo chứng chỉ, bạn sẽ cần tạo Yêu cầu ký chứng chỉ (CSR) trên máy Mac và tải lên Apple.

Sau này nếu bạn cần xuất chứng chỉ này dưới dạng tệp pkcs12 (còn gọi là p12), bạn sẽ cần sử dụng móc khóa từ cùng một máy Mac . Khi yêu cầu ký được tạo Keychain Access sẽ tạo một bộ khóa trong móc khóa mặc định. Các khóa này là cần thiết để làm việc với chứng chỉ Apple sẽ tạo từ yêu cầu ký.

Đó là một thực hành tốt để có một móc khóa riêng dành riêng cho thông tin đăng nhập được sử dụng để phát triển. Nếu bạn làm điều này, hãy đảm bảo rằng móc khóa này được đặt thành mặc định trước khi sử dụng Trợ lý chứng chỉ.

Tạo một Keychain cho Thông tin phát triển

  1. Mở Keychain Access trên máy Mac của bạn
  2. Trong menu Tệp chọn New Keychain ...
  3. Đặt cho móc khóa của bạn một tên mô tả, như "Phát triển được chia sẻ" hoặc tên của ứng dụng của bạn

Tạo một yêu cầu ký chứng chỉ (CSR)

Khi tạo Yêu cầu ký chứng chỉ, Trợ lý chứng chỉ sẽ tạo hai khóa mã hóa trong móc khóa mặc định. Điều quan trọng là làm cho móc khóa phát triển trở thành mặc định để các phím nằm trong móc khóa bên phải.

  1. Mở Keychain Access trên máy Mac của bạn.
  2. Nhấp chuột phải vào móc khóa phát triển trong danh sách các móc khóa
  3. Chọn Tạo móc khóa "Phát triển chia sẻ" Mặc định nhập mô tả hình ảnh ở đây
  4. Từ menu Keychain Access, chọn Trợ lý chứng chỉ , sau đó Yêu cầu chứng chỉ từ Cơ quan cấp chứng chỉ ... từ menu phụ. nhập mô tả hình ảnh ở đây
  5. Khi Trợ lý Chứng chỉ xuất hiện, hãy kiểm tra Lưu vào Đĩa . nhập mô tả hình ảnh ở đây
  6. Nhập địa chỉ email được liên kết với tư cách thành viên Chương trình nhà phát triển Apple của bạn trong Địa chỉ email người dùng trường .
  7. Nhập tên cho khóa trong trường Tên chung . Đó là một ý tưởng tốt để sử dụng ID gói của ứng dụng như là một phần của tên chung. Điều này giúp dễ dàng cho biết chứng chỉ và khóa thuộc về ứng dụng nào.
  8. Nhấn tiếp tục. Chứng chỉ trợ lý sẽ nhắc lưu yêu cầu ký vào một tệp.
  9. Trong Keychain Access, làm cho móc khóa "đăng nhập" trở lại mặc định.

Tạo yêu cầu ký kết tạo ra một cặp khóa. Trước khi yêu cầu ký được tải lên, hãy xác minh rằng móc khóa phát triển có các phím. Tên của họ sẽ giống với Tên chung được sử dụng trong yêu cầu ký.

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

Tải lên Yêu cầu ký chứng chỉ (CSR)

Khi Yêu cầu ký xác nhận được tạo, hãy tải nó lên Trung tâm nhà phát triển của Apple. Apple sẽ tạo chứng chỉ thông báo đẩy từ yêu cầu ký.

  1. Tải lên Yêu cầu ký chứng chỉ
  2. Tải xuống chứng chỉ Apple đã tạo từ Yêu cầu ký chứng chỉ nhập mô tả hình ảnh ở đây
  3. Trong Keychain Access, chọn móc khóa phát triển từ danh sách các móc khóa
  4. Từ menu Tệp, chọn Nhập Mục ... nhập mô tả hình ảnh ở đây
  5. Nhập tệp chứng chỉ được tải xuống từ Apple

Giờ đây, móc khóa phát triển của bạn sẽ hiển thị chứng chỉ đẩy với khóa riêng bên dưới Chứng chỉ của tôi trong Quyền truy cập Keychain:

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

Tại thời điểm này, móc khóa phát triển nên được sao lưu. Nhiều đội giữ chứng chỉ đẩy của họ trên các ổ USB an toàn, cam kết kiểm soát phiên bản nội bộ hoặc sử dụng giải pháp sao lưu như Time Machine. Khóa phát triển có thể được chia sẻ giữa các thành viên nhóm khác nhau vì nó không chứa bất kỳ thông tin đăng nhập mã cá nhân nào.

Các tập tin Keychain được đặt trong ~/Library/Keychains.

Một số dịch vụ đẩy của bên thứ ba yêu cầu chứng chỉ ở định dạng Thư tăng cường bảo mật (PEM), trong khi các dịch vụ khác yêu cầu Tiêu chuẩn mã hóa khóa công khai số 12 (PKCS12 hoặc P12). Chứng chỉ được tải xuống từ Apple có thể được sử dụng để xuất chứng chỉ theo các định dạng này - nhưng chỉ khi bạn đã giữ khóa riêng.

Chuyển đổi chứng chỉ sang định dạng PEM

  1. Trong Keychain Access, chọn móc khóa phát triển được tạo trước đó.
  2. Chọn chứng chỉ đẩy trong Chứng chỉ của tôi . Cần có một khóa riêng với nó. ! [Tải xuống chứng chỉ đẩy CER] (móc khóa / nhập hoàn thành.png)
  3. Từ menu Tệp, chọn Xuất các mục ... nhập mô tả hình ảnh ở đây
  4. Trong bảng lưu mở ra, chọn Thư nâng cao bảo mật (.pem) làm định dạng tệp.
  5. Lưu các tập tin

3

Tôi sẽ đề nghị một giải pháp đơn giản hơn nhiều. Chỉ cần sử dụng Certifire .
Certifire là một ứng dụng macOS tạo Chứng chỉ Thông báo Đẩy của Apple chỉ bằng một cú nhấp chuột trong vài giây.

Dưới đây là các bước:
1. Tải ứng dụng.
2. Đăng nhập bằng thông tin đăng nhập tài khoản nhà phát triển Apple của bạn.
3. Chọn ID ứng dụng
4. Nhấp vào nút "Tạo"
5. Bạn đã hoàn tất!

Bạn sẽ nhận được chứng chỉ APN ở định dạng .pem cũng như định dạng .p12. Thậm chí, bạn cũng sẽ nhận được kết hợp .pem và .p12 nữa (key + cert)!
Nhiều hơn nữa, bạn sẽ nhận được các phiên bản không có mật khẩu của tất cả các chứng chỉ này!

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

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


2

Đây là cách tôi đã làm trên Windows 7, sau khi cài đặt OpenSSL (liên kết đến trình cài đặt Win32, chọn phiên bản mới nhất chứ không phải phiên bản nhẹ).

Với phương pháp này, bạn chỉ cần .certệp được tải xuống từ Apple.

c:\OpenSSL-Win32\bin\openssl.exe x509 -in aps_development.cer -inform DER -out developer_identity.pem -outform PEM

điều này sẽ tạo một tập tin mà sau đó bạn cũng cần thêm khóa riêng của mình.

----- BEGIN PRIVATE KEY -----
MIIEuwIBADANBgkqhk .... vv
MIIEuwIBADANBgkqhk .... vv
MIIEuwIBADANBgkqhk .... vv
MIIEuwIBADANBgkqhk .... vv
----- END PRIVATE KEY -----
----- BEGIN CHỨNG NHẬN -----
AwIBAgwIBADAwIBADA .... vv
AwIBAgwIBADAwIBADA .... vv
AwIBAgwIBADAwIBADA .... vv
----- KẾT THÚC CHỨNG NHẬN -----

Đó là nó.


2

Có một cách dễ nhất để tạo tệp .Pem nếu bạn đã truy xuất tệp p12 trong quyền truy cập chuỗi khóa của mình.

Mở terminal và nhập lệnh dưới đây:

Đối với Devlopment openssl pkcs12 -in apns-div-cert.p12 -out apns-div-cert.pem -nodes -clcerts

Đối với sản xuất openssl pkcs12 -in apns-dist-cert.p12 -out apns-dist-cert.pem -nodes -clcerts

Đổi tên tệp P12 của bạn với tên này: apns-div-cert.p12 nếu không thay vì tên này, bạn cần nhập tên tệp của mình. Cảm ơn!!


1

Tôi không bao giờ nhớ openssllệnh cần thiết để tạo .pemtệp, vì vậy tôi đã tạo tập lệnh bash này để đơn giản hóa quy trình:

#!/bin/bash
if [ $# -eq 2 ]
then
    echo "Signing $1..."

    if ! openssl pkcs12 -in $1 -out $2 -nodes -clcerts; then
        echo "Error signing certificate."
    else
        echo "Certificate created successfully: $2"
    fi
else
    if [ $# -gt 2 ]
    then
        echo "Too many arguments"
        echo "Syntax: $0 <input.p12> <output.pem>"
    else
        echo "Missing arguments"
        echo "Syntax: $0 <input.p12> <output.pem>"
    fi
fi

Đặt tên cho nó, ví dụ, signpem.shvà lưu nó vào thư mục người dùng của bạn ( /Users/<username>?). Sau khi tạo tệp, hãy thực hiện chmod +x signpem.shđể làm cho nó có thể thực thi được và sau đó bạn có thể chạy:

~/signpem myCertificate.p12 myCertificate.pem

myCertificate.pemsẽ được tạo ra.

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.