繁体   English   中英

如何获取在 iOS Keychain 中创建和存储的密钥的唯一标识符

[英]How to get a unique identifier of a key created and stored in iOS Keychain

当我使用SecKeyCreateRandomKey在 Keychain 中创建一个新密钥时,我想获取此密钥的UUID (或任何其他唯一id )并使用此id将来在 Keychain 中搜索此密钥。 我该怎么做?

到目前为止,我只设法提供kSecAttrApplicationTag作为未来查询的属性,但此解决方案存在问题,因为可以使用此标记创建任意数量的密钥。

在查看密钥如何存储在钥匙串数据库中时,我看到那里有一个UUID字段,但我找不到在应用程序级别访问它的方法。

在此处输入图像描述

为此,我使用了钥匙串第三个库,如果您觉得方便,请检查一下,我认为它很简单,而且最适合您的场景。 https://github.com/evgenyneu/keychain-swift

您可以使用kSecAttrApplicationTag来存储具有您可以独立生成的唯一 UID 的自定义方案。

例子:

kSecAttrApplicationTag -> {COMMON_ATTRIBUTE_PART}-{YOUR_GENERATED_UID}

因此,您可以存储生成的 UID 并知道 COMMON_ATTRIBUTE_PART 以后可以搜索密钥。 这样你就不必依赖钥匙串生成的 UUID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM