传递给函数的一个或多个参数无效

问题描述 投票:0回答:2

我正在尝试从 Keychain 应用程序将证书导入 iOS 模拟器。当我将证书拖放到模拟器中时。它显示了这个弹出窗口。

重要观察

当我拖放 根证书 时,它已成功导入,但是当我尝试使用 标准证书 进行相同操作时,它无法做到这一点。

蓝色证书是:标准证书
黄金证书是:根证书

ios ios-simulator keychain
2个回答
4
投票

这可能是由

errSecParam
框架中的
Security
引起的。您的证书包含钥匙串不支持的项目,或者格式是钥匙串无法解码的内容。

您可以尝试将您的证书从 PEM/NET 转换为 DER,然后再次尝试导入。这样做的 OpenSSL 命令是:

openssl x509 -inform PEM -outform DER -in <cert_file> -out <cert_out_file>


0
投票

我可以通过简单地将文件从

.cer
重命名为
.der
来让它工作。

首先,从 Keychain Access 导出(这使得证书为 DER 格式)。

仍然,iOS Simulator 似乎对可以通过拖放安装的证书非常挑剔。

  • 根证书:
    .cer
  • 中级证书:
    .der

两个文件都是 DER 格式,但显然文件扩展名是 Simulator 使用的。

添加中间证书后,转到“设置”>“常规”>“设备管理”并安装配置文件(感谢@James 对其他答案的评论)。

© www.soinside.com 2019 - 2024. All rights reserved.