Soru .İpa'yı imzalamak için hangi profil / imzalama sertifikası kullanıldığını nasıl anlarım?


Bir sürü .ipa dosyam var ve bunları istemek için bir senaryo kullandım.

Öyleyse, doğru bilgileri kullandıklarına uygunluk sağlama / imzalama sertifikasını nasıl kontrol edebilirim?

İdeal olarak, herhangi bir .ipa dosyasını alıp imzalamak için hangi provizyon profilinin / imzalama sertifikasının kullanıldığını söylemek isterim.

backstory: Kurumsal dağıtım sertifikamızın süresi dolmak üzere ve ürünlerimizi yeniden imzalamak istiyorum. Xcode'da yaptığımız ve arşivlediğimiz her şey için basit bir geri dönüş, ancak 3. parti satıcı için dağıtım yapabilenler bunu yapamam. Yeniden imzalanmış bir .ipa dosyası istemekten kaçınmak istiyorum çünkü yeni bir .ipa belki bilinmeyen değişiklikler içeriyor ve sorunları tanıtıyorlar ve muhtemelen bizi de suçlayabiliyorlardı ... ama ilk konu hakkında daha çok endişeliyim.

Hem eski hem de yeni dağıtım sertifikalarımız hala geçerli olduğundan (6 ay üst üste bindirme), yeni olanın kullanıldığını teyit edebilmem gerekiyor, aksi halde eski olanın süresi dolduğunda ve "istifa" senaryosunun ne zaman gerçekleştiğine gerçekten aptalca görünüyordum Aslında işi yap.


44
2018-02-14 17:58


Menşei




Cevaplar:


Temel Hazırlık Profilleri, Terminal komutunu kullanarak görülebilen bir UUID'e sahiptir:

güvenlik cms -D-i (path_to_your_provisioning_profile)

Komut çıktısının UUID bölümünü şu şekilde görün:

<key>UUID</key> <string>A008C022-7B82-4E40-8B37-172763E1E3CC</string>

Xcode, uygulamayı .app paketinde imzalamak için kullanılan temel hazırlık profilini ekler. Bulmak için, .ipa'yı .zip olarak yeniden adlandırın, Finder ile açın, .app dosyasını / Payload dizininde bulun. .App dosyasındaki "Paket İçeriğini Göster" ve ad ile temel hazırlık profilini bulun embedded.mobileprovision.

Yukarıdaki komutu kullanarak yetkilerini boşaltın ve profilinizde bulunan UUID ile Xcode Organizer> Devices sekmesi> "Library" altındaki Provisioning Profil bölümündeki profillerle karşılaştırın. Diskteki konumlarını ortaya çıkarmak için "Finder in Finder" ı kullanabilirsiniz.


60
2018-02-14 22:44



Bu, başlamak için sınamak için bir acıydı, ama bir .ipa, hazırlama profilinin adını çekip son kullanma tarihini kontrol eden bir komut dosyası yazdım, böylece daha hızlı test için bunu otomatik hale getirebileceğim. Yani benim için ... bu daha iyi bir çözüm olacak. - DBD
Bu komut satırı çıktı verir: "güvenlik: kod çözücüye veri eklenemedi: UNKNOWN (-8183 (d) Veriyolu hatası: 10" - Adam
Adam - embedded.mobileprovision kodunu çözdüğünüzden ve ipa'nın kendisinin değil. - BuvinJ
Tamamlayıcı: Geliştirici portaldan bir temel hazırlık profilinin UDID'sini nasıl görüyorsunuz? - Robert Atkins
Bu size hangi sertifikanın kullanıldığını anlatıyor? Burada gördüğüm tek şey, temel hazırlık profilini nasıl tanımlayacağım? - Logicsaurus Rex


Partiye geç kaldı.

Ama bu araç bana biraz zaman kazandırıyor: göçebe / Shenzhen

$ ipa info /path/to/app.ipa

