gpt4 book ai didi

iOS:SecRSAPublicKeyCopyPublicSerialization?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:05:28 25 4
gpt4 key购买 nike

我正在尝试固定公钥。我有一个 SecKeyRef,我想用 SecRSAPublicKeyCopyPublicSerialization 序列化它。 SecRSAPublicKeyCopyPublicSerialization 将在 PKCS#1 中序列化(即 SubjectPublicKeyInfo),该函数记录在 http://www.opensource.apple.com/source/Security/Security-55163.44/sec/Security/SecRSAKey.c 中.

PKCS#1 是公钥的 ASN.1 编码(即 SubjectPublicKeyInfo)。该格式适合固定。对于那些不熟悉的人来说,固定是主机的预期证书或公钥的白名单。在识别主机时,它们通常可以互换,但在某些情况下它们不能互换。例如,Google 的公钥是静态的(固定的),但 Google 会轮换“外部”X509 证书。在这种情况下,您将锁定公钥,而不是证书。

SecRSAPublicKeyCopyPublicSerialization 的正确 header 和框架是什么?我包含了 Security.framework,但缺少 SecRSAPublicKeyCopyPublicSerialization 的声明,并且在链接期间缺少函数。我确实尝试包含 SecRSAKey.h

对不起那些糟糕的标签。

杰夫

最佳答案

static OSStatus SecRSAPublicKeyCopyPublicSerialization(SecKeyRef key, CFDataRef* serialized)

是安全框架内部使用的静态函数,你不能从框架外调用这个函数。

看看SecItemExport .此函数可以将 SecKeyRef 转换为不同的外部表示形式。

更新:我错过了 在问题中标记。 SecItemExport 仅适用于 OSX 10.7 及更高版本,不适用于 iOS。

在 iOS 上,(我认为)您必须将 key 添加到 KeyChain (SecItemAdd),然后使用 SecItemCopyMatching()(使用 kSecReturnData 设置为 YES) 以检索原始数据。

SecKeyWrapper.m 中的getPublicKeyRef 方法“CryptoExercise”示例项目可能会有所帮助。

关于iOS:SecRSAPublicKeyCopyPublicSerialization?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14747678/

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