ฉันเดาว่าคุณสามารถแก้ไขปัญหาของคุณได้เนื่องจากเป็นหัวข้อเก่า แต่ฉันแค่เขียนคำตอบสำหรับการอ้างอิงในอนาคต
แนวคิดพื้นฐานคือการส่งออกคีย์ส่วนตัวและสาธารณะของคุณและใช้ openssl เพื่อดูโมดูลัสของพวกเขา การจับคู่คีย์ส่วนตัว / สาธารณะจะมีโมดูลัสเดียวกัน
นี่คือวิธีดูโมดูลัสของคีย์ส่วนตัว:
ใน Keychain Access ส่งออกคีย์ส่วนตัวของคุณและเลือกรูปแบบไฟล์ "Personal Information Exchange (.p12)" สิ่งนี้จะสร้างไฟล์. p12
เรียกใช้เทอร์มินัลและใช้ openssl เพื่อแปลงไฟล์. p12 ของคุณเป็นไฟล์. pem:
openssl pkcs12 -in key.p12 -out key.pem -nodes
ใช้ openssl เพื่อดูโมดูลัสของคีย์ส่วนตัว pem:
openssl rsa -in key.pem -modulus -noout
นี่คือวิธีการดูโมดูลัสของกุญแจสาธารณะ:
ใน Keychain Access ส่งออกกุญแจสาธารณะของคุณและเลือกรูปแบบไฟล์ "Privacy Enhanced Mail (.pem)" สิ่งนี้จะสร้างไฟล์. pem
ไฟล์. pem นี้เป็นไฟล์ PKCS # 1 PEM (ที่มีส่วนหัว-----BEGIN RSA PUBLIC KEY-----
) ในขณะที่ openssl สามารถอ่านได้เฉพาะ PKCS # 8 PEM (ที่มีส่วนหัว-----BEGIN PUBLIC KEY-----
) ดังนั้นเปิดพับลิกคีย์สาธารณะของคุณใน TextEdit และลบRSA
บิตออกจากส่วนหัวและส่วนท้ายและบันทึกการเปลี่ยนแปลง
ใช้ openssl เพื่อดูโมดูลัสของกุญแจสาธารณะ pem:
openssl rsa -pubin -in pubkey.pem -modulus -noout
โปรดทราบว่าในความเป็นจริงคุณสามารถลบกุญแจสาธารณะของคุณและสร้างมันขึ้นมาใหม่จากไพรเวตคีย์ (ซึ่งจะทำให้คุณมั่นใจในการจับคู่คู่ของคุณ) ในการสร้างคีย์สาธารณะที่ตรงกันจากคีย์ส่วนตัวให้ใช้คำสั่ง openssl ต่อไปนี้:
openssl rsa -in key.pem -pubout -out pubkey.pem