1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
30 /**********************************************************************
33 #define JAR_BASE_END JAR_BASE + 100
34 #define ERRX (-1) /* the exit code used on failure */
35 #define FNSIZE 256 /* the maximum length for filenames */
36 #define MAX_RSA_KEY_SIZE 4096
37 #define DEFAULT_RSA_KEY_SIZE 1024
38 #define MANIFEST "manifest.mf"
39 #define DEFAULT_X509_BASENAME "x509"
40 #define DEFAULT_COMMON_NAME "Signtool " NSS_VERSION " Testing Certificate"
41 #define CREATOR "Signtool (signtool " NSS_VERSION ")"
42 #define BREAKAGE "PLEASE DO NOT EDIT THIS FILE. YOU WILL BREAK IT."
43 #define MIN_COMPRESSION_LEVEL (-1)
44 #define MAX_COMPRESSION_LEVEL 9
45 #define DEFAULT_COMPRESSION_LEVEL (-1) /* zlib understands this to be default*/
46 #define STDIN_BUF_SIZE 160
47 #define PROGRAM_NAME "signtool"
48 #define LONG_PROGRAM_NAME "Signing Tool"
49 #define DEFAULT_BASE_NAME "zigbert"
50 #define TMP_OUTPUT "signtool.tmp"
51 #define XPI_TEXT "Creating XPI Compatible Archive"
53 /***************************************************************
56 int GenerateCert(char *nickname
, int keysize
, char *token
);
57 int ListCerts(char *key
, int list_certs
);
58 int VerifyJar(char *filename
);
59 int SignArchive(char *tree
, char *keyName
, char *zip_file
, int javascript
,
60 char *meta_file
, char *install_script
, int _optimize
, PRBool recurse
);
61 int SignAllArc(char *jartree
, char *keyName
, int javascript
, char *metafile
,
62 char *install_script
, int optimize
, PRBool recurse
);
63 int InlineJavaScript(char *dir
, PRBool recurse
);
64 int JarWho(char *filename
);
65 void JarListModules(void);
67 /**************************************************************
70 CERTCertDBHandle
*OpenCertDB (PRBool readOnly
);
72 int RemoveAllArc(char *tree
);
73 void VerifyCertDir(char *dir
, char *keyName
);
74 int InitCrypto(char *cert_dir
, PRBool readOnly
);
75 int foreach (char *dirname
, char *prefix
,
76 int (*fn
)(char *filename
, char *dirname
, char *basedir
,char *base
,void*arg
),
77 PRBool recurse
, PRBool includeDirs
, void *arg
);
78 void print_error (int i
);
79 void give_help (int status
);
80 const char* secErrorString(long code
);
81 void displayVerifyLog(CERTVerifyLog
*log
);
83 void LongUsage (void);
85 void out_of_memory(void);
86 void FatalError(char *msg
);
87 char* get_default_cert_dir(void);
88 SECItem
*password_hardcode(void *arg
, void *handle
);
89 char* pk11_password_hardcode(PK11SlotInfo
*slot
, PRBool retry
, void *arg
);
90 int rm_dash_r(char *path
);
91 char* pr_fgets(char *buf
, int size
, PRFileDesc
*file
);
94 /*****************************************************************
95 * Global Variables (*gag*)
97 extern char *password
; /* the password passed in on the command line */
98 extern PLHashTable
*excludeDirs
; /* directory entry to skip while recursing */
101 extern char *base
; /* basename of ".rsa" and ".sf" files */
102 extern long *mozilla_event_queue
;
103 extern char *progName
; /* argv[0] */
104 extern PLHashTable
*extensions
;/* only sign files with this extension */
105 extern PRBool extensionsGiven
;
106 extern char *scriptdir
;
107 extern int compression_level
;
108 extern PRFileDesc
*outputFD
, *errorFD
;
109 extern int verbosity
;
110 extern int errorCount
;
111 extern int warningCount
;
112 extern secuPWData pwdata
;
114 #endif /* SIGNTOOL_H */