ADT använder Java Cryptography Architecture (JCA) för att få tillgång till privata nycklar och certifikat för signering av AIR-program. Signeringsalternativen identifierar nyckelbehållaren och den privata nyckeln och certifikatet som finns i nyckelbehållaren.
Nyckelbehållaren måste inkludera både den privata nyckeln och den associerade certifikatkedjan. Om signeringscertifikatkedjan leder till ett betrott certifikat på en dator visas innehållet i certifikatets namnfält som utgivarnamn i dialogrutan för AIR-installation.
ADT kräver att certifikatet följer standarden x509v3 (
RFC3280
) och inkluderar tillägget för utökad nyckelanvändning med rätt värden för kodsignering. Begränsningar som definieras i certifikatet respekteras och kan utesluta användningen av vissa certifikat för signering av AIR-program.
Syntax för signeringsalternativ i AIR
För signeringsalternativen används följande syntax (på en kommandorad):
-alias aliasName
-storetype type
-keystore path
-storepass password1
-keypass password2
-providerName className
-tsa url
-alias
Aliaset för en nyckel i nyckelbehållaren. Det är inte nödvändigt att ange ett alias när en nyckelbehållare bara innehåller ett certifikat. Om inget alias anges används den första nyckeln i nyckelbehållaren.
Inte alla nyckelhanteringsprogram tillåter att ett alias tilldelas certifikat. När du till exempel använder Windows-systemnyckelbehållare, använder du certifikatets särskiljande namn som alias. Du kan använda verktyget Java Keytool om du vill visa vilka certifikat som är tillgängliga så att du kan bestämma alias. Om du till exempel kör kommandot:
keytool -list -storetype Windows-MY
skapas ett resultat ungefär som detta för ett certifikat:
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
Om du vill referera till det här certifikatet på ADT-kommandoraden ställer du in aliaset på:
CN=TestingCert,OU=QE,O=Adobe,C=US
I Mac OS X är aliaset för ett certifikat i Keychain det namn som visas i Nyckelhanteraren.
-storetype
Typen av nyckelbehållare, som bestäms av nyckelbehållarimplementeringen. Standardimplementeringen av nyckelbehållaren som ingår i de flesta installationer av Java har stöd för typerna
JKS
och
PKCS12
. Java 5.0 har stöd för typen
PKCS11
, för åtkomst till nyckelbehållare i maskinvarutokens, och typen
Keychain
för åtkomst till nyckelkedjan i Mac OS X. Java 6.0 har stöd för typen
MSCAPI
(i Windows). Om andra JCA-providers har installerats och konfigurerats kan det finnas fler typer av nyckelbehållare. Om ingen nyckelbehållare anges används standardtypen för den förvalda JCA-providern.
Lagringstyp
|
Format på nyckelbehållare
|
Minimikrav på Java-version
|
JKS
|
Java-nyckelfil (.keystore)
|
1.2
|
PKCS12
|
Filen PKCS12 (.p12 eller .pfx)
|
1.4
|
PKCS11
|
Maskinvarutoken
|
1.5
|
KeychainStore
|
Mac OS X-nyckelkedja
|
1.5
|
Windows-MY eller Windows-ROOT
|
MSCAPI
|
1.6
|
-keystore
Sökvägen till nyckelbehållarfilen för filbaserade lagringstyper.
-storepass
Det lösenord som krävs för att få tillgång till nyckelbehållaren. Om du inte anger något lösenord uppmanas du att göra det.
-keypass
Det lösenord som krävs för att få tillgång till den privata nyckel som används för att signera AIR-programmet. Om du inte anger något lösenord uppmanas du att göra det.
Obs!
Om du anger ett lösenord som en del av ADT-kommandot sparas lösenordstecknen i kommandoradshistoriken. Därför bör du inte använda alternativet -keypass eller -storepass när certifikatets säkerhet är viktig. Tänk även på att när du utesluter lösenordsalternativen visas inte de tecken du skriver när du anger lösenord (av samma säkerhetsskäl). Skriv lösenordet och tryck på Retur.
-providerName
JCA-providern för angiven typ av nyckelbehållare. Om detta inte anges används standardprovidern för den typen av nyckelbehållare.
-tsa
Anger URL:en för en
RFC3161
-kompatibel tidstämpelserver som kan tidstämpla den digitala signaturen. Om ingen URL anges används den förvalda tidstämpelserver som tillhandhålls av Geotrust. När signaturen för ett AIR-program tidstämplas, kan programmet fortfarande installeras efter att signaturcertifikatet har upphört att gälla, eftersom tidstämpeln verifierar att certifikatet var giltigt vid signeringen.
Om ADT inte kan ansluta till tidstämpelservern avbryts signeringen och inget paket skapas. Ange
-
tsa none
om du vill inaktivera tidstämpling. Ett AIR-programpaket utan tidstämpel kan emellertid inte längre installeras efter att certifikatet har upphört att gälla.
Obs!
Många av signeringsalternativen är likadana som motsvarande alternativ i Java-verktyget Keytool. Med Keytool kan du undersöka och hantera nyckelbehållare i Windows. I Mac OS X kan du också använda Apple®-säkerhetsverktyget för detta.
-provisioning-profile
Apple iOS-provisioneringsfilen. (Krävs endast för att paketera iOS-program.)
Exempel på signeringsalternativ
Signera med en P12-fil:
-storetype pkcs12 -keystore cert.p12
Signera med den förvalda Java-nyckelbehållare:
-alias AIRcert -storetype jks
Signera med en särskild Java-nyckelbehållaren:
-alias AIRcert -storetype jks -keystore certStore.keystore
Signera med Mac OS X-nyckelkedjan:
-alias AIRcert -storetype KeychainStore -providerName Apple
Signera med nyckelbehållaren i Windows-systemet:
-alias cn=AIRCert -storeype Windows-MY
Signera med en maskinvarutoken (information om hur du konfigurerar Java till att använda en token och rätt
providerName
-värde finns i tillverkarens instruktioner):
-alias AIRCert -storetype pkcs11 -providerName tokenProviderName
Signera utan att bädda in en tidstämpel:
-storetype pkcs12 -keystore cert.p12 -tsa none