เกิดข้อผิดพลาดขณะพยายามขอรับใบรับรอง: ไม่พบรายการที่ระบุในพวงกุญแจ


112

ฉันมีปัญหากับการลงรหัสแอปดังนั้นฉันจึงลบคีย์ทั้งหมดออกจากพวงกุญแจ จากนั้นฉันไปที่Certificate Assistant => ขอใบรับรองจาก Certificate Authority (เพื่อสร้าง CSR สำหรับใบรับรองใหม่)

ป้อนที่อยู่อีเมลของฉันและนี่คือสิ่งที่ฉันได้รับ:

ไม่พบรายการที่ระบุในพวงกุญแจ

ผมทำอะไรผิดหรือเปล่า?

ป.ล. เมื่อฉันพยายามสร้างผู้ออกใบรับรองฉันได้รับข้อผิดพลาดเดียวกัน


1
ฉันได้รับข้อผิดพลาดเดียวกัน ช่วยอธิบายให้ละเอียด
หน่อยได้ไหม

9
การรีสตาร์ท KeyChain Access ใช้ได้ผลสำหรับฉัน :)
Mohit Padalia

1
สำหรับผู้ที่ใช้คีย์ส่วนตัวซ้ำเพื่อวัตถุประสงค์ในการลงนามครั้งที่สอง (เช่นinstaller+ application) โปรดดูขั้นตอนคู่มือของ @ toland-hon ด้านล่างซึ่งใช้ OpenSSL บนบรรทัดคำสั่งเพื่อแก้ไขปัญหาKeychain Accessแอปพลิเคชันบั๊กกี้ ขั้นตอนด้านล่างที่นำผู้ใช้ไปยังCertificateส่วนของการKeychain Accessยังคงใช้ไม่ได้เมื่อนำคีย์ส่วนตัวกลับมาใช้ซ้ำเพื่อวัตถุประสงค์รอง CSR ด้วยตนเองผ่านทางopensslเป็นวิธีแก้ปัญหาที่ใช้ได้ผล
tresf

คำตอบ:


307

ฉันแก้ไขมัน ตรวจสอบให้แน่ใจว่าคุณอยู่ในส่วน "ใบรับรอง" และคุณเลือก "ผู้ออกใบรับรองความสัมพันธ์กับนักพัฒนาทั่วโลกของ Apple" ก่อนที่จะขอใบรับรอง


7
คุณคือฮีโร่ ฉันดึงผมออกเมื่อคำตอบอื่น ๆ ทั้งหมดไม่สามารถแก้ปัญหาได้
BFeher

23
พระเจ้าช่วย Apple WTF? ขอบคุณจอห์น!
MattD

2
นี่มันบ้า :(: P what the falooda ??? อย่างจริงจังต้องมีการแจ้งเตือนหรือข้อความที่เป็นมิตรกับผู้ใช้
Adil Soomro

2
ฉันไม่ได้พิจารณาคำตอบนี้เพราะฉันคิดว่ามันบ้า แต่มันใช้งานได้จริง มีบางส่วนที่หลวม ๆ ของระบบนิเวศของแอปเปิ้ลที่บ้าไปแล้ว :)
อเล็กซ์

2
สิ่งนี้แก้ไขได้สำหรับฉัน การเลือกคีย์ส่วนตัวเก่าของฉันใช้ไม่ได้ผลและไม่มีการเลือกคีย์ คลุมเครือแค่ไหน ...
zai chang

46

การเข้าถึงพวงกุญแจจะไม่อนุญาตให้คุณขอใบรับรองจากผู้ออกใบรับรองที่มี " ตัวตน " ...เว้นแต่คุณจะมีทั้งคีย์ส่วนตัวและคีย์สาธารณะสำหรับระบุตัวตนในพวงกุญแจของคุณ ฉันพบสิ่งนี้เมื่อฉันมีคีย์ส่วนตัวเท่านั้นไม่ใช่คีย์สาธารณะที่เกี่ยวข้อง

