Semnarea unui pachet de aplicații utilizând dezvoltatorul signtool - uwp app, microsoft docs

În acest articol

SignTool este un instrument de linie de comandă folosit pentru a semna digital un pachet sau un set de aplicații cu un certificat. Certificatul poate fi creat de utilizator (pentru testare) sau emis de companie (pentru distribuire). Semnarea unui pachet de aplicații oferă utilizatorului posibilitatea de a verifica dacă nu există nicio modificare a datelor aplicației după semnarea acestuia, autentificând totodată utilizatorul sau compania care a semnat pachetul. SignTool poate semna pachete criptate și necriptate și seturi de aplicații.







Dacă Visual Studio a fost folosit pentru a dezvolta aplicația, este recomandat să utilizați Visual Studio Wizard pentru a crea și a semna un pachet de aplicații. Pentru mai multe informații, consultați Ambalarea unei aplicații UWP Utilizând Visual Studio.

Pentru mai multe informații despre semnarea codului și certificatele în general, consultați Introducere în procesul de semnare a codului.

Cerințe preliminare

Certificat de semnătură valabil
Pentru mai multe informații despre crearea sau importul unui certificat valid de semnare, consultați Crearea sau importul unui certificat pentru semnarea unui pachet.

SignTool.exe
În funcție de calea de instalare a SDK, SignTool poate fi localizată în următoarele locații pe un computer care rulează Windows 10:

  • x86: C: \ Program Files (x86) \ Kituri Windows \ 10 \ bin \ x86 \ SignTool.exe
  • x64: C: \ Program Files (x86) \ Kituri Windows \ 10 \ bin \ x64 \ SignTool.exe

Utilizând SignTool

SignTool poate fi folosit pentru a semna fișiere, a verifica semnăturile și timbrele, a șterge semnăturile și altele. Deoarece suntem interesați de semnarea pachetului de aplicații, vom lua în considerare comanda semnelor. Pentru mai multe informații despre instrumentul SignTool, consultați pagina de ajutor SignTool.

Definiția algoritmului de ștergere

Când utilizați SignTool pentru a semna un pachet sau un set de aplicații, algoritmul hash utilizat în SignTool. trebuie să se potrivească cu algoritmul utilizat pentru a ambala aplicația. De exemplu, dacă ați folosit MakeAppx.exe pentru a crea un pachet de aplicații cu setările implicite, trebuie să selectați SHA256 în SignTool. deoarece acesta este algoritmul utilizat în mod implicit în MakeAppx.exe.







Pentru a afla care algoritm hash a fost folosit pentru a împacheta aplicația, extrage conținutul pachetului și examinează fișierul AppxBlockMap.xml. Pentru instrucțiuni privind despachetarea / extragerea unui pachet de aplicații, consultați Extragerea fișierelor dintr-un pachet sau un set. Metoda hash este specificată în elementul BlockMap și are următorul format:

Acest tabel prezintă fiecare valoare HashMethod și algoritmul hash corespunzător:

Notă SignTool utilizează în mod implicit algoritmul SHA1 (care nu este prezent în MakeAppx.exe), întotdeauna trebuie să specificați un algoritm hash atunci când utilizați SignTool.

Semnătura pachetului de aplicații

Dacă aveți toate componentele necesare și ați determinat ce algoritm de hash a fost folosit pentru a împacheta aplicația, atunci sunteți gata să îl semnați.

Sintaxa generală pentru linia de comandă atunci când semnați un pachet cu SignTool este:

Certificatul utilizat pentru a semna aplicația trebuie să fie un fișier PFX sau instalat în magazinul de certificate.

Pentru a semna un pachet de aplicații utilizând un certificat dintr-un fișier PFX, utilizați următoarea sintaxă:

Rețineți că opțiunea / a permite SignTool să selecteze automat cel mai potrivit certificat.

Dacă certificatul dvs. nu este un fișier PFX, utilizați următoarea sintaxă:

În plus, puteți specifica hash-ul SHA1 al certificatului dorit în locul lui <Имя сертификата>, utilizând următoarea sintaxă:

Rețineți că, în cazul anumitor certificate, parola nu este utilizată. Dacă parola nu necesită o parolă, omiteți "/ p <Ваш пароль>"în exemplele de comenzi.

Prin semnarea pachetului de aplicații cu un certificat valid, puteți trimite pachetul în magazin. Pentru mai multe recomandări cu privire la modul de descărcare și trimitere a aplicațiilor în Magazin, consultați Trimiterea aplicațiilor.

Erori comune și eliminarea acestora

Cele mai frecvente tipuri de erori la utilizarea SignTool sunt interne și, de obicei, arată cam așa:

Dacă codul de eroare începe cu 0x8008, de exemplu, 0x80080206 (APPX_E_CORRUPT_CONTENT), pachetul semnat nu este valid. Când apare acest tip de eroare, trebuie să reconstruiți din nou pachetul și să executați din nou SignTool.

Instrumentul SignTool are o opțiune de depanare pentru a afișa erorile cu certificatul și pentru a le filtra. Pentru a utiliza funcția de depanare, puneți opțiunea / debug imediat după semnare. și apoi o comandă completă SignTool.

Cea mai obișnuită eroare este 0x8007000B. Puteți găsi mai multe informații despre acest tip de eroare în jurnalul de evenimente.

Pentru mai multe informații, consultați jurnalul de evenimente:

Eroarea internă 0x8007000B corespunde, de obicei, uneia dintre următoarele valori:







Trimiteți-le prietenilor: