SignFile (attività)
Consente di firmare il file specificato usando il certificato specificato. SignFile è destinato solo alla firma dei file ClickOnce. Si tratta di un wrapper per lo signtool.exe
strumento e non è un'attività di firma per utilizzo generico.
Parametri
Nella tabella che segue vengono descritti i parametri dell'attività SignFile
.
Notare che i certificati SHA-256 sono consentiti solo in computer con .NET 4.5 e versioni successive.
Avviso
A partire da Visual Studio 2013 Update 3, questa attività ha una nuova firma che consente di specificare la versione del framework di destinazione per il file. L'utente è incoraggiato a usare la nuova firma, ove possibile, perché il processo di MSBuild usa gli hash SHA-256 solo quando il framework di destinazione è .NET 4.5 o versione successiva. Se il framework di destinazione è .NET 4.0 o versione precedente, l'hash SHA-256 non verrà usato.
Parametro | Descrizione |
---|---|
CertificateThumbprint |
Parametro String obbligatorio.Specifica il certificato da usare per la firma. Questo certificato deve trovarsi nell'archivio personale dell'utente corrente. |
SigningTarget |
Parametro ITaskItem obbligatorio. Specifica i file da firmare con il certificato, di tipo .exe o .dll. |
TimestampUrl |
Parametro String facoltativo.Specifica l'URL del server di timestamp. |
TargetFrameworkVersion |
La versione di.NET Framework che viene usata per la destinazione. |
Osservazioni:
Oltre ai parametri sopra elencati, quest'attività eredita i parametri dalla classe Task. Per un elenco di tali parametri aggiuntivi e le relative descrizioni, vedere Classe di base Task.
SignFile richiede l'installazione di Visual Studio o di un SDK di Windows 8.1 per trovare lo signtool.exe
strumento nel percorso. Non può essere usato negli scenari CI/CD in cui sono installati solo gli strumenti di compilazione.
Esempio
Nell'esempio seguente viene usata l'attività SignFile
per firmare i file specificati nella raccolta di elementi FilesToSign
con il certificato specificato dalla proprietà CertificateThumbprint
.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<FileToSign Include="File.exe" />
</ItemGroup>
<PropertyGroup>
<Certificate>Cert.cer</Certificate>
</PropertyGroup>
<Target Name="Sign">
<SignFile
CertificateThumbprint="$(CERTIFICATE_THUMBPRINT)"
SigningTarget="@(FileToSign)"
TargetFrameworkVersion="v4.5" />
</Target>
</Project>
Nota
L'identificazione personale del certificato è l'hash SHA-1 del certificato. Nell'esempio seguente si presuppone una variabile di ambiente contenente l'identificazione CERTIFICATE_THUMBPRINT
personale. Per altre informazioni, vedere Ottenere l'hash SHA-1 di un certificato CA radice attendibile. Se si copia e incolla l'identificazione personale presente nei dettagli del certificato, assicurarsi di non includere il carattere invisibile (3F) aggiuntivo, che può impedire a SignFile
di trovare il certificato.