2

私の知る限りNSURLCredentialStorage、より便利な API を備えたキーチェーン サービスの単なるラッパーです。だからこそ使いたい。しかし、キーチェーンが提供するデータ保護機能も活用したいと考えてkSecAttrAccessibleWhenUnlockedThisDeviceOnlyいます。

NSURLCredentialStorage を使用して資格情報を保存するときに、この属性を設定する方法はありますか?

4

1 に答える 1

2

答えはイエスです。作成したキーホルダーアイテムを調べてみNSURLCredentialStorageました。これはクラスkSecClassInternetPasswordであり、アクセス キーkSecAttrAccessibleが「ak」に設定されています。これはkSecAttrAccessibleWhenUnlocked. したがって、デバイスがロックされている間、パスワードは復号化されません。

唯一の欠点は、それを変更してバックアップ データのセキュリティ レベルを高めるNSURLCredentialStorage方法がないことです。kSecAttrAccessibleWhenUnlockedThisDeviceOnly下位レベルのキーチェーン API (つまりSecItemUpdate) を使用して、キーチェーン アイテムでその属性を手動でのみ変更できます。

于 2012-07-10T10:41:41.107 に答える