wir*_*uzx 6 security iphone-developer-program code-signing-certificate ios
有没有办法知道哪个证书应用程序已签名?
我想保护应用程序免于与其他开发人员证书一起辞职.
假设我们有客户端 - 服务器应用程序.并且服务器保留与开发者证书相关联的唯一密钥.
因此,对于服务器的每个请求,我们将传递此密钥,如果应用程序将与另一个开发人员的证书重新组装,那么服务器将知道这一点.
这个有可能?或者可能有另一种方法来防止辞职?
embedded.mobileprovision您可以通过手动解析应用程序包中包含的文件中的数据来了解用于对应用程序进行签名的证书和配置文件。如果您查看该文件,您将看到有关证书和配置文件的信息。
以下是如何以编程方式从应用程序中获取嵌入的配置文件数据的示例:
NSString* bundleDirectory = [[NSBundle mainBundle] bundlePath];
NSString* db = [NSString stringWithFormat:@"%@/embedded.mobileprovision", bundleDirectory];
NSData* data = [NSData dataWithContentsOfFile:db];
// parse through the data to get your provisioning profile info. I'd recommend opening up the profile that is inside your .app to see how it is structured.
Run Code Online (Sandbox Code Playgroud)
然而:
我不确定您为什么需要这样做,因为没有人可以重新签署您的应用程序,除非他们拥有正确的证书来匹配为您的应用程序的捆绑 ID 制作的配置文件。
获得此信息的唯一方法是拥有拥有捆绑 ID 的 Apple 开发者帐户的凭据,或者如果有人“访问”您的证书和配置文件。
如果发生后者,我认为您应该从苹果开发者帐户中撤销该配置文件,并创建一个新的配置文件来解决安全漏洞。这样,只要您有权访问开发人员帐户,您就可以随时踩踏此类安全漏洞,而不是在客户端和服务器之间编写代码来检查它。
| 归档时间: |
|
| 查看次数: |
914 次 |
| 最近记录: |