Özel Kod İmzalama
Kendiniz derlediğiniz ve kod imzalama gerektiren üçüncü taraf uygulamalar ve ikili dosyalar için geçici kod imzası kullanın .
- Ben uygulama imza olmadan çalışmaz varsayalım;
- Uygulamanın dağıtılmayacağını varsayıyorum;
- İmzanın kimliğinin geçerli olduğunu umursadığınızı varsayıyorum.
Geçici imza güvenilir güvenlik avantajları sağlamaz. Uygulamanın değiştirilip değiştirilmediğini belirlemek için kullanılabilir ve bir uygulamaya yetkiler gibi güvenlik kısıtlamalarını uygulamak için kullanılabilir.
Geçici bir imza doğrulanır codesign
ancak onaylanmaz spctl
. İmzalanan ikili dosyaya bağlı olarak bu önemli olabilir veya olmayabilir. Uygulamalar ve yürütülebilir dosyalar için, spctl
yerel olarak oluşturulan ikili dosyalarda çalışmadığından bunun önemi yoktur.
Neden Kod İşareti?
Rafine soru ile ilgili olarak:
Kendimi derlediğim imzasız kaynak kodunu nasıl ele almalıyım, çünkü katkıda bulunanların her zaman kodlarını imzalayabilmelerini veya hatırlamayı beklemiyorum, özellikle de birçok katkıda bulunan açık kaynak projelerine küçük katkılar söz konusu olduğunda.
Kendiliğinden derlenen çoğu uygulama için kod imzalamaya gerek yoktur. Bu, uygulamanın koduna güvendiğinizi varsayar. MacOS'ta güvenilmeyen uygulamaları Finder'dan açabilirsiniz, bkz. Apple'ın Tanımlanamayan bir geliştiriciden uygulama açma .
Kod veya geliştiricilere güvenmiyorsanız uygulamayı derlemeyin veya çalıştırmayın.
Sorumluluğunuz
Kaynak kodun sağlayıcısının, önceden oluşturulmuş kod imzalı ikili dosyaları sağlama sorumluluğu veya yükümlülüğü yoktur. Kendi kendini derleyen tüm kod imzalama seçiminiz ve sorumluluğunuzdur.
Apple , kodlarının imzalanması için App Store'larına gönderilmesini gerektirir .
Elma isteği onların App Mağazaları dışında geliştiricilerin kod imzalamak, ancak henüz gerekli değildir.
Her iki durumda da yalnızca son ikili dosyalar imzalanır. Orijinal kaynak kodu ve kaynaklar imzalı değil.
Kaynak Kod İmzalanmadı
Kaynak kodun kendisi, macOS için anlamlı bir şekilde imzalanmış kod olamaz. Kaynak dosyalar ve kod, başka herhangi bir dosya gibi dijital olarak imzalanabilir, ancak sonuçta ortaya çıkan uygulamanın veya ikili dosyanın macOS tarafından nasıl işlendiği üzerinde hiçbir etkisi yoktur.
Ad-Hoc Kodu Mac Uygulaması Nasıl İmzalanır
MacOS'ta bir uygulamayı ad-hoc imzayla kodlamak için kimlik -s
bayrağını şu şekilde ayarlayın -
:
codesign --force -s - </path/to/application>
codesign
Komutun diğer tüm kuralları, gereksinimleri ve permütasyonları aynı kalır.
--force
Burada bayrak mevcut imzanın üzerine yazmak için kullanılır.
Çerçeveler ve katıştırılmış hizmetler gibi alt kaynakları imzalamak --deep
için codesign
komuta bayrak eklemeniz gerekebilir .