คุณสามารถสร้างคีย์สาธารณะจากคีย์ส่วนตัวและนำเข้าสู่พวงกุญแจของคุณโดยใช้ขั้นตอนที่อธิบายไว้ใน คีย์สาธารณะของฉันหาย ฉันสามารถกู้คืนจากคีย์ส่วนตัวได้หรือไม่

เมื่อฉันนำเข้าคีย์สาธารณะแล้วฉันสามารถใช้คำสั่งขอใบรับรองจากผู้ออกใบรับรองด้วยคำสั่ง" identity " ...โดยไม่เรียกใช้รายการที่ระบุไม่พบในข้อผิดพลาดของพวงกุญแจ


คุณพูดถูกจะสร้างใบรับรองโดยไม่ใช้คีย์สาธารณะได้อย่างไร :)
onmyway133

30

ไปที่ส่วน " ใบรับรอง " และเลือก " ผู้ออกใบรับรองความสัมพันธ์กับนักพัฒนาทั่วโลกของ Apple " ก่อนขอใบรับรอง

ป้อนคำอธิบายภาพที่นี่


21

คุณกำลัง (อาจจะไม่ได้ตั้งใจ) ขอ Keychain Access เพื่อสร้างการร้องขอการลงนามรับรองโดยใช้คีย์ที่มีอยู่ หากคุณเลือกคีย์เมื่อคุณเข้าไปที่เมนูKeychain Access - Certificate Assistantตัวเลือกที่แสดงจะเป็นของคีย์ที่เลือกนั้น

เลือกรายการที่ไม่ใช่คีย์ในพวงกุญแจของคุณ (เช่นรหัสผ่านที่บันทึกไว้) และไปที่การเข้าถึงพวงกุญแจ - ผู้ช่วยใบรับรองอีกครั้งเพื่อสร้าง CSR ตามปกติ


ดูเหมือนว่าตอนนี้ OS X จะมีค่าเริ่มต้นเป็นรายการแรกที่เลือกไว้ หากคุณเลือกพวงกุญแจอื่น (เช่นระบบ) เมื่อคุณสร้างสิ่งนี้ควรแก้ไขปัญหาได้
James Parker

อึศักดิ์สิทธิ์ฉันจะไม่เคยเป็นแขกรับเชิญ พูดคุยเกี่ยวกับการออกแบบ UI ที่ไม่ดี ...
d512

9

แม้ว่าฉันจะได้รับปัญหานี้ ฉันแก้ไขสิ่งนี้โดยเลือกAll ItemsแทนKeysในไฟล์Categoriesบานหน้าต่างแล้วพยายามสร้างใบรับรอง

ลองนี้มันจะได้ผลอย่างแน่นอน


ดีกว่าที่จะรีบูต
knight2016

7

สิ่งนี้เกิดขึ้นกับฉันฉันสังเกตเห็นว่าตัวเลือกเมนูสำหรับการสร้างคำขอใบรับรองเปลี่ยนจาก

ขอใบรับรองจากผู้ออกใบรับรอง ...

ถึง

ขอใบรับรองจากผู้ออกใบรับรองที่มี "ชื่อของฉัน" ...

เลือกตัวเลือกเมนูนี้

ฉันอยู่ในโดเมนที่ทำงานดังนั้นฉันจึงออกจากระบบเข้าสู่ระบบและออกเป็นผู้ใช้รายอื่นจากนั้นเข้าสู่ระบบอีกครั้ง หลังจากนั้นเมนูก็ปรากฏขึ้นตามที่คาดไว้และข้อผิดพลาดนี้ก็หายไป


4
นี่คือคุณสมบัติของการเข้าถึงพวงกุญแจ หากคุณมีคีย์ที่เลือกไว้เมื่อคุณไปที่เมนูนี้คีย์จะเสนอให้ใช้คีย์เพื่อสร้างคำขอลงนามใบรับรอง (ในกรณีนี้ตัวเลือกจะเหมือนกับเมื่อคลิกขวาที่คีย์) การออกจากระบบจะยกเลิกการเลือกคีย์
Phil Calvin

