我正在使用 Visual Studio 2017 (15.6.5) 并有一个基于 .NET 标准的 xamarin 解决方案,其中包含一个 android 和 iOS 项目。
我正在使用 Visual Studio Online CI 来(尝试)构建 iOS 应用程序。在开发中一切正常。我很满意我正确设置了证书、应用程序、设备和配置文件。
我无法在线使用 Visual Studio 进行构建。当我们得到将 p12 证书导入临时钥匙串的部分时,我得到了错误
安全性:SecKeychainItemImport:导入中的未知格式。
我正在使用 VSTS 提供的预览版 mac 代理。我使用 MSBuild 作为构建代理选项。我将 p12 证书存储为 blob 并使用 curl 下载。
运行命令时
/usr/bin/security create-keychain -p _xamariniostask_TmpKeychain_Pwd#1 /Users/vsts/agent/2.131.0/work/1/s/_xamariniostasktmp.keychain
/usr/bin/security set-keychain-settings -lut 7200 /Users/vsts/agent/2.131.0/work/1/s/_xamariniostasktmp.keychain
/usr/bin/security unlock-keychain -p _xamariniostask_TmpKeychain_Pwd#1 /Users/vsts/agent/2.131.0/work/1/s/_xamariniostasktmp.keychain
/usr/bin/security import /Users/vsts/agent/2.131.0/work/1/s/FILENAME.p12 -P PASSWORD -A -t cert -f pkcs12 -k /Users/vsts/agent/2.131.0/work/1/s/_xamariniostasktmp.keychain
在我的 mac 构建机器上,一切都很好。我难住了。
我猜
- 我没有正确导出证书,但它可以在构建机器上运行
- 通过互联网从 blob 存储或从 mac 到 windows 上传和下载(以便将其放入 blob 存储)会导致一些损坏?
- 与不在同一台机器上有关
任何人都可以帮忙吗?我不确定我失败的技术是什么?
我通过在“我的证书”中导出分发证书来使用 Mac 上的钥匙串访问创建 P12 证书,并尝试了在苹果开发者门户上创建的开发和分发证书。我已经导出了“父”证书和私钥。结果都是一样的。