Opções de assinatura de código ADTO ADT usa JCA (arquitetura de criptografia Java) para acessar chaves privadas e certificados para assinar aplicativos do AIR. As opções de assinatura identificam o armazenamento de chaves e a chave privada e o certificado dentro desse armazenamento de chaves. O armazenamento de chaves deve incluir a chave privada e a cadeia de certificado associada. Se o certificado de assinatura estiver vinculado a um certificado confiável em um computador, o conteúdo do campo de nome comum do certificado será exibido como o nome do editor na caixa de diálogo de instalação do AIR. O ADT requer que o certificado esteja em conformidade com o padrão x509v3 (RFC3280) e inclua a extensão de uso de chave estendida com os valores adequados para assinatura do código. As restrições definidas no certificado são respeitadas e poderiam impedir o uso de alguns certificados para assinar aplicativos do AIR. Nota: O ADT usa as configurações de proxy do ambiente de tempo de execução Java, quando apropriado, para conectar aos recursos de Internet para verificar listas de revogação de certificado e obter carimbos de data/hora. Se encontrar problemas para se conectar a estes recursos da Internet ao usar o ADT e sua rede exigir configurações de proxy específicas, você pode precisar configurar as configurações de proxy do JRE.
Sintaxe de opções de assinatura do AIRAs opções de assinatura usam a seguinte sintaxe: -alias aliasName -storetype type -keystore path -storepass password1 -keypass password2 -providerName className -tsa url -alias O alias de uma chave no armazenamento de chaves. Especificar um alias não é necessário quando um armazenamento de chaves contém apenas um único certificado. Se nenhum alias for especificado, o ADT usará a primeira chave do armazenamento de chaves. Nem todos os aplicativos de gerenciamento do armazenamento de chaves permitem que um alias seja atribuído a certificados. Ao usar o armazenamento de chaves do sistema Windows, por exemplo, use o nome distinto do certificado como o alias. Você pode usar o utilitário Java Keytool para listar os certificados disponíveis para que possa determinar o alias. Por exemplo, executar o comando: keytool -list -storetype Windows-MY produz uma saída como a seguinte para um certificado: 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 Para se referir a esse certificado na linha de comando do ADT, defina o alias como: CN=TestingCert,OU=QE,O=Adobe,C=US No Mac OS X, o alias de um certificado no Keychain é o nome exibido no aplicativo Keychain Access. -storetype O tipo de armazenamento de chaves, determinado pela implementação do armazenamento de chaves. A implementação de armazenamento de chaves padrão incluída na maioria das instalações de Java suporta os tipos JKS e PKCS12. O Java 5.0 inclui suporte para o tipo PKCS11, para acessar armazenamentos de chaves em tokens de hardware e para o tipo Keychain, para acessar o chaveiro do Mac OS X. O Java 6.0 inclui suporte para o tipo MSCAPI (no Windows). Se outros provedores de JCA tiverem sido instalados e configurados, tipos adicionais de armazenamentos de chaves podem estar disponíveis. Se nenhum tipo de armazenamento de chave for especificado, o tipo padrão para o provedor de JCA padrão será usado.
-keystore O caminho para o arquivo de armazenamento de chaves para tipos de armazenamento com base no arquivo. -storepass A senha exigida para acessar o armazenamento de chaves. Se não especificada, o ADT solicita a senha. -keypass A senha exigida para acessar a chave privada usada para assinar o aplicativo AIR. Se não especificada, o ADT solicita a senha. Nota: Se você digitar uma senha como parte do comando do ADT, os caracteres da senha são gravados no histórico da linha de comando. Portanto, o uso de opções -keypass ou -storepass não é recomendado quando a segurança do certificado é importante. Observe também que ao omitir as opções de senha, os caracteres que você digita nos prompts de senha não são exibidos (por razões de segurança). Basta digitar a senha e pressionar a tecla Enter.
-providerName O provedor de JCA para o tipo de armazenamento de chaves especificado. Se não especificado, o ADT usa o provedor padrão para esse tipo de armazenamento de chave. -tsa Especifica a URL de um servidor compatível com carimbo de data e hora RFC3161 para carimbar com data e hora a assinatura digital. Se nenhuma URL for especificada, um servidor padrão com carimbo de data/hora fornecido pela Geotrust será usado. Quando a assinatura de um aplicativo do AIR for carimbada com data/hora, o aplicativo poderá ainda ser instalado depois que o certificado de assinatura expirar, porque o carimbo de data/hora verifica se o certificado era válido no momento da assinatura. Se o ADT não puder se conectar ao servidor de carimbo de data/hora, a assinatura será cancelada e nenhum empacotamento será produzido. Especifique -tsa none para desabilitar o carimbo de data/hora. No entanto, um aplicativo do AIR empacotado sem um carimbo de data/hora deixa de poder ser instalado depois que o certificado de assinatura expira. Nota: Muitas das opções de assinatura são equivalentes à mesma opção do utilitário Java Keytool. Você pode usar o utilitário Keytool para examinar e gerenciar armazenamentos de chaves no Windows. O utilitário de segurança da Apple® também pode ser usado para esse fim no Mac OS X.
-provisioning-profile O arquivo de aprovisionamento iOS da Apple. (Obrigatório apenas para compactação de aplicativos iOS.) Exemplos de opção de assinaturaAssinatura com um arquivo .p12: -storetype pkcs12 -keystore cert.p12 Assinatura com o armazenamento de chaves Java padrão: -alias AIRcert -storetype jks Assinatura com o armazenamento de chaves Java específico: -alias AIRcert -storetype jks -keystore certStore.keystore Assinatura com o chaveiro do Mac OS X: -alias AIRcert -storetype KeychainStore -providerName Apple Assinatura com o armazenamento de chaves do sistema Windows: -alias cn=AIRCert -storeype Windows-MY Assinatura com um token de hardware (consulte as instruções do fabricante do token sobre como configurar Java para usar o token e para o valor correto de providerName): -alias AIRCert -storetype pkcs11 -providerName tokenProviderName Assinatura sem incorporar um carimbo de data/hora: -storetype pkcs12 -keystore cert.p12 -tsa none |
|