Як я можу додати приватний ключ до своєї брелока?


39

Я намагаюся так додати myRepositoryKeyдо моєї утиліти для брелоків Mac. Я експортував цей елемент у форматі OpenRSA з Putty. Коли я намагаюся використовувати Import Items, файл неможливо вибрати . Що потрібно зробити, щоб імпортувати у свій брелок? Чи потрібен файл певного розширення?

Відповіді:


40

Ви повинні створити .p12файл. Для цього вам потрібен ваш приватний ключ та сертифікат на цей ключ. Потім запустіть наступне на консолі:

openssl pkcs12 -export -clcerts -inkey private.key -in certificate.crt -out MyPKCS12.p12 -name "Your Name"

де private.keyваш існуючий приватний ключ RSA, certificate.crtваш існуючий сертифікат і MyPKCS12.p12є ім'ям файла, який потрібно створити. Потім цей файл можна імпортувати у ваш брелок.

Якщо вам потрібен ваш ключ для доступу до SSH (SFTP, SCP або подібного), він не повинен бути у вашому брелоку. Просто скопіюйте свій приватний ключ ~/.ssh/і відредагуйте / створіть ~/.ssh/configфайл. Там ви могли б поставити щось у цьому напрямку:

# replace the host, location of the private key and the remoteUserName
# with valid values.
Host remote.domain.com
    IdentityFile ~/.ssh/private.key
    User remoteUserName

Що ви маєте на увазі під сертифікатом ключа? Чи повинен я залучати орган, що підписує?
Casebash

Так, або підпишіть його самостійно, хоча я б не рекомендував цього, крім іншого, для особистого використання.
bummzack

1
Просто FYI, команда працювала для мене, використовуючи .pem, а не .crt для сертифіката. Я спершу спробував перетворити .pem в .crt , який не вдався, потім просто спробував .pem в команді, яку ви показали безпосередньо, і яка насправді спрацювала!
quickshiftin

він створив файл p12 в моєму випадку, але з цією помилкою "не вдається завантажити сертифікати", що це означає?
Умаїр А.

Можливо, ти врятував мою роботу. Я годинами ламав голову над цим.
Шрідхар Сарнобат

26

Ну, я не розумію, що "потрібен сертифікат для ключа" ...

Я просто роблю ssh-add -K /path/to/private/key.

Однак переконайтеся, що ви використовуєте вбудований, ssh-addа не Macports '(якщо вам коли-небудь потрібно було оновити OpenSSH).

Отже, просто робіть /usr/bin/ssh-add -K /path/to/private/key.

Сподіваюся, що це допомагає.


Правильно: вбудований SSH повинен додати ключ, тоді і вбудований SSH, і MacPorts SSH можуть використовувати його.
Джеремі Л

Зауважте, що ви можете зіткнутися з тим, що "Дозвіл %%%% для ... занадто відкритий. [...] Цей приватний ключ буде проігноровано." Погляньте на цю відповідь, щоб виправити це питання.
luk2302

5

Я намагався імпортувати .p12 за допомогою GUI Keychain, щоб просто мовчки ігноруватись під Lion. Тож для повноти, я хотів би цю публікацію в блозі Стефана

http://www.arlt.eu/blog/2009/12/01/importing-iphone-keys-p12-and-pem-into-snow-leopards-keychain/

Коротше кажучи, це повинно робити трюк кожного разу:

security import priv_key.p12 -k ~/Library/Keychains/login.keychain
security import pub_key.pem -k ~/Library/Keychains/login.keychain

1

Враховуючи все у форматі PEM, файл приватного ключа - це сервер-key.key, а файл сертифікату - сервер-cert.pem.

# create .p12 formatted file with key and certificate using openssl. 
openssl pkcs12 -export -in server-cert.pem -inkey server-key.key -passout pass:password -out certificate.p12 -name "SCProxy"

# should use -T appPath. -A means this key is accessible for all apps. 
sudo security import certificate.p12 -A -P password -k "/Library/Keychains/System.keychain"
sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" server-cert.pem

-Tбільше не працює в Сьєрра - stackoverflow.com/questions/39868578 / ...
Heath Borders
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.