SSL Sertifikası

macOS Gatekeeper ve Kod İmzalama

macOS uygulamaları Apple'ın Developer ID sertifikasıyla imzalanır ve notarize edilir. Gatekeeper akışını komutlarla öğrenin.

Gatekeeper, macOS'ta internetten indirilen uygulamaların imzalı ve Apple tarafından notarize edilmiş olup olmadığını kontrol eder. Önemli nokta şudur: macOS dağıtımı için genel CA'lardan alınan OV/EV kod imzalama sertifikaları değil, Apple Developer Program üyeliğiyle verilen Developer ID Application sertifikası kullanılır.

Ön koşullar

  • Apple Developer Program üyeliği
  • Anahtar zincirinde kurulu Developer ID Application sertifikası
  • Xcode komut satırı araçları

İmzalama ve notarization

codesign --force --options runtime --timestamp \
  --sign "Developer ID Application: Firma Adi (TEAMID)" MyApp.app

ditto -c -k --keepParent MyApp.app MyApp.zip
xcrun notarytool submit MyApp.zip --keychain-profile "profil" --wait
xcrun stapler staple MyApp.app

--options runtime Hardened Runtime'ı açar; notarization için gereklidir. stapler bildirim biletini uygulamaya ekler, böylece çevrimdışı kullanıcıda da doğrulama çalışır.

Doğrulama

codesign --verify --deep --strict --verbose=2 MyApp.app
spctl --assess --type execute -vv MyApp.app

spctl çıktısında kaynağın Notarized Developer ID olarak görünmesi beklenir.

Sık hatalar

  • İçteki yardımcı ikili dosyaların imzalanmaması; önce içtekileri, sonra ana paketi imzalayın.
  • Zaman damgası eksikliği nedeniyle notarization reddi.
  • Hardened Runtime'ın kapalı olması.
  • Geçersizleşen sertifika sonrası uygulamanın açılmaması; yeniden imzalayın.

Windows ve macOS farkı

Windows dünyasında yayıncı kimliği, bağımsız bir CA'nın doğruladığı kuruluş bilgisine dayanır; macOS'ta ise güven zinciri Apple'ın kendi kök altyapısına bağlıdır. Çok platformlu bir ürün yayınlıyorsanız her platformun imza gereksinimini ayrı bir kalem olarak sürüm planınıza ekleyin. Notarization işlemi genellikle dakikalar içinde tamamlanır ancak süre değişebilir; bu yüzden sürüm hattınızda bekleme adımı için zaman aşımı değeri belirleyin.

Windows tarafında yayın yapıyorsanız aynı ürünü kod imzalama sertifikası ile ayrıca imzalamanız gerekir; macOS ve Windows imza altyapıları birbirinden bağımsızdır.

Özet: macOS'ta güven zinciri Apple'ın notarization sürecinden geçer. İmzalama, Hardened Runtime ve stapler adımları birlikte uygulandığında Gatekeeper uyarısı olmadan sorunsuz açılan bir uygulama elde edersiniz.

Bu makale faydalı oldu mu?

Bu konuyla ilgili SSL sertifikaları

Makalede geçen sertifika türlerine uygun ürünler.

Makale Ara

Kod İmzalama Sertifikaları

Yardıma mı İhtiyacınız Var?

Aradığınızı bulamadıysanız destek ekibimiz size yardımcı olabilir.

Destek Talebi Aç