У меня есть важное сохранение файла в каталоге документов моего приложения. Я не разрешаю другим просматривать его содержимое, поэтому я шифрую файл с автогенерированным ключом AES и шифрую этот ключ AES с открытым ключом RSA, а затем сохраняю зашифрованный ключ AES в NSUserDefaults.Безопасно ли писать секретный ключ RSA в моем коде
При использовании важного файла я заберу зашифрованный ключ AES и расшифрую ключ AES с помощью открытого ключа RSA, а затем расшифруйте файл.
Но я не знаю, где хранить закрытый ключ RSA, безопасно ли это записать в моем коде, например, NSString *rsaPrivateKey = @"%^^&*(())";
, если нет, есть ли более безопасное решение?
Я знаю, как генерировать RSA публичный и закрытый ключ с использованием OpenSSL (This link helps me)
Edit:
Важный файл открыт только для самого пользователя, вы можете рассматривать его как фото с некоторыми чувствительными содержимое и фотография сохраняются пользователем.
Это чувствительный предмет. Невозможно сохранить его локально, и он будет полностью защищен от взлома. Лучше всего это получить его с сервера и сохранить его в цепочке ключей iOS. Получение строкового литерала из программы не очень сложно. – borrrden
@borrrden Спасибо за ответ. Я знаю, что лучше получить его с сервера, но на самом деле у меня нет сервера ... – KudoCC
Если у вас нет сервера, я предлагаю вместо этого использовать '# define' и сделать его C-строкой , Фактически, сделайте это несколько и объедините их вместе в один 'NSString', или даже лучше вы можете создать ключ на UUID, который вы создаете во время выполнения. – borrrden