Preparare le app Android per i criteri di protezione delle app con lo strumento di wrapping delle app di IntunePrepare Android apps for app protection policies with the Intune App Wrapping Tool

Si applica a: IntuneApplies to: Intune
Questo argomento si applica a Intune sia nel portale di Azure che nel portale classico.This topic applies to Intune in both the Azure portal and the classic portal.

Usare lo strumento di wrapping delle app di Microsoft Intune per Android per modificare il comportamento delle app Android interne, limitandone le funzionalità senza modificare il codice.Use the Microsoft Intune App Wrapping Tool for Android to change the behavior of your in-house Android apps by restricting features of the app without changing the code of the app itself.

Lo strumento è un'applicazione della riga di comando di Windows che viene eseguito in PowerShell e crea un wrapper intorno all'app Android.The tool is a Windows command-line application that runs in PowerShell and creates a wrapper around your Android app. Dopo aver eseguito il wrapping dell'app, è possibile modificarne le funzionalità configurando i criteri di gestione delle app mobili in Intune.After the app is wrapped, you can change the app’s functionality by configuring mobile application management policies in Intune.

Prima di eseguire lo strumento, vedere Considerazioni sulla sicurezza per l'esecuzione dello strumento di wrapping delle app.Before running the tool, review Security considerations for running the App Wrapping Tool. Per scaricare lo strumento, visitare la pagina dello strumento di wrapping delle app di Microsoft Intune per Android in GitHub.To download the tool, go to the Microsoft Intune App Wrapping Tool for Android on GitHub.

Soddisfare i prerequisiti per l'uso dello strumento di wrapping delle appFulfill the prerequisites for using the App Wrapping Tool

  • È necessario eseguire lo strumento di wrapping delle app in un computer Windows che esegue Windows 7 o versioni successive.You must run the App Wrapping Tool on a Windows computer running Windows 7 or later.

  • L'app di input deve essere un pacchetto di applicazione Android valido con estensione apk e:Your input app must be a valid Android application package with the file extension .apk and:

    • Non può essere crittografata.It cannot be encrypted.
    • Non può essere stata sottoposta a wrapping in precedenza con lo strumento di wrapping delle app di Intune.It must not have previously been wrapped by the Intune App Wrapping Tool.
    • Deve essere scritta per Android 4.0 o versione successiva.It must be written for Android 4.0 or later.
  • L'app deve essere sviluppata da o per l'azienda.The app must be developed by or for your company. Non è possibile usare questo strumento su app scaricate da Google Play Store.You cannot use this tool on apps downloaded from the Google Play Store.

  • Per eseguire lo strumento di wrapping delle app, è necessario installare la versione più recente di Java Runtime Environment e quindi assicurarsi che la variabile del percorso Java sia stata impostata su C:\ProgramData\Oracle\Java\javapath nelle variabili di ambiente Windows.To run the App Wrapping Tool, you must install the latest version of the Java Runtime Environment and then ensure that the Java path variable has been set to C:\ProgramData\Oracle\Java\javapath in your Windows environment variables. Per altre informazioni vedere la documentazione Java.For more help, see the Java documentation.

    Nota

    In alcuni casi, la versione a 32 bit di Java può causare problemi di memoria.In some cases, the 32-bit version of Java may result in memory issues. È consigliabile installare la versione a 64 bit.It's a good idea to install the 64-bit version.

  • Android richiede che tutti i pacchetti dell'app (con estensione apk) siano firmati.Android requires all app packages (.apk) to be signed. Per informazioni sul riutilizzo di certificati esistenti e linee guida generali per la firma dei certificati, vedere Riutilizzo dei certificati di protezione ed esecuzione del wrapping delle app.For reusing existing certificates and overall signing certificate guidance, see Reusing signing certificates and wrapping apps. L'eseguibile Java keytool.exe consente di generare le nuove credenziali necessarie per firmare l'app di output di cui è stato eseguito il wrapping.The Java executable keytool.exe is used to generate new credentials needed to sign the wrapped output app. Qualsiasi password impostata deve essere sicura, ma prenderne nota perché saranno necessarie per eseguire lo strumento di wrapping delle app.Any passwords that are set must be secure, but make a note of them because they're needed to run the App Wrapping Tool.

Installare lo strumento di wrapping delle appInstall the App Wrapping Tool

  1. Dal repository GitHub scaricare il file di installazione InstallAWT.exe dello strumento di wrapping delle app di Intune per Android in un computer Windows.From the GitHub repository, download the installation file InstallAWT.exe for the Intune App Wrapping Tool for Android to a Windows computer. Aprire il file di installazione.Open the installation file.

  2. Accettare il contratto di licenza e quindi finire l'installazione.Accept the license agreement, then finish the installation.