คุณไม่จำเป็นต้องออกจากระบบจากนั้นเข้าสู่ระบบ เพียงแค่ออกจากพวงกุญแจและเปิดอีกครั้งตอนนี้ไม่ได้เลือกรายการใด ๆ ในรายการและไปที่เมนูเพื่อขอ
M.Shuaib Imran

7

เป้าหมายของฉันคือสร้าง CSR (คำขอลงนามใบรับรอง) โดยใช้คีย์ส่วนตัวที่มีอยู่เพื่อส่งไปยัง Apple เพื่อสร้างใบรับรองการแจกจ่าย iPhone ใหม่ ฉันแน่ใจว่าใบรับรองคือหมวดหมู่ที่เลือกทางด้านซ้าย ฉันลองคลิกขวาที่คีย์ส่วนตัวของฉันและคลิกที่ขอใบรับรองจากผู้ออกใบรับรองด้วยคีย์ส่วนตัวที่นำเข้าและจะได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันพยายามบันทึก

ไม่พบรายการที่ระบุในพวงกุญแจ

ฉันยังได้รับข้อผิดพลาดเดียวกันเมื่อฉันไปที่เมนูไฟล์: การเข้าถึงพวงกุญแจ >ผู้ช่วยใบรับรอง

สิ่งที่ฉันรวบรวมจากแหล่งอินเทอร์เน็ตอื่น ๆ ก็คือการเข้าถึงพวงกุญแจไม่อนุญาตให้คุณสร้าง CSR ใหม่หากคุณนำเข้าคีย์ส่วนตัวเฉพาะในกรณีที่คุณสร้างคีย์จากเครื่องมือในเครื่องเท่านั้น

สิ่งที่ฉันทำคือการส่งออกคีย์ส่วนตัวและใช้ openssl เพื่อสร้าง CSR ใหม่ซึ่ง Apple ยอมรับแล้วและตอนนี้อ้างถึงคีย์ส่วนตัวที่นำเข้าใหม่

การส่งออกคีย์ส่วนตัว

  1. คลิกขวาที่คีย์ส่วนตัว
  2. ส่งออก
  3. ตรวจสอบให้แน่ใจว่าได้เลือกรูปแบบไฟล์ p12 แล้ว
  4. บันทึก
  5. ป้อนรหัสผ่าน (ไม่บังคับ)
  6. อนุญาตให้เข้าถึงคีย์การส่งออก
  7. เปิด Terminal แล้วไปที่ไดเรกทอรีที่ส่งออก
  8. แยกคีย์จากคอนเทนเนอร์ 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 รอให้สร้างใบรับรองแล้วติดตั้ง หลังจากที่คุณนำเข้าใบรับรองที่สร้างขึ้นใหม่คุณจะเห็นว่าใบรับรองนั้นอ้างอิงใบรับรองเก่าที่คุณส่งออกด้านบน


ปัญหาเดียวกัน. ต้องการเก็บคีย์ส่วนตัวเดิมไว้ (เช่นเดิมใช้developerID_installer.cerแต่ต้องการใช้ซ้ำdeveloperID_application.cer) คำแนะนำของ Apple ไม่ดีเพราะบังคับให้คุณใช้รถบั๊กกี้Keychain Accessหรือแย่กว่านั้นคือ XCode ฉันสะดุดกับวิธีแก้ปัญหาข้างต้นนี้โดยไม่ได้ตั้งใจ การโหวตของคุณเพราะมันเป็นสิ่งที่ฉันทำ
tresf

4

ฉันมีปัญหาเดียวกัน ฉันสามารถสร้าง CSR จากนั้นไม่สร้างมันและข้อผิดพลาดเดียวกันกำลังได้รับ

จากนั้นฉันสามารถค้นหาและพบวิธีแก้ปัญหา แต่ไม่สามารถแก้ได้

ฉันจะแก้มันได้สักระยะ

