ADT, AIR uygulamalarını imzalamak için özel anahtarlara ve sertifikalara erişmek amacıyla Java Cryptography Architecture (JCA) kullanır. İmzalama seçenekleri anahtar deposunu ve bu anahtar deposu içindeki özel anahtarı ve sertifikayı tanımlar.
Anahtar deposu hem özel anahtarı hem de ilişkilendirilmiş sertifika zincirini içermelidir. İmzalama sertifikası bilgisayarda güvenilen bir sertifikaya eklenirse, sertifikanın ortak ad alanı içeriği AIR yükleme iletişim kutusunda yayıncı adı olarak görüntülenir.
AIR imzalama seçenekleri sözdizimi
İmzalama seçenekleri aşağıdaki söz dizimini kullanır (tek bir komut satırında):
-alias aliasName
-storetype type
-keystore path
-storepass password1
-keypass password2
-providerName className
-tsa url
-alias
Anahtar deposundaki anahtarın başka adı. Anahtar deposu yalnızca tek bir sertifika içerdiğinde başka ad belirtmek gerekmez. Başka ad belirtilmemişse, ADT, anahtar deposundaki ilk anahtarı kullanır.
Tüm anahtar deposu yönetim uygulamaları, başka bir adın sertifikalara atanmasına izin vermez. Örneğin, Windows sistemi anahtar deposunu kullanırken, sertifikanın ayırt edilen adını başka ad olarak kullanın. Kullanılabilir sertifikaları listelemek için Java Keytool yardımcı programını kullanabilirsiniz, böylece başka adı belirleyebilirsiniz. Örneğin şu komutu çalıştırmak:
keytool -list -storetype Windows-MY
sertifika için aşağıdakine benzer bir çıktı oluşturur:
CN=TestingCert,OU=QE,O=Adobe,C=US, PrivateKeyEntry,
Certificate fingerprint (MD5): 73:D5:21:E9:8A:28:0A:AB:FD:1D:11:EA:BB:A7:55:88
ADT komut satırında bu sertifikaya başvurmak için, başka adı şu şekilde ayarlayın:
CN=TestingCert,OU=QE,O=Adobe,C=US
Mac OS X'te Keychain'deki bir sertifikanın başka adı, Keychain Access uygulamasında görüntülenen addır.
-storetype
Anahtar deposu uygulaması tarafından belirlenen anahtar deposu türü. Java'nın çoğu yüklemesinde bulunan varsayılan anahtar deposu uygulaması
JKS
ve
PKCS12
türlerini destekler. Java 5.0,
PKCS11
türü için donanım belirteçlerindeki anahtar depolarına erişim konusunda ve
Keychain
türü için de Mac OS X anahtarlığa erişim konusunda destek içerir. Java 6.0,
MSCAPI
türü için destek içerir (Windows'ta). Diğer JCA sağlayıcıları yüklenmişse ve yapılandırılmışsa, ek anahtar deposu türleri kullanılabilirdir. Anahtar deposu türü belirtilmemişse, varsayılan JCA sağlayıcısı için varsayılan tür kullanılır.
Saklama türü
|
Anahtar deposu biçimi
|
Minimum Java sürümü
|
JKS
|
Java anahtar deposu dosyası (.keystore)
|
1.2
|
PKCS12
|
PKCS12 dosyası (.p12 veya .pfx)
|
1.4
|
PKCS11
|
Donanım belirteci
|
1.5
|
KeychainStore
|
Mac OS X Keychain
|
1.5
|
Windows-MY veya Windows-ROOT
|
MSCAPI
|
1.6
|
-keystore
Dosya tabanlı saklama türleri için anahtar deposu dosyasının yolu.
-storepass
Anahtar deposuna erişmek için gereken şifre. Belirtilmemişse, ADT şifreyi ister.
-keypass
AIR uygulamasını imzalamak için kullanılan özel anahtara erişim için gereken şifre. Belirtilmemişse, ADT şifreyi ister.
Not:
ADT komutunun bir parçası olarak şifre girerseniz, şifre karakterleri komut satırı geçmişinde kaydedilir. Bu nedenle, sertifikanın güvenliğinin önemli olduğu durumlarda -keypass veya -storepass seçeneklerini kullanmanız önerilmez. Ayrıca, şifre seçeneklerini atladığınızda şifre istemlerinde yazdığınız karakterlerin görüntülenmediğini unutmayın (aynı güvenlik nedenlerinden dolayı). Yalnızca şifreyi yazın ve Enter tuşuna basın.
-providerName
Belirtilen anahtar deposu türü için JCA sağlayıcısı. Belirtilmemişse, ADT, bu anahtar deposu türü için varsayılan sağlayıcıyı kullanır.
-tsa
Dijital imzaya zaman damgası uygulamak için
RFC3161
uyumlu zaman damgası sunucusun URL'sini belirtir. URL belirtilmemişse, Geotrust tarafından sağlanan varsayılan bir zaman damgası sunucusu kullanılır. Bir AIR uygulamasının imzası zaman damgalı olduğunda, imzalayıcı sertifikasının süresi dolduktan sonra da uygulama yüklenebilir, bunun nedeni zaman damgasının, sertifikanın imzalama sırasında geçerli olduğunu doğrulamasıdır.
ADT, zaman damgası sunucusuna bağlanamazsa, imzalama iptal edilir ve hiç paket üretilmez. Zaman damgalamayı devre dışı bırakmak için
-
tsa none
öğesini belirtin. Ancak, zaman damgası olmadan paketlenmiş bir AIR uygulaması, imzalayıcı sertifikasının süresi dolduktan sonra artık yüklenebilir olmaz.
Not:
İmzalama seçeneklerinin çoğu Java Keytool yardımcı programının aynı seçeneğine eşittir. Keytool yardımcı programını, Windows'ta anahtar depolarını incelemek ve yönetmek için kullanabilirsiniz. Apple® güvenlik yardımcı programı da Mac OS X'te bu amaçla kullanılabilir.
-provisioning-profile
Apple iOS ön hazırlık dosyası. (Yalnızca iOS uygulamalarını paketlemek için gereklidir.)
İmzalama seçeneği örnekleri
.p12 dosyasıyla imzalama:
-storetype pkcs12 -keystore cert.p12
Varsayılan Java anahtar deposuyla imzalama:
-alias AIRcert -storetype jks
Belirli bir Java anahtar deposuyla imzalama:
-alias AIRcert -storetype jks -keystore certStore.keystore
Mac OS X anahtarlık ile imzalama:
-alias AIRcert -storetype KeychainStore -providerName Apple
Windows sistemi anahtar deposuyla imzalama:
-alias cn=AIRCert -storeype Windows-MY
Donanım belirteciyle imzalama (Java'yı belirteç kullanmak üzere yapılandırma konusundaki talimatlar ve doğru
providerName
değeri için belirteç üreticisinin talimatlarına başvurun):
-alias AIRCert -storetype pkcs11 -providerName tokenProviderName
Zaman damgası gömmeden imzalama:
-storetype pkcs12 -keystore cert.p12 -tsa none