Prendere nota della cartella in cui è installato lo strumento.Note the folder to which you installed the tool. La posizione predefinita è C:\Programmi (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool.The default location is: C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool.

Eseguire lo strumento di wrapping delle appRun the App Wrapping Tool

  1. Nel computer di Windows in cui è stato installato lo strumento di wrapping delle app, aprire una finestra di PowerShell.On the Windows computer where you installed the App Wrapping Tool, open a PowerShell window.

  2. Dalla cartella in cui è installato lo strumento, importare il modulo di PowerShell dello strumento di wrapping delle app:From the folder where you installed the tool, import the App Wrapping Tool PowerShell module:

    Import-Module .\IntuneAppWrappingTool.psm1
    
  3. Eseguire lo strumento usando il comando invoke-AppWrappingTool che ha la sintassi seguente:Run the tool by using the invoke-AppWrappingTool command, which has the following usage syntax:

    Invoke-AppWrappingTool [-InputPath] <String> [-OutputPath] <String> -KeyStorePath <String> -KeyStorePassword <SecureString>
    -KeyAlias <String> -KeyPassword <SecureString> [-SigAlg <String>] [<CommonParameters>]
    

    La tabella che segue descrive le proprietà del comando invoke-AppWrappingTool:The following table details the properties of the invoke-AppWrappingTool command:

ProprietàProperty InformazioniInformation EsempioExample
-InputPath<Stringa>-InputPath<String> Percorso dell'app Android di origine (.apk).Path of the source Android app (.apk).
-OutputPath<Stringa>-OutputPath<String> Percorso dell'app Android di output.Path to the output Android app. Se il percorso della directory è uguale a quello per InputPath, il pacchetto non riuscirà.If this is the same directory path as InputPath, the packaging will fail.
-KeyStorePath<Stringa>-KeyStorePath<String> Percorso del file dell'archivio chiavi che contiene la coppia di chiavi pubblica/privata per la firma.Path to the keystore file that has the public/private key pair for signing. Per impostazione predefinita i file dell'archivio chiavi vengono archiviati in "C:\Programmi (x86)\Java\jreX.X.X_XX\bin".By default, keystore files are stored in "C:\Program Files (x86)\Java\jreX.X.X_XX\bin."
-KeyStorePassword<SecureString>-KeyStorePassword<SecureString> Password usata per decrittografare il file keystore.Password used to decrypt the keystore. Android richiede che tutti i pacchetti di applicazioni (con estensione apk) siano firmati.Android requires all application packages (.apk) to be signed. Usare keytool Java per generare KeyStorePassword.Use Java keytool to generate the KeyStorePassword. Altre informazioni sulla classe KeyStore Java sono disponibili qui.Read more about Java KeyStore here.
-KeyAlias<Stringa>-KeyAlias<String> Nome della chiave da usare per la firma.Name of the key to be used for signing.
-KeyPassword<SecureString>-KeyPassword<SecureString> Password usata per decrittografare la chiave privata da usare per la firma.Password used to decrypt the private key that will be used for signing.
-SigAlg<SecureString>-SigAlg<SecureString> (Facoltativo) Nome dell'algoritmo di firma da usare per la firma.(Optional) The name of the signature algorithm to be used for signing. L'algoritmo deve essere compatibile con la chiave privata.The algorithm must be compatible with the private key. Esempi: SHA256withRSA, SHA1withRSAExamples: SHA256withRSA, SHA1withRSA
<Parametri comuni><CommonParameters> (Facoltativo) Il comando supporta parametri PowerShell comuni, come verbose e debug.(Optional) The command supports common PowerShell parameters like verbose and debug.
  • Per un elenco di parametri comuni, vedere il Microsoft Script Center.For a list of common parameters, see the Microsoft Script Center.

  • Per visualizzare informazioni dettagliate sull'uso dello strumento, immettere il seguente comando:To see detailed usage information for the tool, enter the command:

    Help Invoke-AppWrappingTool
    

Esempio:Example:

Importare il modulo PowerShell.Import the PowerShell module.

Import-Module "C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool\IntuneAppWrappingTool.psm1"

Eseguire lo strumento di wrapping delle app sull'app nativa HelloWorld.apk.Run the App Wrapping Tool on the native app HelloWorld.apk.

invoke-AppWrappingTool -InputPath .\app\HelloWorld.apk -OutputPath .\app_wrapped\HelloWorld_wrapped.apk -KeyStorePath "C:\Program Files (x86)\Java\jre1.8.0_91\bin\mykeystorefile" -keyAlias mykeyalias -SigAlg SHA1withRSA -Verbose

Verranno quindi richiesti i valori di KeyStorePassword e KeyPassword.You will then be prompted for KeyStorePassword and KeyPassword. Immettere le credenziali usate per creare il file keystore.Enter the credentials you used to create the key store file.

L'applicazione sottoposta a wrapping e un file di log vengono generati e salvati nel percorso di output specificato.The wrapped app and a log file are generated and saved in the output path you specified.

Riutilizzo dei certificati di protezione ed esecuzione del wrapping delle appReusing signing certificates and wrapping apps

Android richiede che tutte le app siano firmate da un certificato valido per essere installate nei dispositivi Android.Android requires that all apps must be signed by a valid certificate in order to be installed on Android devices.

Le app sottoposte a wrapping possono essere firmate nell'ambito di un processo di wrapping o successivamente tramite gli strumenti di firma esistenti. Le informazioni sulla firma presenti nell'app prima del wrapping vengono eliminate.Wrapped apps can be signed either as part of the wrapping process or after wrapping using your existing signing tools (any signing information in the app before wrapping is discarded).

Se possibile, nell'esecuzione del wrapping è consigliabile usare le informazioni sulla firma già usate durante il processo di compilazione.If possible, the signing information that was already used during the build process should be used during wrapping. In alcune organizzazioni potrebbe essere necessario collaborare con gli utenti in possesso delle informazioni sull'archivio chiavi, ad esempio il team di compilazione dell'app.In certain organizations, this may require working with whoever owns the keystore information (ie. the app build team).

Se non è possibile usare il certificato di firma precedente o se l'app non è stata distribuita in precedenza, è possibile creare un nuovo certificato di firma seguendo le istruzioni descritte nella Guida per gli sviluppatori Android.If the previous signing certificate cannot be used, or the app has not been deployed before, you may create a new signing certificate by following the instructions in the Android Developer Guide.

Se l'app è stata distribuita in precedenza con un certificato di firma diverso, non è possibile caricarla in Intune dopo l'aggiornamento.If the app has been deployed previously with a different signing certificate, the app can't be uploaded to Intune after upgrade. Gli scenari di aggiornamento dell'app vengono interrotti nel caso in cui l'app sia stata firmata con un certificato diverso da quello con cui è stata compilata.App upgrade scenarios will be broken if your app is signed with a different certificate than the one the app is built with. Di conseguenza, è necessario mantenere i nuovi certificati di firma per gli aggiornamenti delle app.As such, any new signing certificates should be maintained for app upgrades.

Considerazioni sulla sicurezza per l'esecuzione dello strumento di wrapping delle appSecurity considerations for running the App Wrapping Tool

Per evitare potenziali attacchi di spoofing, divulgazione di informazioni e l'elevazione dei privilegi:To prevent potential spoofing, information disclosure, and elevation of privilege attacks:

  • Assicurarsi che l'applicazione line-of-business (LOB) di input, l'applicazione di output e Java KeyStore siano nello stesso computer Windows in cui è in esecuzione lo strumento di wrapping delle app.Ensure that the input line-of-business (LOB) application, output application, and Java KeyStore are on the same Windows computer where the App Wrapping Tool is running.

  • Importare l'applicazione di output in Intune, nello stesso computer in cui è in esecuzione lo strumento.Import the output application to Intune on the same machine where the tool is running. Per altre informazioni sullo strumento keytool Java, vedere keytool.See keytool for more about about Java keytool.

  • Se l'applicazione di output e lo strumento si trovano in un percorso UNC (Universal Naming Convention) e non si eseguono lo strumento e il file di input nello stesso computer, configurare l'ambiente per la protezione con IPSec (Internet Protocol Security) o la firma SMB (Server Message Block).If the output application and the tool are on a Universal Naming Convention (UNC) path and you are not running the tool and input files on the same computer, set up the environment to be secure by using Internet Protocol Security (IPsec) or Server Message Block (SMB) signing.

  • Assicurarsi che l'applicazione provenga da una fonte attendibile.Ensure that the application is coming from a trusted source.

  • Proteggere la directory di output che contiene l'applicazione di cui è stato eseguito il wrapping.Secure the output directory that has the wrapped app. È possibile utilizzare una directory a livello di utente per l'output.Consider using a user-level directory for the output.

Vedere ancheSee also