ADT kod imzalama seçenekleri

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.

ADT, sertifikanın x509v3 standardına uymasını ( RFC3280 ) ve kod imzalama için uygun değerlere sahip Genişletilmiş Anahtar Kullanımı uzantısını içermesini gerektirir. Sertifikada tanımlanan kısıtlamalar korunur ve AIR uygulamalarını imzalamaya yönelik bazı sertifikaların kullanımını engelleyebilir.

Not: ADT, uygun olduğunda, sertifika geri alma listelerini denetlemek ve zaman damgalarını almak üzere İnternet kaynaklarına bağlanmak için Java çalışma zamanı ortamı proxy ayarlarını kullanır. ADT kullanırken bu İnternet kaynaklarına bağlanma konusunda bir sorunla karşılaşırsanız ve ağınız belirli proxy ayarları isterse, JRE proxy ayarlarını yapılandırmanız gerekebilir.

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