У меня есть пара ключей, которые, кажется, были сгенерированы с одинаковыми именами. Я хотел бы знать, какой открытый ключ совпадает с каким закрытым ключом, чтобы я мог переименовать / удалить их. Это что-то важное (хранение вокруг открытого ключа) или открытый ключ генерируется каждый раз, когда вы запрашиваете сертификат?
1 ответ
Я думаю, вы смогли обойти вашу проблему, поскольку это старая ветка, но я просто пишу ответ для любой будущей ссылки.
Основная идея - экспортировать ваши закрытые и открытые ключи и использовать openssl для просмотра их модуля. Соответствующие закрытые / открытые ключи будут иметь тот же модуль.
Вот как можно увидеть модуль закрытого ключа:
В Keychain Access экспортируйте свой закрытый ключ и выберите формат файла «Обмен личной информацией (.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 является PEM-файлом PKCS # 1 (с заголовком
-----BEGIN RSA PUBLIC KEY-----
), тогда как openssl может читать только PEM PKCS # 8 (с заголовком-----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