Хранить и извлекать закрытый ключ из связки ключей Mac программно

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

Я могу добавить закрытый ключ в цепочку для ключей, используя метод «SecKeychainItemImport» из «Security.framework», но у меня возникают проблемы с получением закрытого ключа из цепочки для ключей. Я пробовал использовать методы «SecKeychainItemCopyAttributesAndData» и «SecKeychainItemCopyContent» для возврата закрытого ключа из связки ключей. Но пока безуспешно.

Я также читал в блогах, где упоминалось о хранении секретных ключей внутри скрытой папки ".ssh". Но я считаю, что хранение закрытого ключа внутри связки ключей обеспечивает еще один уровень безопасности, так что кто-то еще не может получить легкий доступ к закрытому ключу.

6
задан jww 22 October 2017 в 12:22
поделиться