Her AIR uygulaması, en az bir uygulama tanımlayıcı dosyasına ve ana SWF veya HTML dosyasına sahip olmalıdır. Uygulamayla birlikte yüklenmesi gereken diğer varlıklar da AIR dosyasında paketlenmelidir.
Bu makalede SDK bile birlikte gelen komut satırı araçları kullanılarak AIR uygulamasını paketleme anlatılır. Adobe geliştirme araçlarından birini kullanarak bir uygulamayı paketlemeyle ilgili bilgi için aşağıdakilere bakın:
Tüm AIR yükleyici dosyaları dijital sertifika kullanılarak imzalanmalıdır. AIR yükleyici, imzayı, uygulama dosyanızda siz imzaladıktan sonra değişiklik yapılmadığını doğrulamak için kullanır. Bir sertifika yetkilisinden kod imzalayıcı sertifika veya kendinden imzalı bir sertifika kullanabilirsiniz.
Güvenilen bir sertifika yetkilisi tarafından yayımlanan bir sertifika kullandığınızda, uygulamanızın kullanıcılarına yayıncı kimliğinize ilişkin bir güvence sağlarsınız. Yükleme iletişim kutusu, kimliğinizin sertifika yetkisiyle doğrulandığı gerçeğini yansıtır:
Güvenilir bir sertifikayla imzalanan uygulama için yükleme onayı iletişim kutusu
Kendinden imzalı bir sertifika kullandığınızda, kullanıcılar imzalayan olarak kimliğinizi doğrulayamaz. Ayrıca, kendinden imzalı bir sertifika paketin değişmediği güvencesini bozar. (Bunun sebebi, yasal bir yükleme dosyasının kullanıcıya ulaşmadan önce sahte bir imza ile değiştirilebilmesidir) Yükleme iletişim kutusu yayıncının kimliğinin doğrulanamadığını yansıtır. Kullanıcılar uygulamanızı yüklerken daha büyük bir güvenlik riski alır.
Kendinden imzalı bir uygulama için yükleme onayı iletişim kutusu
ADT
-package
komutunu kullanarak bir AIR dosyasını tek adımda paketleyebilir ve imzalayabilirsiniz. Ayrıca
-prepare
komutuyla ara, imzalanmamış bir paket oluşturabilirsiniz ve ara paketi ayrı bir adımda
-sign
komutuyla imzalayabilirsiniz.
Not:
1.5 ve üstü Java sürümleri, PKCS12 sertifika dosyalarını korumak için kullanılan şifrelerde yüksek ASCII karakterlerini kabul etmez. Kod imzalama sertifikanızı oluşturduğunuzda veya dışa aktardığınızda, şifrede yalnızca normal ASCII karakterleri kullanın.
Yükleme paketini imzalarken, ADT, zamanı doğrulamak için otomatik olarak bir zaman damgası yetkili sunucusuna başvurur. Zaman damgası bilgileri AIR dosyasında bulunmaktadır. Doğrulanmış bir zaman damgası içeren AIR dosyası, ileride herhangi bir zamanda yüklenebilir. ADT zaman damgası sunucusuna ulaşamazsa, paketleme iptal edilir. Zaman damgalama seçeneğini geçersiz kılabilirsiniz, ancak zaman damgası olmadan, yükleme dosyasını imzalamak için kullanılan sertifikanın süresi dolduktan sonra artık AIR uygulaması yüklenemez.
Mevcut bir AIR uygulamasını güncellemek için bir paket hazırlıyorsanız, paket orijinal uygulamayla aynı sertifika ile imzalı olmalıdır. Orijinal sertifika yenilendiyse, sertifikanın süresi son 180 gün içinde dolduysa veya yeni bir sertifikaya geçmek istiyorsanız, bir geçiş imzası uygulayabilirsiniz. Bir geçiş imzası uygulama AIR dosyasının hem yeni hem de eski sertifikayla imzalanmasını içerir.
ADT migrate komutu
bölümünde açıklandığı gibi geçiş imzasını uygulamak için
-migrate
komutunu kullanın.
Önemli:
Orijinal sertifikanın süresi dolduktan sonra bir geçiş imzası uygulamak için 180 günlük katı bir yetkisiz kullanım süresi vardır. Bir geçiş imzası olmadan, mevcut kullanıcıların yeni sürümünüzü yüklemeden önce mevcut olan uygulamayı kaldırmaları gerekir. Yetkisiz kullanım süresi yalnızca uygulama açıklayıcısı ad alanında AIR’nin 1.5.3 sürümü veya daha sonrasını belirten uygulamalar için geçerlidir. AIR çalışma zamanının daha eski sürümlerini hedeflerken bir yetkisiz kullanım süresi yoktur.
AIR 1.1’den önce, geçiş imzaları desteklenmiyordu. Geçiş imzası uygulamak için uygulamayı 1.1 veya sonraki sürümlü bir SDK ile paketlemeniz gerekir.
AIR dosyaları kullanılarak dağıtılan uygulamalar masaüstü profil uygulamaları olarak tanınır. Uygulama açıklayıcı dosyası masaüstü profilini desteklemiyorsa, ADT’yi bir AIR uygulaması için yerel bir yükleyiciyi paketlemek için kullanamazsınız. Bu profili uygulama tanımlayıcı dosyasındaki
supportedProfiles
öğesini kullanarak kısıtlayabilirsiniz. Bkz.
Aygıt profilleri
ve
supportedProfiles
.
Yayıncı Kimlikleri
AIR 1.5.3’te olduğu gibi, yayıncı kimlikleri kabul edilmez. Yeni uygulamaların (ilk defa AIR 1.5.3 veya sonrasıyla yayınlanan) bir yayıncı kimliğine ihtiyacı yoktur ve yayıncı kimliği belirtmemelidir.
AIR’nin daha önceki sürümleriyle yayınlanan uygulamaları güncellerken, uygulama açıklayıcı dosyasında orijinal yayıncı kimliğini belirtmeniz gerekir. Yoksa, uygulamanızın yüklü olan sürümü ve güncel sürümü farklı uygulamalar olarak kabul edilir. Farklı bir kimlik kullanırsanız veya publisherID etiketini çıkarırsanız, kullanıcının yeni sürümü yüklemeden önce önceki sürümü kaldırması gerekir.
Orijinal yayıncı kimliğini belirlemek için, META-INF/AIR alt dizininde orijinal uygulamanın yüklü olduğu
publisherid
dosyasını bulun. Bu dosyanın içindeki dize yayıncı kimliğidir. Uygulama açıklayıcınız, yayıncı kimliğinin elle belirtmek için uygulama açıklayıcısı dosyasının ad alanı bildiriminde AIR 1.5.3 çalışma zamanını (veya sonrasını) belirtmelidir.
AIR 1.5.3’ten önce yayınlanan uygulamalarda - veya uygulama açıklayıcı ad alanında AIR’nin daha eski bir sürümünü belirten ve AIR 1.5.3 SDK ile yayınlananlarda- imza sertifikasına dayanılarak bir yayıncı kimliği belirlenir. Bu kimlik, uygulama kimliğiyle beraber, uygulamanın kimliğinin belirlenmesi için kullanılır. Yayıncı kimliği mevcut olduğunda, aşağıdaki amaçlar için kullanılır:
-
Bir AIR dosyasının yüklenecek yeni bir uygulamanın yerine bir güncelleme olduğunu doğrulama
-
Şifrelenmiş yerel veri deposuna ilişkin şifreleme anahtarının bir parçası olarak
-
Uygulama depolama dizinine ilişkin yolun bir parçası olarak
-
Yerel bağlantılara ilişkin bağlantı dizesinin bir parçası olarak
-
Bir uygulamanın çağrılması için AIR tarayıcı içi API'si ile kullanılan kimlik dizesinin bir parçası olarak
-
OSID'nin bir parçası olarak (özel yükleme/kaldırma programları oluşturulurken kullanılır)
AIR 1.5.3’ten önce, uygulamanın yayıncı kimliği bir uygulama güncellemesini yeni veya yenilenmiş bir sertifika kullanarak geçiş imzasıyla imzalamanız durumunda değişebiliyordu. Bir yayıncı kimliği değiştiğinde, kimliğe bağlı herhangi bir AIR özelliğinin davranışı da değişir. Örneğin, mevcut şifrelenmiş yerel veri deposundaki verilere artık erişilemez ve uygulamaya yerel bağlantı oluşturan Flash veya AIR örnekleri, bağlantı dizesindeki yeni kimliği kullanmalıdır.
AIR 1.5.3 veya sonrasında, yayıncı kimliği imzalama sertifikasını temel almaz ve yalnızca publisherID etiketi uygulama açıklayıcısına dahilse atanır. Güncelleme AIR paketi için belirtilen yayıncı kimliği, geçerli yayıncı kimliğiyle eşleşmiyorsa uygulama güncellenemez.