Добавить в «Мои сертификаты» в Keychain Access? (Mac OS 10.10)

18

У меня есть файл сертификата, как это:

-----BEGIN CERTIFICATE-----
MIIHCDCCBPC ....

Я могу заставить его отображаться в разделе «Сертификаты», перейдя в «Файл-> Импорт элементов» (это «Элин»).

введите описание изображения здесь

Однако я не могу добавить его в «Мои сертификаты», которые, по моему мнению, необходимы для его отображения при подключении к определенным веб-сайтам:

введите описание изображения здесь

Как я могу получить это там? (Мне нужно превратить его в .p12, например, и в таком случае, как?)

дани
источник
посмотрите, бесполезно ли это для вас: digicert.com/ssl-support/… также показывает, чтобы экспортировать сертификат в .p12. Если это делает то, что вы хотите, дайте мне знать, и я поставлю это как ответ :)
Дэвид Голдинг
Спасибо @DavidGolding, но я ищу способ перевести мой основной ключ в формат .p12, который, по моему мнению, является необходимым условием для его использования в разделе Мои сертификаты / для аутентификации на сайте.
Дани

Ответы:

36

Краткая версия:
вы не можете использовать его в качестве сертификата, если у вас нет закрытого ключа, который образует соответствующий набор с открытым ключом, который находится в сертификате. Найдите, где вы оставили свой закрытый ключ и импортируйте его в цепочку для ключей, и Keychain Access автоматически увидит, что он совпадает с открытым ключом в этом сертификате, и начнет показывать этот сертификат в списке «Мои сертификаты».

Длинная версия:
сертификаты являются публичными документами, которые вы можете свободно распространять. Это просто способ надежно связать вашу личность (т. Е. Такую информацию, как ваше полное имя, имя пользователя, адрес электронной почты и т. Д.) С вашим открытым ключом.

Поскольку сертификаты являются общедоступными, просто наличие копии сертификата не является доказательством того, что вы являетесь лицом, указанным в сертификате, или что открытый ключ в сертификате действительно является вашим открытым ключом.

Чтобы доказать, что сертификат принадлежит вам, у вас должен быть закрытый ключ, который образует соответствующий набор с открытым ключом, содержащимся в сертификате.

Если у вас есть только файл .p7b или .cer или .pem, он, скорее всего, просто содержит сертификат, но не закрытый ключ, который идет с ним.

Закрытые ключи должны храниться в полной безопасности и никогда не передаваться никому другому. Когда они хранятся на диске, они должны храниться в зашифрованном файле, который необходимо расшифровать парольной фразой. Типичным способом безопасного хранения сертификата вместе с соответствующим закрытым ключом в зашифрованном, защищенном паролем файле является файл .p12 (PKCS # 12). Посмотрите, есть ли у вас файл .p12 где-нибудь.

Если Keychain Access показывает сертификат в вашей личной цепочке ключей, но не показывает его в списке «Мои сертификаты», это означает, что вы импортировали только сертификат, но не закрытый ключ, который идет с ним, поэтому OS X не может сказать, что это действительно "твое".

Вам нужно найти, где хранится ваш закрытый ключ, когда вы впервые сгенерировали пару открытый / закрытый ключ. Генерация пары ключей является первым шагом к получению сертификата. Сначала создается пара ключей, затем открытый ключ вместе с вашей идентификационной информацией помещается в запрос на подпись сертификата (aka CSR, req) и отправляется в центр сертификации (CA) для подписи. Предполагается, что ЦС проверяет вашу идентификационную информацию и ваш открытый ключ, а затем, если все проверяется, они подписывают CSR, создавая сертификат. Подписанный сертификат отправляется обратно вам, и вы должны сопоставить его с закрытым ключом, который вы сгенерировали на первом шаге, чтобы по-настоящему использовать его.

Обратите внимание, что роль CA не представляет собой ничего особенного. Это не должна быть какая-то корпорация, как Verisign. Каждая операционная система персонального компьютера содержит все программное обеспечение, необходимое для работы в качестве ЦС. Функция Certificate Assistant от Keychain Access даже поможет вам настроить CA для личного использования.

Если вы не помните генерацию пары ключей, возможно, вы использовали какое-то программное обеспечение, которое делало это автоматически для вас. Например, есть специальный HTML-тег, который веб-сайты CA могут использовать в своих веб-формах CSR, который указывает вашему веб-браузеру автоматически генерировать пару ключей и отправлять только открытый ключ вместе с веб-формой. Когда вы используете Safari в такой форме, закрытый ключ сохраняется в цепочке ключей пользователя для учетной записи пользователя OS X, в которую вы вошли. Когда вы используете IE в Windows в такой форме, закрытый ключ сохраняется в эквиваленте Windows (Microsoft называет это «хранилищем сертификатов» пользователя; «хранилище» как в «контейнере хранилища», а не «розничном магазине») :-) ,

Я не могу сказать вам, где находится ваш закрытый ключ, потому что я не знаю, какое программное обеспечение вы использовали для его создания, и даже если бы я знал это, я бы не знал наверняка, где вы сказали это программное обеспечение, чтобы сохранить свой закрытый ключ. Вам, вероятно, придется вывести это из себя.

Если вы не можете найти свой закрытый ключ, вам может потребоваться скомпрометировать его и отозвать свой сертификат (для этого вам может потребоваться связаться с центром сертификации) и начать заново, сгенерировав новую пару ключей, создав новый CSR, имея CA подписывает его и выдает сертификат, сопоставляет его с новым закрытым ключом и т. Д. Это похоже на то, как если бы вы поняли, что вам не хватает копии вашего ключа от дома, и решили, что слесарь перепишет все ваши дверные замки только для того, чтобы быть безопасным.

tl; dr: найдите свой закрытый ключ и импортируйте его в связку ключей.

Spiff
источник
2
Отличный ответ; но я добавлю два замечания: во-первых, по историческим причинам расширение «.pfx» иногда используется для файлов PKCS # 12 (см. Википедию ). Во-вторых, на скриншотах есть треугольник раскрытия рядом с сертификатом «com.apple.idmsa ...»; щелчок, который откроет соответствующий закрытый ключ, который отобразит его в «Моих сертификатах» и позволит использовать его для аутентификации.
Гордон Дэвиссон
Как я могу переместить файл ключа (который появляется после нажатия на треугольник) из цепочки для ключей на одном компьютере на новый компьютер?
Пир
1
@Pier Добро пожаловать в SuperUser. Пожалуйста, задайте свой вопрос, разместив его как собственный вопрос, а не спрашивая в комментарии.
Spiff