เป้าหมายของฉันคือสร้าง CSR (คำขอลงนามใบรับรอง) โดยใช้คีย์ส่วนตัวที่มีอยู่เพื่อส่งไปยัง Apple เพื่อสร้างใบรับรองการแจกจ่าย iPhone ใหม่ ฉันแน่ใจว่าใบรับรองคือหมวดหมู่ที่เลือกทางด้านซ้าย ฉันลองคลิกขวาที่คีย์ส่วนตัวของฉันและคลิกที่ขอใบรับรองจากผู้ออกใบรับรองด้วยคีย์ส่วนตัวที่นำเข้าและจะได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันพยายามบันทึก
ไม่พบรายการที่ระบุในพวงกุญแจ
ฉันยังได้รับข้อผิดพลาดเดียวกันเมื่อฉันไปที่เมนูไฟล์: การเข้าถึงพวงกุญแจ >ผู้ช่วยใบรับรอง
สิ่งที่ฉันรวบรวมจากแหล่งอินเทอร์เน็ตอื่น ๆ ก็คือการเข้าถึงพวงกุญแจไม่อนุญาตให้คุณสร้าง CSR ใหม่หากคุณนำเข้าคีย์ส่วนตัวเฉพาะในกรณีที่คุณสร้างคีย์จากเครื่องมือในเครื่องเท่านั้น
สิ่งที่ฉันทำคือการส่งออกคีย์ส่วนตัวและใช้ openssl เพื่อสร้าง CSR ใหม่ซึ่ง Apple ยอมรับแล้วและตอนนี้อ้างถึงคีย์ส่วนตัวที่นำเข้าใหม่
การส่งออกคีย์ส่วนตัว
- คลิกขวาที่คีย์ส่วนตัว
- ส่งออก
- ตรวจสอบให้แน่ใจว่าได้เลือกรูปแบบไฟล์ p12 แล้ว
- บันทึก
- ป้อนรหัสผ่าน (ไม่บังคับ)
- อนุญาตให้เข้าถึงคีย์การส่งออก
- เปิด Terminal แล้วไปที่ไดเรกทอรีที่ส่งออก
- แยกคีย์จากคอนเทนเนอร์ p12
โปรดใช้ความระมัดระวังเนื่องจากคีย์ส่วนตัว. pem ไม่มีการป้องกันด้วยรหัสผ่านอีกต่อไป)
$ openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes
Enter Import Password: ********************
MAC verified OK
การสร้าง CSR ใหม่ด้วยคีย์ส่วนตัวที่ส่งออก
$ openssl req -out Certificates.csr -key Certificates.pem -new
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:.
State or Province Name (full name) [Some-State]:.
Locality Name (eg, city) []:.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:John Doe Dev Key
Email Address []:thon@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
สองสิ่งที่ควรทราบ:
- ป้อน เมื่อคุณต้องการให้ฟิลด์ว่างหรือค่าเริ่มต้นจะรวมสิ่งที่อยู่ในวงเล็บ []
- ชื่อสามัญ (CN) ควรเป็นชื่อคีย์ส่วนตัวของคุณ (เช่น John Doe Dev Key)
- ที่อยู่อีเมลควรเป็นที่อยู่อีเมลของคุณ (เช่น thon@example.com)
- ส่วนอื่น ๆ ควรว่างเปล่า
ตรวจสอบ CSR ของคุณ
$ openssl req -noout -text -in Certificates.csr
Certificate Request:
Data:
Version: 0 (0x0)
Subject: CN=John Doe Dev Key/emailAddress=thon@example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
…
Exponent: 65537 (0x10001)
Attributes:
a0:00
Signature Algorithm: sha1WithRSAEncryption
…
สิ่งที่คุณควรใส่ใจคือเรื่องบรรทัดและตรวจสอบว่าถูกต้อง
ตอนนี้สิ่งที่คุณต้องทำคือส่งไปที่ Apple รอให้สร้างใบรับรองแล้วติดตั้ง หลังจากที่คุณนำเข้าใบรับรองที่สร้างขึ้นใหม่คุณจะเห็นว่าใบรับรองนั้นอ้างอิงใบรับรองเก่าที่คุณส่งออกด้านบน