การเข้าถึงพวงกุญแจของฉันผ่านกล่องเวลาเริ่มต้น CSR ดังนั้นการเข้าถึงพวงกุญแจของฉันจึงถูกล็อค

เปิด> การเข้าถึงพวงกุญแจ> ด้านบนของการแสดงการเข้าถึงพวงกุญแจ "คลิกเพื่อปลดล็อกพวงกุญแจระบบ"

คลิกและปลดล็อกพวงกุญแจระบบจากนั้นสร้างไฟล์ CSR จากนั้นไม่ได้รับข้อผิดพลาดนี้


2

การเลือกคีย์ส่วนตัวในพวงกุญแจจะเกิดปัญหา "ไม่พบรายการที่ระบุในพวงกุญแจ" ในขณะที่คุณเลือกคีย์สาธารณะแก้ปัญหานั้น "คำขอใบรับรองของคุณถูกสร้างขึ้นบนดิสก์"


1

ตกลงชื่อที่แสดงจะแสดงรายการที่คุณไฮไลต์ในหน้าต่างหลักของพวงกุญแจ (หากคุณเลือกรายการอื่นที่นี่คุณจะเห็นรายการเมนูเปลี่ยนไปด้วย) หากคุณไปที่ส่วนหมวดหมู่ทางด้านซ้ายและเลือกใบรับรองของฉันเช่นและกลับไปที่รายการเมนูผู้ช่วยใบรับรองจะมีลักษณะ / ทำหน้าที่เหมือนที่คุณคุ้นเคย หวังว่านี่จะช่วยได้!


1

หลังจากเพิกถอนใบรับรองทั้งหมดที่ฉันมีฉันพบว่าปัญหาเกิดขึ้นกับyubikeyของฉัน Yubikeyมันเข้ามาขัดขวางการลงนามแอป หลังจากลบออกแล้วปัญหาได้รับการแก้ไข

หัวข้อฟอรัมนี้ช่วยฉันได้ที่: https://forums.developer.apple.com/thread/106938


ขอบคุณ! นี่เป็นปัญหาของฉันเช่นกัน นี่อาจไม่ใช่ปัญหาสำหรับคนส่วนใหญ่ แต่ทุกคนที่มี Yubikey ควรลองดึงมันออกมาและสร้างใหม่
Philihp Busby

0

หากคุณเลือกคีย์ส่วนตัวใด ๆ ในพวงกุญแจในขณะที่สร้าง CSR ใหม่ระบบจะแจ้งให้คุณทราบโดยอ้างอิงถึงคีย์นั้น เพียงตรวจสอบให้แน่ใจว่าคุณได้เลือกรายการที่ไม่ใช่คีย์ส่วนตัวสำหรับสร้าง CSR ใหม่ซึ่งจะเป็นประโยชน์สำหรับการสร้างรายการใหม่

เช่นเลือกเก็บไว้ในเครื่องมือพวงกุญแจ "คีย์สาธารณะ" หรือใบรับรองที่มีอยู่ซึ่งไม่มีคีย์ส่วนตัวที่อยู่ในแนวเดียวกัน ตอนนี้ทำตามขั้นตอน "ขอใบรับรองจากผู้ออกใบรับรอง"


0

ลิงก์ด้านล่างนี้ช่วยแก้ปัญหาให้ฉันได้ https://forums.developer.apple.com/thread/72863

ในกรณีของฉันมันคือ yubikey ที่เชื่อมต่อกับ Mac ของฉันตลอดเวลา หลังจากลบออกแล้วปัญหาจะได้รับการแก้ไขโดยอัตโนมัติ


-15

แก้ได้! ต้องเปลี่ยน "ใบรับรองผู้ใช้" เป็น "การลงนามรหัส"


การเปลี่ยน "ใบรับรองผู้ใช้" เป็น "การลงนามรหัส" หมายความว่าอย่างไร
user500

ใช่ฉันก็ประสบปัญหาเดียวกันเช่นกันคุณหมายถึงอะไร "การเซ็นชื่อรหัสนั่นอยู่ที่ไหน
Habitante
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.