Cómo get acceso al certificate de desarrollador de iOS desde el código

¿Hay alguna forma de saber con qué firma de la aplicación se firmó?

Quiero proteger la aplicación de renunciar con otro certificate de desarrollador.

Digamos que tenemos una aplicación cliente-server. Y el server conserva esa key única , asociada con el Certificado de desarrollador.

Entonces, con cada request al server, pasaremos esta key, y si la aplicación se volverá a ensamblar con el certificate de otro desarrollador, entonces el server lo sabrá.

¿Esto es posible? ¿O puede haber otra forma de proteger de la dimisión?

Puede conocer el certificate y el perfil de aprovisionamiento utilizado para firmar la aplicación parsing manualmente los datos en el file embedded.mobileprovision que está incluido en el package de la aplicación. Si mira a través del file, verá información sobre el certificate y el perfil de aprovisionamiento.

A continuación, se muestra un ejemplo de cómo get datos de perfil embeddeds desde su aplicación mediante progtwigción:

 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 structunetworking. 

SIN EMBARGO:

No estoy seguro de por qué debería hacerlo, ya que nadie puede volver a firmar su aplicación a less que tengan el certificate adecuado para que coincida con el perfil de aprovisionamiento hecho para el ID de package de su aplicación.

La única forma de conseguirlo es tener cnetworkingenciales para la count de desarrollador de Apple que posee la ID de package o si alguien tiene acceso a su certificate y perfil de aprovisionamiento.

Si ocurriera esto último, creo que debería revocar ese perfil de aprovisionamiento desde la count de desarrollador de Apple y crear uno nuevo para evitar la violación de security. De esta manera, siempre que tenga acceso a la count del desarrollador, siempre puede pisar una brecha de security de esa manera, en lugar de escribir un código entre el cliente y el server para verificarlo.