Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / man / signcode.1
1 .\" 
2 .\" signcode manual page.
3 .\" Copyright 2003 Motus Technologies
4 .\" Copyright 2004 Novell
5 .\" Author:
6 .\"   Sebastien Pouliot (sebastien@ximian.com)
7 .\"
8 .TH Mono "signcode"
9 .SH NAME
10 signcode \- Digitally sign an PE executable using an X.509 certificate.
11 .SH SYNOPSIS
12 .PP
13 .B signcode [options] filename
14 .SH DESCRIPTION
15 Digitally sign an PE executable (CLR assembly, Win32 EXE or DLL) using an 
16 X.509 certificate and it's associated private key. The signature is compatible
17 with Authenticode(r) and can be validated with chktrust (either on Windows or
18 on any platform supported by Mono).
19 .SH OPTIONS
20 .TP
21 .I "-spc spcfile"
22 The Software Publisher File (spc) that contains the X.509 certificate chain
23 used to digitally sign the PE executable.
24 .TP
25 .I "-v pvkfile"
26 The Private Key File (pvk) that contains the private key used to digitally 
27 sign the PE executable. This private key must match the public key inside the
28 publisher X.509 certificate.
29 .TP
30 .I "-a sha1 | md5"
31 The hash algorithm used in the digital signature of the PE executable. The 
32 default algorithm is SHA1.
33 .TP
34 .I "-$ individual | commercial"
35 Add information about the publisher, i.e. if the signature is generated by an
36 individual or a commercial entity.
37 .TP
38 .I "-n description"
39 Add a textual description of the signed file.
40 .TP
41 .I "-i url"
42 Add a URL associated to the publisher or the signed file.
43 .TP
44 .I "-t url"
45 URL to a timestamp service to countersign the PE executable. Countersignature
46 is required if you want the PE executable signature to be valid after the
47 publisher certificate expires. The countersignature proves that the publisher
48 had a valid (non-expired) certificate when the PE executable was signed.
49 .TP
50 .I "-tr #"
51 Number of retries to get a timestamp for the countersignature.
52 .TP
53 .I "-tw #"
54 Delay (in seconds) between the retries to get a timestamp for the countersignature.
55 .TP
56 .I "-k name"
57 CryptoAPI key container name (when not using -v).
58 .TP
59 .I "-p name"
60 CryptoAPI provider name (when not using -v).
61 .TP
62 .I "-y #"
63 CryptoAPI provider type (when not using -v or -p).
64 .TP
65 .I "-ky signature | exchange | #"
66 CryptoAPI key type (when not using -v).
67 .TP
68 .I "-r localMachine | currentUser"
69 CryptoAPI key location (when not using -v).
70 .TP
71 .I "-help", "-h", "-?", "/?"
72 Display help about this tool.
73 .SH OTHER CODE SIGNING TECHNOLOGIES
74 Assemblies are PE files that can also be strongnamed using the sn.exe tool. The 
75 order of code signature is important if a file requires both an Authenticode 
76 and a strongname signature. Strongname must be applied before the Authenticode 
77 signature. Applying a strongname after the Authenticode signature, like 
78 re-signing an assembly (e.g. delay-sign), will invalidate the Authenticode 
79 signature.
80 .SH KNOWN RESTRICTIONS
81 signcode cannot generate Authenticode signatures for CAB files.
82 .SH AUTHOR
83 Written by Sebastien Pouliot
84 .SH COPYRIGHT
85 Copyright (C) 2003 Motus Technologies. 
86 Copyright (C) 2004 Novell.
87 Released under BSD license.
88 .SH MAILING LISTS
89 Visit http://lists.ximian.com/mailman/listinfo/mono-devel-list for details.
90 .SH WEB SITE
91 Visit http://www.mono-project.com for details
92 .SH SEE ALSO
93 .BR chktrust(1), makecert(1), cert2spc(1)