这个问题非常直接。仅仅使用SecurityFramework应用程序接口就可以在osx中创建x509证书。我想用我用SecKeyGeneratePair生成的publicKey创建证书。
到目前为止,我只在文档中找到了方法SecCertificateCreateWithData,但它已经需要一个x509证书作为参数,所以这对我来说没有用。我找不到任何可以从头开始创建证书的方法。另外,我对这个话题不是很有经验,所以我很可能在这里遗漏了一些东西。任何帮助都是非常感谢的。
另外,我的项目不支持使用openSSL或任何不推荐使用的应用程序接口。
我已经遇到了这个问题,Creating x509 certificates programmatically in Objective-C using the Security Framework,但由于这是一年前的事情,我想知道现在是否有可能这样做,
发布于 2016-06-09 20:11:47
我认为使用安全框架实际上是不可能的。AFAICT,在iOS/OSX上要做到这一点,唯一的方法是使用(不推荐使用的) CDSA库或(不推荐使用的) OpenSSL库。
在https://github.com/snej/MYCrypto上有一个库可以做到这一点,但它使用了一些(不推荐使用的) CDSA/CSSA调用,并依赖于同一作者的许多实用程序/库函数,我发现这些函数没有什么帮助。
我建议您在bugreporter.apple.com上提交一个bug,以表达您希望能够生成x.509证书的愿望。我有过!
编辑: MYCrypto作者(snej)还有一个简化版本MYAnonymousIdentity,它接受预先创建的x.509自签名证书,并使用最少的SDK调用将新的RSA key/签名注入现有证书。它还使用了他的一些实用程序/库,但我已经为我自己的项目剥离了所有这些东西,您可以在以下位置找到修改后的代码、我用来生成预装证书的脚本(以及包含所有修改偏移量的头文件):https://github.com/Hammerspoon/hammerspoon/tree/master/extensions/httpserver
发自:
Creating x509 certificates programmatically in Objective-C using the Security Framework
https://stackoverflow.com/questions/37725410
复制相似问题