İOS dağıtımı için P12 sertifikası nasıl oluşturulur


106

Push bildirim sertifikasının süresi dolmuş bir iOS uygulamamız var ve yeni bir tane oluşturmaya çalışıyoruz. Temel Hazırlık portalında (ios_developer.cer, ios_distribution.cer) yeni sertifikalar oluşturdum ve bunları indirdim. Yığın Taşması ile ilgili talimatları PEM'e ve ardından P12 dosyalarına dönüştürmek için buradaki talimatları izliyordum, ancak sıkıştım. Daha sonra PEM'i P12'ye dönüştürmeye çalıştığımda, bir tür özel anahtar istiyor ve onu nereden alacağımı bilmiyorum.

Bunları Anahtar Zinciri Erişimi'ne yüklemeyi de denedim. Bunları oradan P12 olarak dışa aktarabileceğinizi okudum, ancak Import'u yaptığımda hiçbir yerde görünmüyorlar.

Yanıtlar:


128

Özel anahtarınız, Anahtar Zinciri Erişimi'nde imzalama isteğini oluşturduğunuzda oluşturulur. Sertifika oluşturulduktan ve indirildikten sonra, çift tıklandığında özel anahtarla eşleştirileceği Anahtar Zinciri Erişimi'ne eklenir. Daha sonra sertifikayı seçebilir ve ayrıca özel anahtarı seçmek ve bunları Anahtar Zinciri Erişimi'nden bir .p12 dosyası olarak birlikte dışa aktarmak için oku açabilirsiniz.


12
Boşver; anladım. Adamım, insanların bununla bu kadar sorun yaşamasına şaşmamalı ... bu kafa karıştırıcı!
RobG

