В Доступе Цепочки для ключей на OS X, Найти совпадающие открытый и закрытый ключи

14

У меня есть пара ключей, которые, кажется, были сгенерированы с одинаковыми именами. Я хотел бы знать, какой открытый ключ совпадает с каким закрытым ключом, чтобы я мог переименовать / удалить их. Это что-то важное (хранение вокруг открытого ключа) или открытый ключ генерируется каждый раз, когда вы запрашиваете сертификат?

ACBurk
источник
Вы смогли найти решение для этого? У меня та же проблема, и я не могу найти ответ.
Аксева
Нет, не знаю Лучшее решение, которое я нашел, это просто дать им более уникальное имя, к сожалению, для начала.
ACBurk
Да, это не очень полезно ПОСЛЕ того, как мы уже совершили ошибку, не назвав их должным образом. ;) Я видел грохот, который подсказывает, что инструмент командной строки OpenSSL может помочь, но я еще не понял, как это сделать.
Аксева

Ответы:

12

Я думаю, вы смогли обойти вашу проблему, так как это старая ветка, но я просто пишу ответ для любой будущей ссылки.

Основная идея - экспортировать ваши закрытые и открытые ключи и использовать openssl для просмотра их модуля. Соответствующие закрытые / открытые ключи будут иметь тот же модуль.

Вот как можно увидеть модуль закрытого ключа:

  1. В Keychain Access экспортируйте свой закрытый ключ и выберите формат файла «Обмен личной информацией (.p12)». Это создаст файл .p12.

  2. Запустите терминал и используйте openssl для преобразования вашего файла .p12 в файл .pem:

    openssl pkcs12 -in key.p12 -out key.pem -nodes
    
  3. Используйте openssl для просмотра модуля закрытого ключа pem:

    openssl rsa -in key.pem -modulus -noout
    

Вот как можно увидеть модуль открытого ключа:

  1. В Keychain Access экспортируйте свой открытый ключ и выберите формат файла «Privacy Enhanced Mail (.pem)». Это создаст .pem файл.

  2. Этот файл .pem является PEM-файлом PKCS # 1 (с заголовком -----BEGIN RSA PUBLIC KEY-----), тогда как openssl может читать только PEM PKCS # 8 (с заголовком -----BEGIN PUBLIC KEY-----). Поэтому откройте экспортированный открытый ключ в TextEdit, удалите RSAбит из верхнего и нижнего колонтитула и сохраните изменения.

  3. Используйте openssl для просмотра модуля открытого ключа pem:

    openssl rsa -pubin -in pubkey.pem -modulus -noout
    

Также обратите внимание, что на самом деле вы также можете удалить свои открытые ключи и воссоздать их из закрытых ключей (таким образом, вы можете быть уверены в своих подходящих парах). Чтобы создать соответствующий открытый ключ из закрытого ключа, используйте следующую команду openssl:

openssl rsa -in key.pem -pubout -out pubkey.pem
quentinadam
источник
1
Спасибо, старый вопрос, но кажется, что это всегда проблема, поэтому приятно наконец найти хорошее решение.
ACBurk
1
Блестящий, именно то, что я искал. Спасибо за хорошее описание.
Baza207
Я только что задал этот вопрос снова на SuperUser, но мне так повезло, что этот ответ уже дан .. +1 вокруг.
Том Пейс