1

这个问题很简单。如何仅使用 SecurityFramework API 在 osx 中创建 x509 证书。我想用我用 SecKeyGeneratePair 生成的公钥创建证书。

到目前为止,我只在文档中找到了方法 SecCertificateCreateWithData,但这已经需要一个 x509 证书作为参数,所以这对我来说不起作用。我找不到任何可以从头开始创建证书的方法。我对这个话题也不是很有经验,所以我很可能在这里遗漏了一些东西。任何帮助是极大的赞赏。

我的项目也不能选择使用 openSSL 或任何已弃用的 API。

我已经遇到过这个问题,在 Objective-C 中使用安全框架以编程方式创建 x509 证书,但是由于这已经有一年了,我想知道现在是否有可能这样做,

4

1 回答 1

1

我认为使用安全框架实际上是不可能的。AFAICT,在 iOS/OSX 上执行此操作的唯一方法是使用(已弃用)CDSA 库或(已弃用)OpenSSL 库。

https://github.com/snej/MYCrypto上有一个库可以做到这一点,但它使用了一些(已弃用的)CDSA/CSSA 调用,并且依赖于同一作者的许多实用程序/库函数,其中我发现没用。

我建议您在 bugreporter.apple.com 上提交一个错误,以表达您希望能够生成 x.509 证书的愿望。我有!

编辑:MYCrypto 作者(snej)还有一个简化版本,MYAnonymousIdentity,它采用预先创建的 x.509 自签名证书,并使用最少的 SDK 调用将新的 RSA 密钥/签名注入现有证书。它还使用了他的一些实用程序/库的东西,但我已经为我自己的项目剥离了所有这些,你可以找到修改后的代码,我用来生成预装证书的脚本(以及一个包含所有修改的偏移量)在:https ://github.com/Hammerspoon/hammerspoon/tree/master/extensions/httpserver

来自:
使用安全框架在 Objective-C 中以编程方式创建 x509 证书

于 2016-06-09T12:11:46.527 回答