【问题标题】:Code signing issue with 3rd party lib3rd 方库的代码签名问题
【发布时间】:2014-11-12 15:43:31
【问题描述】:

在我的应用程序中,我有一个相对较长的库链,它们相互调用,从优胜美地开始,由于代码签名问题,它的部分功能被破坏了。这一切都在 Maveric 上运行良好。

我的 cocoa 应用程序使用 Java 运行单独的代码部分,这是访问 java 库 (hbci4java.jar) 所必需的。然后这个库使用 jni 调用我提供的包装器 dylib 来访问系统的 PCSC.framework(智能卡)。

自从优胜美地这不再起作用了,可能是因为这个:

28.10.14 15:29:17,096 com.apple.ctkpcscd[40978]:拒绝没有 com.apple.security.smartcard 权利的沙盒 PCSC.framework 客户端

到目前为止很容易。我将此智能卡权利添加到应用程序权利以及我为 java 拥有的权利中(有一个单独的 java.entitlements 文件) - 无济于事。

我现在有点卡住了,不知道如何继续。没有提到智能卡权利,所以我不知道实际设置什么(我使用了 bool 和 YES),也不知道必须在哪里设置。

是否可以向 3rd 方库添加权利?我想尝试将它添加到包装器 dylib(由我签名)中,看看它是否可以正确访问 PCSC.framework?

【问题讨论】:

    标签: java xcode code-signing osx-yosemite


    【解决方案1】:

    https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html

    如果您正在查看代码签名问题,我认为此链接是您应该阅读的来源。关于第三方库有一个简介:

    Apple uses the industry-standard form and format of code signing certificates. Therefore, if your company already has a third-party signing identity that you use to sign code on other systems, you can use it with the OS X codesign command. Similarly, if your company is a certificate issuing authority, contact your IT department to find out how to get a signing certificate issued by your company.

    这里是权利和代码签名的“幕后”解释。我发现它提供了很多信息,并认为它也可能使您受益。

    http://www.raywenderlich.com/2915/ios-code-signing-under-the-hood

    如果这些信息不能准确回答您的问题,我希望它至少能让您走上正轨。干杯!

    【讨论】:

    • 感谢您的提示。我知道您链接的页面,并且通常在代码签名方面没有问题。就是这个特殊的app -> java -> jni -> dylib权限问题。
    【解决方案2】:

    事实证明,这是一个涉及智能卡 dylib 的非常特殊的问题。 Apple 决定不允许在已签名的应用程序之外访问它(这在开发过程中很麻烦,我们只在部署阶段对应用程序进行签名)。对 Java 二进制文件(jar + dylib)进行签名并没有什么不同,但是对于我们进一步获得的 Java 文件没有权利 + 签名(对子组件进行签名不再有问题)。

    在这里起作用的另一个问题是,智能卡权利的继承似乎不起作用(这也使得这对于沙盒应用程序也不起作用)。然而,对于一个简单的纯可可应用程序,访问智能卡是可行的,因此我们需要一个不同的解决方案(可能将智能卡的访问层移动到应用程序中,并通过回调与 Java 部分进行通信)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      相关资源
      最近更新 更多