Ö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 codesignancak onaylanmaz spctl. İmzalanan ikili dosyaya bağlı olarak bu önemli olabilir veya olmayabilir. Uygulamalar ve yürütülebilir dosyalar için, spctlyerel 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 -sbayrağını şu şekilde ayarlayın -:
codesign --force -s - </path/to/application>
codesignKomutun diğer tüm kuralları, gereksinimleri ve permütasyonları aynı kalır.
--forceBurada bayrak mevcut imzanın üzerine yazmak için kullanılır.
Çerçeveler ve katıştırılmış hizmetler gibi alt kaynakları imzalamak --deepiçin codesignkomuta bayrak eklemeniz gerekebilir .