【发布时间】:2021-02-08 05:51:46
【问题描述】:
当我将 Xcode 版本更新到 11.4 或更高版本时,我遇到了一个问题。 该项目在调试模式下运行良好。
创建了一个密钥对,然后通过私钥对数据进行签名并将其发送到服务器。最后,服务器可以通过公钥验证签名数据。
但是当我转到发布模式时,服务器无法再验证签名数据。
两种模式下的私钥相同。
有了这个私钥,我已经切换到 Xcode 11.3 或更早版本,一切都像一个魅力,我不知道。
PS:由于我的应用程序致力于创建密钥对 (ECDSA),因此与签名数据有关的部分可能无法正常工作。
我已经尝试过这种方式,我在两种模式(调试和发布)下为所有属性设置了相同的值,但问题仍然存在。
更新:如果我知道 Xcode 11.3 和 11.4 或更高版本之间的不同之处,那可能会有所帮助。
如果您需要更多信息,请告诉我。 提前致谢。
【问题讨论】:
-
请提供比“不起作用”更多的信息。您在控制台日志中收到什么消息?它会崩溃吗?什么是异常消息?它是否运行但没有产生正确的输出或行为?如果是,请显示相关代码。
-
@Paulw11 感谢您的通知,我已经添加了一些信息,而且,在我看来,它与代码无关,但如果您认为它会更好,我可以添加它可预见的未来。
-
@Paulw11自从我编辑了我的帖子后,我想它需要一些时间才能出现。顺便说一句,在调试模式下创建了一个密钥对,签名功能工作正常,服务器验证签名数据没有任何问题,但是当我转向发布模式时,相同的代码相同的私钥和相同的签名功能看起来工作正常,但服务器可以'不验证签名数据。
-
我建议你检查两个Xcode版本中的优化设置;也许这导致了你的问题。如果您可以创建一个重现故障的minimal reproducible example,那么人们会更容易帮助您。
-
@Paulw11谢谢 Paul,我会检查优化设置。关于最小可重现示例,我可以在客户端(iPhone)上准备一个 empale,但我必须与服务器端协调才能将响应发送到最小应用程序。所以让我检查一下,我会尽快告诉你。
标签: ios xcode cryptography xcode11.3 xcode11.4