ios - 如何获取在 iOS Keychain 中创建和存储的密钥的唯一标识符
问题描述
当我在 Keychain 中创建一个新密钥时,SecKeyCreateRandomKey
我想获取UUID
这个密钥(或任何其他唯一的id
),并id
在未来使用它在 Keychain 中搜索这个密钥。我该怎么做?
到目前为止,我只设法kSecAttrApplicationTag
为将来的查询提供了一个属性,但是这个解决方案是有问题的,因为可以使用这个标签创建任意数量的键。
在查看密钥如何存储在钥匙串数据库中时,我看到那里有一个UUID
字段,尽管我找不到在应用程序级别访问它的方法。
解决方案
您可以使用kSecAttrApplicationTag
可以独立生成的具有唯一 UID 的自定义方案来存储。
例子:
kSecAttrApplicationTag -> {COMMON_ATTRIBUTE_PART}-{YOUR_GENERATED_UID}
因此,您可以存储生成的 UID 并知道 COMMON_ATTRIBUTE_PART,您可以稍后搜索密钥。这样您就不必依赖钥匙串生成的 UUID。
推荐阅读
- python - sklearn 中梯度提升的基础学习者
- microservices - 当两个微服务托管在同一台机器上与分布式时,它们如何进行通信?
- android - Android Room @field 是什么意思
- git - 设置 GIT 和 CICD 多个 Shopify 站点
- ios - 如何通过 ios UITest 中的 testID 获取 React Native TextInput
- r - 使用 [[ vs [ 和 NULL 列出索引
- r - 在R中将多个字符列转换为数字
- python - SQLite3 将列参数作为变量传递
- reactjs - 我在 usestate 中有数组,我从函数中更改了值,但 dosnt 工作 - 反应原生钩子
- vue.js - VueJS 组件 ref 组件根本无法访问