Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un errore di distribuzione dell'app può essere causato da un errore durante la convalida della firma digitale del pacchetto dell'app. Informazioni su come riconoscere questi errori e su cosa fare.
Quando si distribuisce un'app di Windows in pacchetto, Windows tenta sempre di convalidare la firma digitale nel pacchetto dell'app. Errori durante la distribuzione del blocco di convalida della firma del pacchetto. Tuttavia, il motivo per cui il pacchetto non è stato convalidato potrebbe non essere ovvio. In particolare, se si firmano i pacchetti con certificati privati per i test locali, spesso è necessario gestire anche l'attendibilità per tali certificati. Una configurazione di attendibilità del certificato non corretta può causare errori di convalida della firma.
Cosa è necessario sapere
Tecnologie
- creazione di pacchetti, distribuzione ed esecuzione di query su app di Windows
- verifica dell'attendibilità del certificato
Prerequisiti
- Registro Eventi di Windows per diagnosticare le installazioni fallite.
- attività Certutil per la gestione dei certificati per la modifica dell'archivio certificati durante la risoluzione dei problemi
Disposizioni
Passaggio 1: Esaminare i registri eventi per informazioni di diagnostica
A seconda del modo in cui si è tentato di distribuire l'app, potrebbe non essere stato ricevuto un codice di errore significativo per l'errore di distribuzione. In questo caso, in genere è possibile ottenere il codice di errore direttamente dai registri eventi.
Per ottenere il codice di errore dai registri eventi
Eseguire eventvwr.msc.
Passare a Visualizzatore Eventi (locale)>Registri Applicazioni e Servizi>Microsoft>Windows.
Il primo log da controllare è AppxPackagingOM>Microsoft-Windows-AppxPackaging/Operational.
Gli errori correlati alla distribuzione vengono registrati in AppXDeployment-Server>Microsoft-Windows-AppXDeploymentServer/Operational.
Per gli errori di distribuzione, cercare l'evento di errore 404 più recente. Questo evento di errore fornisce il codice di errore e una descrizione del motivo per cui la distribuzione non è riuscita. Se un evento di errore 465 ha preceduto l'evento 404, si è verificato un problema durante l'apertura del pacchetto.
Se l'errore 465 non si è verificato, vedere la sezione generale su come risolvere i problemi di creazione di pacchetti, distribuzione e query delle app di Windows. In caso contrario, fare riferimento a questa tabella per i codici di errore comuni che possono essere visualizzati nella stringa di errore per l'evento di errore 465:
| Codice di errore | Errore | Descrizione | Suggerimento |
|---|---|---|---|
| 0x80073CF0 | ERRORE_INSTALLAZIONE_APERTURA_PACCHETTO_FALLITA | Impossibile aprire il pacchetto dell'app. | Questo errore indica in genere un problema con il pacchetto. È necessario compilare e firmare di nuovo il pacchetto. Per ulteriori informazioni, vedere Utilizzo del pacchetto app. |
| 0x80080205 | APPX_E_INVALID_BLOCKMAP | Il pacchetto dell'app è stato manomesso o ha una mappa a blocchi non valida. | Il pacchetto è danneggiato. È necessario compilare e firmare di nuovo il pacchetto. Per altre info, vedere Using App Packager. |
| 0x800B0004 | TRUST_E_SOGGETTO_NON_FIDATO | Il pacchetto dell'app è stato manomesso. | Il contenuto del pacchetto non corrisponde più alla firma digitale. È necessario firmare di nuovo il pacchetto. Per altre informazioni, vedere Come firmare un pacchetto dell'app con SignTool. |
| 0x800B0100 | TRUST_E_NOSIGNATURE | Il pacchetto dell'app non è firmato. | È possibile distribuire solo i pacchetti di app di Windows firmati. Per informazioni sulla firma di un pacchetto dell'app, vedere Come firmare un pacchetto dell'app usando SignTool. |
| 0x800B0109 | CERT_E_UNTRUSTED_ROOT (errore di certificato: root non attendibile) | La catena di certificati usata per firmare il pacchetto dell'app termina con un certificato radice non attendibile. | Continuare con il passaggio 2 per risolvere i problemi relativi all'attendibilità del certificato. |
| 0x800B010A | CERT_E_CHAINING | Nessuna catena di certificati non è stato possibile costruire fino a un'autorità di certificazione radice attendibile dal certificato usato per firmare il pacchetto dell'app. | Continuare con il passaggio 2 per risolvere i problemi relativi all'attendibilità del certificato. |
Passaggio 2: Determinare la catena di certificati usata per firmare il pacchetto dell'app
Per determinare i certificati che il computer locale deve considerare attendibile, è possibile esaminare la catena di certificati per la firma digitale nel pacchetto dell'app.
Per determinare la catena di certificati
- In Esplora file fare clic con il pulsante destro del mouse sul pacchetto dell'app e selezionare Proprietà.
- Nella finestra di dialogo Proprietà, selezionare la scheda Firme Digitali, che visualizza anche se la firma può essere convalidata.
- Nell'elenco Firma, selezionare la firma e quindi fare clic sul pulsante Dettagli.
- Nella finestra di dialogo Dettagli firma digitale, fare clic sul pulsante Visualizza certificato.
- Nella finestra di dialogo certificato, selezionare la scheda percorso di certificazione.
Il certificato superiore nella catena è il certificato radice e il certificato inferiore è il certificato di firma. Se nella catena si trova un solo certificato, il certificato di firma è anche il suo stesso certificato radice. È possibile determinare il numero di serie per ogni certificato usato con Certutil:
Per determinare il numero di serie per ogni certificato
- Nel riquadro Percorso di certificazione selezionare il certificato e quindi fare clic su Visualizza certificato.
- Nella finestra di dialogo Certificato selezionare la scheda Dettagli, che visualizza il numero di serie e altre proprietà utili del certificato.
Passaggio 3: Determinare i certificati considerati attendibili dal computer locale
Per poter distribuire un pacchetto dell'app, non deve essere considerato attendibile solo nel contesto dell'utente, ma anche nel contesto del computer locale. Di conseguenza, la firma digitale può essere visualizzata come valida quando viene visualizzata nella scheda Firme digitali del passaggio precedente, ma può ancora fallire durante la convalida nella distribuzione del pacchetto dell'applicazione.
Determinare se la catena di certificati usata per firmare il pacchetto dell'app è specificatamente attendibile dal computer locale
Eseguire questo comando:
CertUtil.exe -store Root rootCertSerialNumberEseguire questo comando:
CertUtil.exe -store TrustedPeople signingCertSerialNumber
Se non si specifica il numero di serie del certificato, Certutil elenca tutti i certificati attendibili dal computer locale per lo store.
Il pacchetto potrebbe non essere installato a causa di errori di concatenamento dei certificati, anche se il certificato di firma non è autofirmato e il certificato radice si trova nell'archivio radice del computer locale. In questo caso, potrebbe verificarsi un problema relativo all'attendibilità per le autorità di certificazione intermedie. Per altre informazioni su questo problema, vedere Uso dei certificati.
Osservazioni
Se si è determinato che non è stato possibile distribuire il pacchetto perché il certificato di firma non è attendibile, non installare il pacchetto a meno che non si conosca dove ha avuto origine e si consideri attendibile.
Se vuoi considerare attendibile manualmente l'app per l'installazione (ad esempio, per installare il tuo pacchetto di app con firma di test), puoi aggiungere manualmente il certificato all'attendibilità del certificato del computer locale dal pacchetto dell'app.
Aggiungere manualmente il certificato all'attendibilità del certificato del computer locale
- In Esplora file fare clic con il pulsante destro del mouse sul pacchetto dell'app e nel menu di scelta rapida a comparsa selezionare Proprietà.
- Nella finestra di dialogo Proprietà, selezionare la scheda firme digitali.
- Nell'elenco Firma selezionare la firma e quindi fare clic sul pulsante Dettagli.
- Nella finestra di dialogo Dettagli Firma Digitale, fare clic sul pulsante Visualizza certificato.
- Nella finestra di dialogo Certificato fare clic sul pulsante Installa Certificato.
- Nella procedura guidata di importazione dei certificati, selezionare Computer locale e quindi fare clic su Avanti. Sarà necessario concedere privilegi di amministratore per continuare.
- Selezionare Inserire tutti i certificati nell'archivio seguente e passare all'archivio Persone Fidate.
- Fare clic su Avanti, quindi fare clic su Fine per completare la procedura guidata.
Dopo questa aggiunta manuale, è possibile vedere che il certificato è ora fidato nella finestra di dialogo certificato.
È possibile rimuovere il certificato dopo che non è più necessario.
Rimuovere il certificato
Esegui Cmd.exe come amministratore.
Nel prompt dei comandi dell'amministratore eseguire questo comando:
Certutil -store TrustedPeopleCercare il numero di serie del certificato installato. Questo numero è il certID.
Eseguire questo comando:
Certutil -delStore TrustedPeople certID
È consigliabile evitare di aggiungere manualmente i certificati radice al computer locale archivio certificati autorità di certificazione radice attendibili. La presenza di più applicazioni firmate con certificati concatenati allo stesso certificato radice, ad esempio le applicazioni line-of-business, può essere più efficiente rispetto all'installazione di singoli certificati nell'archivio Persone attendibili. L'archivio Persone attendibili contiene certificati considerati attendibili per impostazione predefinita e quindi non vengono verificati da autorità superiori o elenchi di attendibilità dei certificati o catene. Per considerazioni sull'aggiunta di certificati all'archivio certificati delle autorità di certificazione radice attendibili, vedere le Best practice Code-Signing.
Considerazioni sulla sicurezza
Aggiungendo un certificato a archivi certificati del computer locale, si influisce sull'attendibilità del certificato di tutti gli utenti nel computer. È consigliabile installare tutti i certificati di firma del codice desiderati per testare i pacchetti dell'app nell'archivio certificati Persone attendibili. Rimuovere tempestivamente tali certificati quando non sono più necessari, per evitare che vengano usati per compromettere l'attendibilità del sistema. Se si creano certificati di test personalizzati per la firma dei pacchetti dell'app, è consigliabile limitare anche i privilegi associati al certificato di test. Per informazioni sulla creazione di certificati di test per la firma dei pacchetti dell'app, vedere Come creare un certificato di firma del pacchetto dell'app.
Argomenti correlati
-
esempi di
-
concetti
-
Risoluzione dei problemi di creazione di pacchetti, distribuzione e query di app di Windows