我正在开发一个使用钥匙串来存储登录凭证的应用程序。 要访问钥匙串,我使用UICKeyChainStore -library使其更容易。MDM与钥匙串访问冲突
当我在设备上运行它时,一切都运行良好,证书被存储并从钥匙链中读取。
该应用程序必须是MDM包装的,这就是问题出现的地方。 只要它被包裹,我就无法再读取或写入钥匙串。
我将其跟踪到一个SecItemCopyMatching调用,它检查该值是否已存储。在unwrapped的情况下,我得到了状态码-25300 = noItemFound,这很好,因为钥匙串在开始时是空的。
但是,如果包装箱中的参数完全相同,则返回码是-50,这是错误,告诉我我放入该方法的字典无效。
我试着打开/关闭参数或将它们留下,没有任何变化。总是-50错误代码。
您有没有人可能不得不在过去处理这类问题?我在这里真的没有什么想法了。
词典是这样的:
- kSecAttrAccount = PasswordIdentifier
- kSecAttrGeneric = PasswordIdentifier
- kSecAttrSynchonizable = kSecAttrSynchronizableAny
- kSecAttrService = “MyAppIdentifier”
- kSecClass = kSecClassGenericPassword
就像我说过的,当我不包装它时,这些参数是完全正确的,并被接受。