14
İyi olurdu ama p12 benim için gri görünüyor :(
Rob

14
@Rob, sertifikanın tamamını değil, özel anahtarı seçmeniz gerekir. Sol üstteki Anahtar Zincirlerinde "Oturum Aç" ı seçin ve ardından Kategori altında "sertifikalar" ı seçin, şimdi bir açılır ok olduğunu göreceksiniz, tıklayın ve özel anahtar sağ tıklama ve şapkayı .p12
tutts

6
Açılır seçeneği de anlamıyorum. İndirdikten sonra sertifikayı çift tıkladım ve oturum açma anahtar zincirinde görünüyor, ancak özel anahtarın altında görünmüyor. Sadece Sertifikalar altında görüyorum, görebildiğim anahtar ile sertifika arasında bağlantı yok.
setherj

6
burada aynı. Açılır
liste

76

.p12 dosyaları, uygulamayı Apple App Store'da yayınlamak için kullanılır

A. Bir (.certSigningRequest) CSR dosyası oluşturun

  1. Yardımcı Programlardan Anahtar Zinciri Erişimini Açın
  2. Anahtar Zinciri Erişimi araç çubuğundan Anahtar Zinciri Erişimi -> Tercih'i seçin
  3. Açılan pencerede Sertifikalar sekmesini seçin
  4. Hem "Çevrimiçi Sertifika Durum Protokolü" nü hem de "Sertifika İptal Listesi" ni "Kapalı" olarak ayarlayın
  5. Bu pencereyi kapat
  6. Şimdi araç çubuğundan Anahtar Zinciri Erişimi> Sertifika Yardımcısı> Sertifika Yetkilisinden Sertifika İste'yi açın
  7. İOS Geliştirici Programına kaydolmak için kullandığınız e-posta adresini ve genel adı girin
  8. CA E-postayı boş bırakın ve "Diske kaydedildi" ve "Anahtar çifti bilgilerini belirtmeme izin ver" seçeneğini seçin
  9. Devam'ı tıklayın
  10. Sabit sürücünüzde bir dosya adı ve hedef seçin
  11. Kaydet'i tıklayın
  12. Sonraki pencerede " Anahtar Boyutu" değerini "2048 bit" olarak ayarlayın
  13. Set “RSA” den “Algoritma”
  14. Devam'ı tıklayın

Bu, certSigningRequest dosyanızı (CSR) oluşturacak ve sabit sürücünüze kaydedecektir. Anahtar Zinciri Erişimi'nde Ortak Ad girilerek bir genel ve özel anahtar da oluşturulacaktır.

B. iOS geliştirici hesabında ".cer" dosyası oluşturun

  1. Apple geliştirici hesabına giriş yapın "Sertifikalar, Tanımlayıcılar ve Profiller" i tıklayın
  2. "Temel Hazırlık Profilleri" ni tıklayın
  3. "Sertifikalar" bölümünde "Üretim" i tıklayın
  4. Click ana panelin sağ üst tarafında bulunan “Add” (+) düğmesini
  5. Şimdi "App Store ve Ad Hoc" u seçin
  6. Devam'ı tıklayın
  7. "Dosya Seç" i tıklayın ve sabit sürücünüzden yaptığınız CSR dosyasını bulun
  8. Oluştur'u tıklayın
  9. Dosyayı almak için İndir'i tıklayın

C. .cer yükleyin ve .p12 sertifikası oluşturun

  1. İndirdiğiniz .cer dosyasını bulun ve çift tıklayın
  2. Giriş açılır menüsünü "giriş" olarak ayarlayın ve Ekle'yi tıklayın
  3. KeyChain Access'i açın ve Adım A'da oluşturulan profili bulacaksınız
  4. "Özel anahtar" profilini genişletebilirsiniz (eklediğiniz sertifikayı gösterir)
  5. Yalnızca bu iki öğeyi seçin (genel anahtarı değil)
  6. Sağ tıklayın ve açılır pencereden "2 öğeyi dışa aktar…" seçeneğini tıklayın
  7. Şimdi dosya biçiminin ".p12" olduğundan emin olun ve sabit sürücünüzde dosya adını ve hedefi seçin
  8. Kaydet'i tıklayın. Şimdi, bir şifre belirlemeniz istenecek, ancak ikisini de boş bırakın
  9. Tamam'ı tıklayın. Artık sabit sürücünüzde bir .p12 dosyanız var

Sorun devam ederse, aşağıdaki adımı da deneyin:

Anahtar zinciriniz iCloud'da mevcutsa, tüm anahtar zinciri içeriğini iCloud'dan kaldırın ve iCloud'da yeni kurulum yapın Bu çalışmalıdır.


özel anahtar form ke-zincirimi yanlışlıkla sildim. bu yüzden şimdi sertifikanın altındaki özel anahtarı göremiyorum. CSR dosyam var CSR'den özel anahtarı tekrar nasıl yüklerim?
Avijit Nagare

1
Bir windows phone çalışanı olduğum için oluşturulan bir .p12 dosyası elde etme sürecini anlamakta gerçekten zorlandım ve bu yazı gerçekten anlamama yardımcı oldu.
Mohammed Aamir K

1
Çok faydalı talimatlar. Çok teşekkürler. Çok zaman kazandırdı.
Alix

Neden 'Çevrimiçi Sertifika Durum Protokolü' ve diğeri kapatılsın?
Nate

1
Bu sorunu çözdüm. Size ne yaptığımı açıklamak gerekirse: Anahtar zincirinizin iCloud'da görünmediğinden emin olun. Bir kez orada olduğunda, yukarıdaki sorunu yaşama riski vardır. Her şeyi kaldırdım, iCloud'umdaki verileri kullanmadan yeni bir kurulum yaptım, sonra çalıştı.
Nazar Medeiros

32

Tamam, sorun çözüldü! Görünüşe göre sertifikaya çift tıkladığımda, onu otomatik olarak SİSTEM anahtar zincirine yüklüyor - nedenini bilmiyorum. Bunun yerine, sertifikayı LOGIN anahtar zincirine sürükleyip bırakıyorum ve sonra her şey yolunda. Bu makale sayesinde -> Anahtar zincirine sertifika ekleme ve .p12 dosya formatı oluşturma - alon rosenfeld 10 ay önce


1
Vay canına. Bunu anlamaya çalışmak için saatler harcadım. Bu cevap olmasaydı bir hafta daha boşa harcardım.
B Seven

1
Çok teşekkür ederim. Bunu anlamaya çalışırken saatlerimi boşa harcadım.
SaltedBlowfish

1
Evet, boşa harcanan saatler, kurtarıldı :)
Sahan

29

Anahtar zincirinin sol alt köşesinden (Sertifikalar) 'ı seçerek filtrelemediğiniz sürece genişletme seçeneğini alamazsınız


5

P12 dosyanızı almak için bu yoldan gidin ..

Adım 1. yılında XCode > Git için Proje ayarlarında > Genel > İmza bölümü> imzalama sertifikası

Aşağıdaki resimde gösterildiği gibi bu uygulama için hangi sertifikayı kullandığınızı görün

görüntü açıklamasını buraya girin

Adım 2. Anahtar Zinciri'ni açın > Sol alt Kategori bölümünde> Sertifikalar

Sertifikayı arayın ve aşağıdaki resimde gösterildiği gibi aşağı oka tıklayarak çocuğu açın

görüntü açıklamasını buraya girin

Adım 3. Sağ tıklayın ve şifrenizi vererek "Certificates.p12" olarak dışa aktarın . "123456"


Genişletecek o ok bende yok
Nazar Medeiros


3

Hala bu sorunu yaşayan biri için, benim için çözüm, hem "2 öğeyi Dışa Aktar" (anahtar ve sertifika) 'yi seçmemekti - daha ziyade, anahtarı ZATEN içeren sertifikayı dışa aktaracaktı. 2016 itibariyle bunu yapmanın yolu olduğunu düşünüyorum çünkü dışa aktarım 2 öğesiyle çalışan önceki yüklemeler artık çalışmıyor.


Yalnızca sertifikayı p12 olarak dışa aktaramam - bunun doğru yol olduğundan emin misiniz?
Cecil Rodriguez

Burada aynı. Bu çok önemli.
Gautam Jain
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.