问题标签 [seckeyref]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
163 浏览

swift - 如何获取 SecKey 中使用的加密类型?

我从给定的证书中获得了一个 SecKey。根据证书,SecKey 可以使用 RSA 或 EllipticCurve 加密。

一旦我打印了 publicKey,它就会给我:SecKeyRef algorithm id: 1, key type: RSAPublicKey, version: 4, block size: 2048 bits, exponent: {hex: 10001, decimal: 65537}, modules: , addr: 0x7f7fba5arerw34,其中它特别说明了它的类型为 RSAPublicKey。

有没有办法获得使用的加密类型?

0 投票
1 回答
239 浏览

c++ - 无法成功调用 SecItemAdd

我正在尝试通过 C++ API 在 macOS 中的钥匙串中添加一个简单的字符串密码。不幸的是,我无法SecItemAdd接到上班的电话。我知道这是因为我的kSecValueRef键值是错误的类型,但到目前为止,Google/ Apple 文档/现有的 StackOverflow 问题尚未向我揭示我应该使用什么类型,以及如何创建它。这是我到目前为止所拥有的:

那么我应该为我的kSecValueRef? 我尝试过引用 CFStringRef,但这没有用。我还在Apple 文档中看到它说:

对应的值取决于所请求的项目类,其类型为 SecKeychainItem、SecKey、SecCertificate 或 SecIdentity。

但是我没有,SecKeychainItem因为我还没有添加该项目,而且其他类型似乎不适用于普通字符串。

想法?

0 投票
1 回答
464 浏览

swift - 将 SecKey 保存和读取到钥匙串

我将钥匙保存到钥匙串并读回以比较结果。问题是:价值观现在不同了。知道有什么问题吗?

这是我读取和写入 SecKey 的方式:

这是我的测试:

x、y 和 d 的值不同。crv还是一样的。

0 投票
1 回答
377 浏览

ios - Is there any way to get the key type of a SecKey?

Given a SecKey, is there any way to infer its type (e.g. whether it is kSecAttrKeyTypeRSA or kSecAttrKeyTypeEC)?

I see SecKeyGetTypeID(), but it is unclear to me what key object this function operates on as it accepts no parameters.

0 投票
0 回答
1123 浏览

swift - 使用 SecKeyCreateWithData 创建 secKey 表单数据/十六进制/字节给 nil

我是加密新手。我想seckey从数据中创建公共,但我总是得到零。请帮我。我需要这个公钥seckey来创建一个shared secrete key,但我总是得到 nil 。我如何将数据转换为seckey

以下是参考代码。我正在使用快速语言。

更新

以下是我要转换为 seckey 的字节:

}

下面我生成一对密钥:

0 投票
1 回答
374 浏览

ios - 如何修复“无法转换 'UnsafeMutablePointer' 类型的值”错误?

我正在尝试为 Swift iOS 应用程序生成和获取密钥对信息,并且在设置时遇到UnsafeMutablePointer以下错误:

无法将“UnsafeMutablePointer<_>”类型的值转换为预期的参数类型“UnsafeMutablePointer<CFTypeRef?>?” (又名'可选<UnsafeMutablePointer<可选<AnyObject>>>')

我正在尝试利用以下 StackOverflow 讨论来使其正常工作: Generate a CSR in iOS Library?

我的问题是如何明确设置值来纠正这个错误?

以下是我尝试使用的以下代码:

0 投票
0 回答
499 浏览

swift - SecKeyVerifySignature 失败 ecdsaSignatureDigestX962

我正在尝试使用 Apple 工具通过椭圆曲线算法签署和验证挑战。

使用SecKeyCreateWithData我可以使用/导入已经生成的公钥/私钥,这很好用。然后我调用带有参数的sign() 函数SecKeyAlgorithm。在我的情况下是 ecdsaSignatureDigestX962,因为我使用 secp256r1 曲线(NIST P-256)。所以签名没有失败,但验证总是崩溃:

Can't verify/wrong signature Unmanaged<CFErrorRef>(_value: Error Domain=NSOSStatusErrorDomain Code=-67808 "EC signature verification failed (ccerr -7)" UserInfo={NSDescription=EC signature verification failed (ccerr -7)})

如果有人有想法,这是我的完整代码:

0 投票
0 回答
49 浏览

ios - 存储SecCertificate和SecKey时如何获取SecIdentity?

我在 iOS 上的钥匙串中添加了一个SecCertificateBEGIN CERTIFICATE部分外)和一个SecKey(部分);BEGIN PRIVATE KEY稍后,我需要一个SecIdentity(因为didReceive:URLChallenge.

但是如何从钥匙串中获取身份?我了解到它基本上是证书和密钥的组合,但我只发现 API 做相反的事情:从身份获取私钥或证书,而不是反过来......

0 投票
1 回答
234 浏览

ios - 快速将 ECPublicKey(SecKey) 转换为 PEM 字符串

我想将 ECPublicKey 转换为 PEM 格式,如下所示

"-----开始公钥-----MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEo0WcFrFClvBE8iZ1Gdlj+mTgZoJWMNE3kDKTfRny2iaguwuSYxo+jCnXqzkR+kyFK9CR3D+pypD1sGb1BnfWAA==-----结束公钥-----"

  1. 使用密钥类型“ECC/ECDSA/spec256r1”生成 ECPublicKey。下面是印刷品

<SecKeyRef curve type: kSecECCurveSecp256r1, algorithm id: 3, key type: ECPublicKey, version: 4, block size: 256 bits, y: B6EEBB3791933312E10BD7C3D65C950AB7E1C325BCDB57A8663EB7B1E29BFA77, x: 1D41FDAD2137316D415B117227BCC465566E56A54E7B2B9B3A4B66C15A067611, addr: 0x7f818850f6d0>

  1. 据我所知,PEM 格式只不过是 base64 编码的字符串以及页眉和页脚。尝试以下代码,但没有成功

在这里感谢任何帮助