+-----------------------------+----------------------------------------------------------+
| ApplicationIdentifierPrefix | DJ73OPSO53                                               |
| CreationDate                | 2014-03-26T02:53:00+00:00                                |
| Entitlements                | application-identifier: DJ73OPSO53.com.nomad.shenzhen    |
|                             | aps-environment: production                              |
|                             | get-task-allow: false                                    |
|                             | keychain-access-groups: ["DJ73OPSO53.*"]                 |
| CreationDate                | 2017-03-26T02:53:00+00:00                                |
| Name                        | Shenzhen                                                 |
| TeamIdentifier              | S6ZYP4L6TY                                               |
| TimeToLive                  | 172                                                      |
| UUID                        | P7602NR3-4D34-441N-B6C9-R79395PN1OO3                     |
| Version                     | 1                                                        |
+-----------------------------+----------------------------------------------------------+

25
2018-03-19 21:29





şuna göz at: araç

Bir IPA dosyasında veya temel hazırlık profilinin üzerine dokunmak ayrıntıları gösterir

enter image description here


15
2018-02-18 16:33



High Sierra 10.13.4'te çalışmadı. Değişmiş olabilirler. - Darpan


Bobjt'in cevabına dayanarak, profilin ayrıntılarını almak için IPCU kullanmıştım:

  1. .İpa'yu .zip olarak yeniden adlandırın.
  2. Bulucu ile aç
  3. / Payload dosyasında .app dosyasını bulun.
  4. .App dosyasındaki "Paket İçeriğini Göster" ve gömme.mobilprovision adıyla temel hazırlık profilini bulun.

  5. Mobileprovisioning dosyasını iPhone Yapılandırma Yardımcı Programı'na sürükleyin

IPCU, profilin İsim / Son Kullanma Tarihini gösterir.


13
2017-08-21 14:53



Yanılmıyorsam bu araç iOS ile çalışmıyor> 8 - gnichola
@gnichola, bu adımları takip etmek için bir iPad / iPhone bağlamanıza gerek yoktur; bu nedenle iOS sürümü alakasız olmalıdır. - HaemEternal
Sanırım yorumum daha açık olabilirdi, eğer kullanabileceğin bir aracın varsa, benim problemim, araç eski bir işletim sistemi sürümü için olduğu için artık mevcut değil, ya da en azından ben onu ararken bulamadım. - gnichola
Web'den indirmeniz gerekse de (App Store'dan değil) yine de El Capitan'a yükleyip kurabilirsiniz. Alternatif olarak, profili TextEdit'te açabilir ve 'ExpirationDate' ve 'Name' gibi tuşları kontrol edebilirsiniz. - HaemEternal


Aşağıdaki işlemi kullanarak başarılı bir şekilde test edebildim.

  1. Orijinal .ipa'yı cihaza takın.
  2. Ayarlar-> Genel-> Profiller'e gidin (eski temel hazırlık profiline bakın).
  3. Uygulama ve cihazdan eski profili sil
  4. İstifa uygulaması.
  5. Yeniden imzalanmış uygulamayı cihazda yükle
  6. Ayarlar-> Genel-> Profiller'e gidin (yeni tedarik profiline bakın)

Bu, sağlama profilinin güncellendiğini ve profilde yalnızca 1 imza sertifikası bulunduğundan emin olmak için kurşun geçirmez bir yol gibi görünüyor ... o zaman yeni sertifika ile imzalanmış olmalıyız.

(ama yine de daha iyi bir yol bulmak istiyorum)


4
2018-02-14 19:48





Bobjt ve HaemEternal çözüm önerilerinin bir karışımı kullanarak sona erdi.

  1. Arşivi bulun.
  2. Paket içeriğini göster.
  3. .App dosyasını kopyala
  4. .App dosyasının paket içeriğini göster.
  5. Embedded.mobileprovision dosyasını kopyalayın.
  6. "Güvenlik cms -D-i (path_to_your_provisioning_profile)" çalıştırın.
  7. 6. adımda aramanın sonucundan UUID numarasını bulun.
  8. Iphone Yapılandırma Yardımcı Programını açın ve aynı UUID numarasına sahip olanı bulmak için profillere bakın.

4
2018-03-26 05:08