在 NativeScript 插件中为 iOS 生成 EC 密钥对

大卫·阿特曼

序言:我试图在我的 NativeScript 插件中创建一个椭圆曲线密钥对(因此我被迫使用 Objective-C)用于签名和验证目的。

起初,我想说下面呈现的状态是通过以不同方式进行的大量尝试的结果(不幸的是,我已经坐了好几天了)而且我不仅考虑了这种方法。在这个项目开始时,我只是简单地遵循了 Apple 文档,并认为我会很容易成功。多么错误的信念。

我的要求:为了方便起见,我想将私钥存储在钥匙串中(下一步将是 Secure Enclave),并SecKeyCopyPublicKey在我通过检索密钥后计算公钥SecItemCopyMatching,如Apple 文档中所述

现状:这个模型最初来自这里我从未使用过它,SecKeyCreateRandomKey因此我尝试使用SecKeyGeneratePairatm。我目前实现的内容是这样的:

const privAttr: NSMutableDictionary<string, any> = NSMutableDictionary.new<string, any>();
privAttr.setObjectForKey("my.tag.sign.private", kSecAttrApplicationTag);
privAttr.setObjectForKey(kCFBooleanTrue, kSecAttrIsPermanent);

const pubAttr: NSMutableDictionary<string, any> = NSMutableDictionary.new<string, any>();
pubAttr.setObjectForKey("my.tag.sign.public", kSecAttrApplicationTag);
pubAttr.setObjectForKey(kCFBooleanTrue, kSecAttrIsPermanent);

const param: NSMutableDictionary<string, any> = NSMutableDictionary.new<string, any>();
param.setObjectForKey(kSecAttrKeyTypeECSECPrimeRandom, kSecAttrKeyType);
param.setObjectForKey(256, kSecAttrKeySizeInBits);
param.setObjectForKey(privAttr, kSecPrivateKeyAttrs);
param.setObjectForKey(pubAttr, kSecPublicKeyAttrs);

let pubKeyRef = new interop.Reference<any>();
let privKeyRef = new interop.Reference<any>();
const status = SecKeyGeneratePair(param, pubKeyRef, privKeyRef);

目前我收到错误 -50。根据OSStatus.com,这意味着我给定的参数在某些时候无效。我不知道到底是什么问题。

我的问题:如何生成一个密钥对,其中至少将私钥隐式存储在钥匙串中,然后我可以成功地检索公钥SecKeyCopyPublicKey

感谢您提供任何宝贵的提示和帮助。

诚挚的,大卫

大卫·阿特曼

在尝试了几种设置后,我找到了解决方案。我的回答记录在以下GitHub 问题中

最好的问候,大卫

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为SSH生成密钥

来自分类Dev

为 iOS 运行 Nativescript OCR 插件时的问题

来自分类Dev

如何在 iOS 密钥生成上调整密钥派生迭代?

来自分类Dev

javascript和iOS中的PBKDF2哈希生成不同的密钥

来自分类Dev

如何使用Web Crypto生成密钥对并在Firefox插件中访问其密钥?

来自分类Dev

生成主密钥而不将其设置为密钥

来自分类Dev

流利的nhibernate sqlstring为密钥生成问号

来自分类Dev

为Android移动应用生成哈希密钥

来自分类Dev

为Active Directory用户生成密钥表?

来自分类Dev

为 Android 中的 Facebook 集成生成调试密钥

来自分类Dev

生成对称密钥并存储在android密钥库中

来自分类Dev

在iOS中使用SecRandomCopyBytes()随机生成256位密钥

来自分类Dev

将es生成的密钥放入文件中

来自分类Dev

.txt文件中的密钥生成器

来自分类Dev

如何控制Mule缓存中的密钥生成

来自分类Dev

从 libsodium 中的密码短语生成密钥对

来自分类Dev

在Windows中为PhoneGap构建iOS签名密钥

来自分类Dev

OpenSSL在C中使用RAW EC生成的密钥进行签名和验证

来自分类Dev

EC2如何从密钥对中安装公钥?

来自分类Dev

AWS EC2密钥对中包含哪些信息?

来自分类Dev

在Xamarin中为IOS生成PDF

来自分类Dev

如何使用JavaCard中的现有密钥对初始化EC密钥对?

来自分类Dev

为什么ReactJS不自动为动态子代生成密钥?

来自分类Dev

在OS X 10.11上为GitLab生成SSH密钥

来自分类Dev

以编程方式为 Firebase 生成服务器密钥

来自分类Dev

如何使用 puttygen 为 git 生成 ssh 密钥

来自分类Dev

为 RSACryptoProvider 和 BouncyCastle 生成密钥/加密/解密

来自分类Dev

为Linux服务器添加ssh密钥文件-密钥生成了,那又如何呢?

来自分类Dev

如何通过Rundeck AWS EC2资源插件使用特定于节点的SSH密钥?

Related 相关文章

  1. 1

    为SSH生成密钥

  2. 2

    为 iOS 运行 Nativescript OCR 插件时的问题

  3. 3

    如何在 iOS 密钥生成上调整密钥派生迭代?

  4. 4

    javascript和iOS中的PBKDF2哈希生成不同的密钥

  5. 5

    如何使用Web Crypto生成密钥对并在Firefox插件中访问其密钥?

  6. 6

    生成主密钥而不将其设置为密钥

  7. 7

    流利的nhibernate sqlstring为密钥生成问号

  8. 8

    为Android移动应用生成哈希密钥

  9. 9

    为Active Directory用户生成密钥表?

  10. 10

    为 Android 中的 Facebook 集成生成调试密钥

  11. 11

    生成对称密钥并存储在android密钥库中

  12. 12

    在iOS中使用SecRandomCopyBytes()随机生成256位密钥

  13. 13

    将es生成的密钥放入文件中

  14. 14

    .txt文件中的密钥生成器

  15. 15

    如何控制Mule缓存中的密钥生成

  16. 16

    从 libsodium 中的密码短语生成密钥对

  17. 17

    在Windows中为PhoneGap构建iOS签名密钥

  18. 18

    OpenSSL在C中使用RAW EC生成的密钥进行签名和验证

  19. 19

    EC2如何从密钥对中安装公钥?

  20. 20

    AWS EC2密钥对中包含哪些信息?

  21. 21

    在Xamarin中为IOS生成PDF

  22. 22

    如何使用JavaCard中的现有密钥对初始化EC密钥对?

  23. 23

    为什么ReactJS不自动为动态子代生成密钥?

  24. 24

    在OS X 10.11上为GitLab生成SSH密钥

  25. 25

    以编程方式为 Firebase 生成服务器密钥

  26. 26

    如何使用 puttygen 为 git 生成 ssh 密钥

  27. 27

    为 RSACryptoProvider 和 BouncyCastle 生成密钥/加密/解密

  28. 28

    为Linux服务器添加ssh密钥文件-密钥生成了,那又如何呢?

  29. 29

    如何通过Rundeck AWS EC2资源插件使用特定于节点的SSH密钥?

热门标签

归档