gpt4 book ai didi

iOS如何使用SecCertificateCreateWithData

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:06 25 4
gpt4 key购买 nike

我正在为 iOS 开发 HTTPSClient。我的应用程序中有 DER 格式的 CA 证书,以便执行信任和评估。不幸的是,我无法使用 SecCertificateCreateWithData 加载证书。我的 caRef 保持为零,我没有收到错误消息。

(我从 Windows 服务器导出我的 CA 证书)

certDataRef 总是有一些字节。

我也偶然发现 Created a certificate using SecCertificateCreateWithData on iOSiPhone Simulator custom CA certificate . iOS 是否真的需要一些证书属性/扩展?还是我只需要在设备而不是模拟器上运行它?

NSData *derCA = [NSData dataWithContentsOfFile:caDerFilePath];
if (!derCA) {
return nil;
}

CFDataRef certDataRef = (__bridge_retained CFDataRef)derCA;
SecCertificateRef caRef = SecCertificateCreateWithData(kCFAllocatorDefault, (__bridge CFDataRef)(derCA));
if (!caRef) {
return nil;
}

最佳答案

如果您有 DER 格式的证书,您可以执行以下两个步骤,SecCertificateCreateWithData 将起作用。

  1. 将 DER 转换为 PEM。使用命令:openssl x509 -in urcert.der -inform DER -out urcert.pem -outform PEM
  2. 在 PEM 格式的证书中,您将拥有 ---BEGING CERT -------- END CERT ---,您必须将其剥离.您可以使用这样的命令来删除第一行和最后一行:tail -n +2 urcert.pem | head -n -1 > urcert.pem.new && mv urcert.pem.new urcert.pem

现在您可以执行加载证书所需的代码并将其提供给 SecCertificateCreateWithData。

关于iOS如何使用SecCertificateCreateWithData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24056187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com