这个问题很直接。仅使用SecurityFramework API如何在osx中创建x509证书。我想用SecKeyGeneratePair生成的公钥创建证书。
到目前为止,我只在文档中找到了SecCertificateCreateWithData方法,但这已经需要一个x509证书作为参数,所以这对我来说没有好处。我找不到任何可以从头开始创建证书的方法。此外,我对这个话题没有太多经验,所以我很可能在这里错过了一些东西。非常感谢您的帮助。
另外,对于我的项目,使用openSSL或任何不推荐使用的API都不是一个选项。
我已经遇到了这个问题,使用安全框架在Objective-C中以编程方式创建x509证书,但由于这已经一年了,我想知道现在是否有可能这样做,
我认为使用安全框架实际上是不可能的。AFAICT,在iOS/OSX上执行此操作的唯一方法是使用(不推荐使用)CDSA库或(不推荐)OpenSSL库。
有一个图书馆在https://github.com/snej/MYCrypto它可以做到这一点,但它使用了一些(不推荐使用的)CDSA/CSA调用,并且依赖于同一作者的许多实用程序/库函数,我发现这些函数毫无帮助。
我建议您在bugreporter.apple.com上提交一个bug,以表达您希望能够生成x.509证书的愿望。我有!
编辑:MYCrypto作者(snej)还有一个简化版本,MYAnonymousIdentity,它采用预先创建的x.509自签名证书,并使用最少的SDK调用将新的RSA密钥/签名注入现有证书。它还使用了他的一些实用程序/库内容,但我已经为自己的项目删除了所有这些内容,您可以在以下位置找到修改后的代码、我用于生成预录制证书的脚本(以及包含所有修改偏移量的头文件):https://github.com/Hammerspoon/hammerspoon/tree/master/extensions/httpserver
来自:
使用安全框架在Objective-C中以编程方式创建x509证书