man/files
man · Dosyalar

$ productsign

Bölüm 1 · Dosyalar

macOS Yükleyici (Installer) ürün arşivlerini dijital olarak imzalar

Özet

productsign [seçenekler] --sign kimlik girdi-urun-yolu.pkg cikti-urun-yolu.pkg

Açıklama

productsign yardımcı programı, daha önce productbuild(1) veya uyumlu araçlarla oluşturulmuş olan bir ürün arşivine (.pkg) dijital imza eklemek veya mevcut imzayı yeni bir imza ile değiştirmek için kullanılır.

productbuild(1) çalıştırılırken imzalama seçeneği sunulmuş olsa da, ürün arşivi tamamen test edilip son dağıtıma hazır olana kadar imzalama aşamasını ertelemek ve bu işlemi productsign ile daha sonra gerçekleştirmek yaygın bir iş akışıdır.

İmzalama yapabilmek için, sistemdeki aktif anahtar zincirlerinden (keychain) birinde geçerli bir sertifika ve buna karşılık gelen özel anahtara (birlikte "kimlik" / identity olarak bilinir) sahip olmanız gerekir.

Seçenekler

Aşağıdaki seçenekler mevcuttur:

  • --sign kimlik: Ürün arşivini imzalamak için kullanılacak olan sertifikanın Ortak Adını (Common Name) belirtir.
  • --keychain anahtar-zinciri-yolu: İmza kimliğinin aranacağı özel bir anahtar zinciri (keychain) dosyası belirtir. Belirtilmezse varsayılan anahtar zinciri arama yolu kullanılır.
  • --cert sertifika-adı: İmza güven zincirini tamamlamak üzere ürün arşivine gömülecek olan ek bir ara sertifikanın Ortak Adını belirtir. Birden fazla ara sertifikayı gömmek için bu seçenek birden çok kez kullanılabilir.
  • --timestamp: İmzayla birlikte güvenilir bir zaman damgası (RFC 3161) ekler. Developer ID kimliğiyle imzalama yaparken bu seçenek varsayılan olarak etkindir.
  • --timestamp=none: İmzalama sırasında zaman damgası sunucusuyla iletişim kurulmasını ve güvenilir zaman damgası eklenmesini devre dışı bırakır. İnternet bağlantısı olmayan veya zaman damgası sunucularının yanıt vermediği ortamlarda kullanışlıdır.

Parametreler

  • girdi-urun-yolu.pkg: İmzasız olan (veya eski bir imza içeren) kaynak ürün arşivi dosyasının yolu.
  • cikti-urun-yolu.pkg: İmzalama işlemi bittikten sonra oluşturulacak olan imzalı hedef ürün arşivinin yazılacağı yol. Bu yol girdi-urun-yolu.pkg ile aynı olmamalıdır. Eğer bu konumda aynı isimde bir dosya zaten mevcutsa üzerine yazılır.

Örnekler

Aşağıdaki örnekler kabukta (shell) çalıştırılabilecek şekilde gösterilmiştir:

  1. İmzasız bir Urun.pkg paketini, "Developer ID Installer" sertifikasıyla imzalayıp Urun_Imzali.pkg adıyla kaydetme:

    productsign --sign "Developer ID Installer: Sirket Adi (ABC123XYZ)" Urun.pkg Urun_Imzali.pkg

    [!NOTE] İlk kez imzalama yaparken, productsign aracının anahtar zincirindeki ilgili özel anahtara erişebilmesi için macOS işletim sistemi sizden grafiksel arayüz üzerinden kimlik doğrulama onayı isteyebilir.

  2. İnternet bağlantısı olmayan bir ortamda, zaman damgası sunucusu denetimini atlayarak imzalama yapma:

    productsign --sign "Developer ID Installer: Sirket Adi (ABC123XYZ)" --timestamp=none Urun.pkg Urun_Imzali.pkg
  3. Özel bir anahtar zinciri dosyası belirterek imzalama gerçekleştirme:

    productsign --keychain ~/Library/Keychains/OzelDerleme.keychain --sign "Developer ID Installer: Sirket Adi (ABC123XYZ)" Urun.pkg Urun_Imzali.pkg

Ayrıca Bakınız

productbuild(1), codesign(1)