gpt4 book ai didi

security - 如何安全地存储公钥/私钥

转载 作者:行者123 更新时间:2023-12-02 08:02:24 26 4
gpt4 key购买 nike

希望在 iOS 设备上安全地存储公钥/私钥信息。我知道我想将其存储在 KeyChain 中,但是我不能 100% 确定需要在 SecRecord 中填充哪种属性。我本来打算做这样的事情:

// private key
SecKeyChain.Add(new SecRecord(SecKind.Key)
{
Accessible = SecAccessible.AlwaysThisDeviceOnly,
KeySizeInBits = 512,
KeyClass = SecKeyClass.Private,
CanSign = true,
ValueData = privateKeyValue,
Account = publicKeyValue
});

它将存储私钥,然后采用类似的公钥方法,将 Account 属性替换为用户唯一的值,例如用户名。但是,不确定这是否是正确的使用方法。

有人有关于如何专门针对 key 执行此操作的好示例吗?

最佳答案

决定采用以下方法:

// store public key
SecKeyChain.Add(new SecRecord(SecKind.Key)
{
ApplicationLabel = userName,
Accessible = SecAccessible.AlwaysThisDeviceOnly,
KeySizeInBits = 512,
KeyClass = SecKeyClass.Public,
ValueData = NSData.FromString(publicKey)
});

// store private key
SecKeyChain.Add(new SecRecord(SecKind.Key)
{
ApplicationLabel = publicKey,
Accessible = SecAccessible.AlwaysThisDeviceOnly,
KeySizeInBits = 512,
KeyClass = SecKeyClass.Private,
CanSign = true,
ValueData = NSData.FromString(secretKey)
});

这意味着每个公钥都映射到单个用户,每个私钥都映射到一个公钥,这允许我存储多个用户 key (而不是仅存储当前登录的用户)。

似乎工作正常,但是,仍然不能 100% 确定这是做这种事情的正确方法,所以一些澄清会很好。

关于security - 如何安全地存储公钥/私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12644304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com