iphone - подписание данных с использованием NSData закрытого ключа - PullRequest
2 голосов
/ 13 мая 2010

Я работаю над приложением для электронного банкинга iphone.
Я использую WSS с подписью XML для подписи запросов к SOAP-серверу клиента.
Поскольку устройство iPhone нельзя доверять (из-за взлома), клиент Требуется вручную зашифровать пару ключей RSA (используя AES128) перед сохранением ключей в связке ключей.

Из того, что я нашел, ключи автоматически добавляются в цепочку для ключей при генерации.
Поэтому моя идея состоит в том, чтобы извлечь данные впоследствии (так же, как открытый ключ извлекается в примере CryptoExercise), удалить ключи из цепочки для ключей, выполнить шифрование AES и снова сохранить их в цепочке для ключей как пользовательские NSData.

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

2) Я не могу найти, если есть какой-либо способ использовать этот ключ без реализации некоторых хаков в коде?
Она выглядит так, как метод SecKeyRawSign принимает только ссылку SecKeyRef, которая является указателем на ключ в цепочке для ключей. Есть ли какой-либо другой способ подписи с использованием NSData ключа?
Единственная идея, которая у меня есть на данный момент, - это использовать метод SecItemAdd, чтобы добавить незашифрованный ключ в цепочку для ключей перед подписанием и удалить его после подписания. Но мне это не нравится, так как это будет происходить все время, и если приложение закрывается (происходит сбой или что-то еще) до того, как ключ извлечен из цепочки для ключей, оно останется там до тех пор, пока не допустим, что приложение будет запущено в следующий раз. *

Есть идеи для лучшего решения?

привет

1 Ответ

1 голос
/ 10 мая 2012

Попробуйте проверить пример Apple и документацию по безопасности. Фреймворк: https://developer.apple.com/library/ios/#DOCUMENTATION/Security/Conceptual/CertKeyTrustProgGuide/iPhone_Tasks/iPhone_Tasks.html#//apple_ref/doc/uid/TP40001358-CH208-SW13 - см. Эту ссылку

...