在os x中创建DER证书

时间:2016-06-09 12:00:39

标签: objective-c macos security-framework

问题非常简单。如何仅使用SecurityFramework API在osx中​​创建x509证书是可能的。我想用我用SecKeyGeneratePair生成的publicKey创建证书。

到目前为止,我只在文档中找到了SecCertificateCreateWithData方法,但是这需要一个x509证书作为参数,所以这对我来说并不起作用。我无法找到任何可以从头创建证书的方法。我也不是很熟悉这个话题,所以很可能我在这里遗漏了一些东西。非常感谢任何帮助。

同样使用openSSL或任何弃用的API不是我项目的选项。

我已经遇到过这个问题Creating x509 certificates programmatically in Objective-C using the Security Framework,但是因为这已经有一年了,我想知道现在是否有可能做到这一点,

1 个答案:

答案 0 :(得分: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

自:
Creating x509 certificates programmatically in Objective-C using the Security Framework