• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025-2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 package com.ohos.hapsigntool.error;
17 
18 /**
19  * SignToolErrMsg
20  *
21  * @since 2025/01/06
22  */
23 public class SignToolErrMsg {
24     // unknown error
25     /**
26      * UNKNOWN_ERROR
27      */
28     public static final ErrorMsg UNKNOWN_ERROR = ErrorMsg.getSignToolErrBuilder()
29             .addTypeCode("10")
30             .addErrCode("001")
31             .addDescription("Unknown error")
32             .addCause("%s")
33             .build();
34 
35     // command error
36     /**
37      * UNSUPPORTED_METHOD
38      */
39     public static final ErrorMsg UNSUPPORTED_METHOD = ErrorMsg.getSignToolErrBuilder()
40             .addTypeCode("11")
41             .addErrCode("001")
42             .addDescription("Unsupported command method")
43             .addCause("Can not find method {%s}")
44             .addSolution("Please run java -jar hap-sign-tool.jar -h to see more help message.")
45             .build();
46 
47     /**
48      * PARAM_CHECK_FAILED
49      */
50     public static final ErrorMsg PARAM_CHECK_FAILED = ErrorMsg.getSignToolErrBuilder()
51             .addTypeCode("11")
52             .addErrCode("002")
53             .addDescription("{%s} param is incorrect")
54             .addCause("%s")
55             .build();
56 
57     /**
58      * PARAM_NUM_ERROR
59      */
60     public static final ErrorMsg PARAM_NUM_ERROR = ErrorMsg.getSignToolErrBuilder()
61             .addTypeCode("11")
62             .addErrCode("003")
63             .addDescription("Check param num failed")
64             .addCause("Please run java -jar hap-sign-tool.jar -h to see more help message.")
65             .build();
66 
67     /**
68      * PARAM_VALUE_EMPTY
69      */
70     public static final ErrorMsg PARAM_VALUE_EMPTY = ErrorMsg.getSignToolErrBuilder()
71             .addTypeCode("11")
72             .addErrCode("004")
73             .addDescription("Check param failed")
74             .addCause("Param {%s} value could not be empty")
75             .build();
76 
77     /**
78      * PARAM_NOT_TRUSTED
79      */
80     public static final ErrorMsg PARAM_NOT_TRUSTED = ErrorMsg.getSignToolErrBuilder()
81             .addTypeCode("11")
82             .addErrCode("005")
83             .addDescription("Param is not trusted")
84             .addCause("Please run java -jar hap-sign-tool.jar -h to see more help message.")
85             .build();
86 
87     /**
88      * PARAM_NOT_IN_PAIRS
89      */
90     public static final ErrorMsg PARAM_NOT_IN_PAIRS = ErrorMsg.getSignToolErrBuilder()
91             .addTypeCode("11")
92             .addErrCode("006")
93             .addDescription("Param {-key value} must in pairs")
94             .addCause("Please run java -jar hap-sign-tool.jar -h to see more help message.")
95             .build();
96 
97     /**
98      * PARAM_DUPLICATE
99      */
100     public static final ErrorMsg PARAM_DUPLICATE = ErrorMsg.getSignToolErrBuilder()
101             .addTypeCode("11")
102             .addErrCode("007")
103             .addDescription("Check param num failed")
104             .addCause("Param {%s} is duplicated")
105             .build();
106 
107     /**
108      * PARAM_REQUIRED
109      */
110     public static final ErrorMsg PARAM_REQUIRED = ErrorMsg.getSignToolErrBuilder()
111             .addTypeCode("11")
112             .addErrCode("008")
113             .addDescription("Check param failed")
114             .addCause("Param {%s} is required, but can not be found")
115             .addSolution("Please input required param")
116             .build();
117 
118     /**
119      * MISSING_PARAM
120      */
121     public static final ErrorMsg MISSING_PARAM = ErrorMsg.getSignToolErrBuilder()
122             .addTypeCode("11")
123             .addErrCode("008")
124             .addDescription("Check param failed")
125             .addCause("Missed param {%s}")
126             .build();
127 
128     // file error
129     /**
130      * LOAD_REMOTE_PLUGIN_FAILED
131      */
132     public static final ErrorMsg LOAD_REMOTE_PLUGIN_FAILED = ErrorMsg.getSignToolErrBuilder()
133             .addTypeCode("12")
134             .addErrCode("001")
135             .addDescription("Load remote sign plugin failed")
136             .addCause("%s")
137             .build();
138 
139     /**
140      * FILE_NOT_EXIST
141      */
142     public static final ErrorMsg FILE_NOT_EXIST = ErrorMsg.getSignToolErrBuilder()
143             .addTypeCode("12")
144             .addErrCode("002")
145             .addDescription("File not exist")
146             .addCause("Param {%s} is not exist")
147             .build();
148 
149     /**
150      * FILE_WRITE_FAILED
151      */
152     public static final ErrorMsg FILE_WRITE_FAILED = ErrorMsg.getSignToolErrBuilder()
153             .addTypeCode("12")
154             .addErrCode("003")
155             .addDescription("Write file failed")
156             .addCause("%s")
157             .build();
158 
159     /**
160      * FILE_READ_FAILED
161      */
162     public static final ErrorMsg FILE_READ_FAILED = ErrorMsg.getSignToolErrBuilder()
163             .addTypeCode("12")
164             .addErrCode("004")
165             .addDescription("Read file failed")
166             .addCause("Read file {%s} failed")
167             .build();
168 
169     /**
170      * NOT_SUPPORT_FILE
171      */
172     public static final ErrorMsg NOT_SUPPORT_FILE = ErrorMsg.getSignToolErrBuilder()
173             .addTypeCode("12")
174             .addErrCode("005")
175             .addDescription("Not support file")
176             .addCause("Not support file: %s")
177             .build();
178 
179     /**
180      * FILE_IO_FAILED
181      */
182     public static final ErrorMsg FILE_IO_FAILED = ErrorMsg.getSignToolErrBuilder()
183             .addTypeCode("12")
184             .addErrCode("006")
185             .addDescription("File IO failed")
186             .addCause("%s")
187             .build();
188 
189     // cert error
190     /**
191      * CERT_DN_FORMAT_FAILED
192      */
193     public static final ErrorMsg CERT_DN_FORMAT_FAILED = ErrorMsg.getSignToolErrBuilder()
194             .addTypeCode("13")
195             .addErrCode("001")
196             .addDescription("Check DN format failed")
197             .addCause("Format error, must be \"X=xx,XX=xxx,...\"")
198             .addSolution("Please check param {%s}")
199             .build();
200 
201     /**
202      * CERT_FORMAT_FAILED
203      */
204     public static final ErrorMsg CERT_FORMAT_FAILED = ErrorMsg.getSignToolErrBuilder()
205             .addTypeCode("13")
206             .addErrCode("002")
207             .addDescription("Certificate format is in correct, please check your appCertFile parameter.")
208             .addCause("%s")
209             .addSolution("{-appCertFile} should input a cert chain file,This file is usually suffixed with .cer.")
210             .build();
211 
212     /**
213      * GENERATE_CA_FAILED
214      */
215     public static final ErrorMsg GENERATE_CA_FAILED = ErrorMsg.getSignToolErrBuilder()
216             .addTypeCode("13")
217             .addErrCode("003")
218             .addDescription("Generate CA failed")
219             .addCause("Parameter '%s' and parameter '%s' are inconsistent")
220             .build();
221 
222     /**
223      * CERT_CHAIN_FORMAT_FAILED
224      */
225     public static final ErrorMsg CERT_CHAIN_FORMAT_FAILED = ErrorMsg.getSignToolErrBuilder()
226             .addTypeCode("13")
227             .addErrCode("004")
228             .addDescription("Profile cert must a cert chain")
229             .addCause("cause in cert file: %s")
230             .build();
231 
232     /**
233      * NO_SUCH_SIGNATURE
234      */
235     public static final ErrorMsg NO_SUCH_SIGNATURE = ErrorMsg.getSignToolErrBuilder()
236             .addTypeCode("13")
237             .addErrCode("005")
238             .addDescription("No such algorithm")
239             .addCause("%s")
240             .build();
241 
242     /**
243      * CERT_IO_FAILED
244      */
245     public static final ErrorMsg CERT_IO_FAILED = ErrorMsg.getSignToolErrBuilder()
246             .addTypeCode("13")
247             .addErrCode("006")
248             .addDescription("Certificate IO failed")
249             .addCause("%s")
250             .build();
251 
252     /**
253      * CERTIFICATE_ERROR
254      */
255     public static final ErrorMsg CERTIFICATE_ERROR = ErrorMsg.getSignToolErrBuilder()
256             .addTypeCode("13")
257             .addErrCode("007")
258             .addDescription("Certificate check failed")
259             .addCause("%s")
260             .build();
261 
262     /**
263      * IO_CSR_ERROR
264      */
265     public static final ErrorMsg IO_CSR_ERROR = ErrorMsg.getSignToolErrBuilder()
266             .addTypeCode("13")
267             .addErrCode("008")
268             .addDescription("generate csr failed")
269             .addCause("%s")
270             .build();
271 
272     // key store error
273     /**
274      * KEY_ALIAS_NOT_FOUND
275      */
276     public static final ErrorMsg KEY_ALIAS_NOT_FOUND = ErrorMsg.getSignToolErrBuilder()
277             .addTypeCode("14")
278             .addErrCode("001")
279             .addDescription("key alias not found")
280             .addCause("KeyAlias {%s} is not exist in {%s}")
281             .addSolution("Please check keystore file and keyAlias, ensure keyAlias is exist")
282             .addSolution("Use jdk tool [keytool] check keystore: [keytool -list -keystore xxx.p12]")
283             .build();
284 
285     /**
286      * KEY_ALIAS_EXIST
287      */
288     public static final ErrorMsg KEY_ALIAS_EXIST = ErrorMsg.getSignToolErrBuilder()
289             .addTypeCode("14")
290             .addErrCode("002")
291             .addDescription("Key alias is exist")
292             .addCause("KeyAlias {%s} is exist in {%s}, cloud not overwrite.")
293             .addSolution("Please check keystore file and keyAlias, ensure keyAlias is not exist")
294             .addSolution("Use jdk tool [keytool] check keystore: [keytool -list -keystore xxx.p12]")
295             .build();
296 
297     /**
298      * INIT_KEYSTORE_FAILED
299      */
300     public static final ErrorMsg INIT_KEYSTORE_FAILED = ErrorMsg.getSignToolErrBuilder()
301             .addTypeCode("14")
302             .addErrCode("003")
303             .addDescription("Init keystore failed")
304             .addCause("%s")
305             .addSolution("The key store file does not exist, please check the key store file path.")
306             .addSolution("Incorrect keystore password, please input the correct plaintext password.")
307             .addSolution("The keystore was created by a newer JDK version, please use the same JDK version")
308             .build();
309 
310     /**
311      * INVALID_KEY
312      */
313     public static final ErrorMsg INVALID_KEY = ErrorMsg.getSignToolErrBuilder()
314             .addTypeCode("14")
315             .addErrCode("004")
316             .addDescription("Invalid Key")
317             .addCause("%s")
318             .build();
319 
320     /**
321      * ALGORITHM_NOT_SUPPORT
322      */
323     public static final ErrorMsg ALGORITHM_NOT_SUPPORT = ErrorMsg.getSignToolErrBuilder()
324             .addTypeCode("14")
325             .addErrCode("005")
326             .addDescription("Not support algorithm")
327             .addCause("%s")
328             .build();
329 
330     /**
331      * KEYSTORE_ERROR
332      */
333     public static final ErrorMsg KEYSTORE_ERROR = ErrorMsg.getSignToolErrBuilder()
334             .addTypeCode("14")
335             .addErrCode("006")
336             .addDescription("Keystore exception")
337             .addCause("%s")
338             .build();
339 
340     /**
341      * KEY_PASSWORD_ERROR
342      */
343     public static final ErrorMsg KEY_PASSWORD_ERROR = ErrorMsg.getSignToolErrBuilder()
344             .addTypeCode("14")
345             .addErrCode("007")
346             .addDescription("Key alias {%s} password error")
347             .addCause("%s")
348             .build();
349 
350     /**
351      * NO_USABLE_CERT
352      */
353     public static final ErrorMsg NO_USABLE_CERT = ErrorMsg.getSignToolErrBuilder()
354             .addTypeCode("14")
355             .addErrCode("008")
356             .addDescription("No usable cert found in {%s}")
357             .addCause("MayBe the certificate in keystore is invalid.")
358             .build();
359 
360     // signature error
361     /**
362      * SIGNATURE_FAILED
363      */
364     public static final ErrorMsg SIGNATURE_FAILED = ErrorMsg.getSignToolErrBuilder()
365             .addTypeCode("15")
366             .addErrCode("001")
367             .addDescription("Signature failed")
368             .addCause("%s")
369             .build();
370 
371     /**
372      * SIGNATURE_NOT_MATCHED
373      */
374     public static final ErrorMsg SIGNATURE_NOT_MATCHED = ErrorMsg.getSignToolErrBuilder()
375             .addTypeCode("15")
376             .addErrCode("002")
377             .addDescription("Signature not matched!")
378             .addCause("Signature verify failed")
379             .addSolution("Please check if the keyAlias private key matches the public key in the certificate")
380             .addSolution("If the certificate is changed, the keyAlias should be replaced synchronously")
381             .build();
382 
383     /**
384      * VERIFY_FAILED
385      */
386     public static final ErrorMsg VERIFY_FAILED = ErrorMsg.getSignToolErrBuilder()
387             .addTypeCode("15")
388             .addErrCode("003")
389             .addDescription("Verify signature failed")
390             .addCause("%s")
391             .build();
392 
393     /**
394      * VERIFY_PROFILE_FAILED
395      */
396     public static final ErrorMsg VERIFY_PROFILE_FAILED = ErrorMsg.getSignToolErrBuilder()
397             .addTypeCode("15")
398             .addErrCode("004")
399             .addDescription("Verify profile failed")
400             .addCause("%s")
401             .build();
402 
403     /**
404      * VERIFY_PROFILE_INVALID
405      */
406     public static final ErrorMsg VERIFY_PROFILE_INVALID = ErrorMsg.getSignToolErrBuilder()
407             .addTypeCode("15")
408             .addErrCode("005")
409             .addDescription("Verify profile failed")
410             .addCause("Verify profile pkcs7 failed! Profile is invalid")
411             .addSolution("Check if the profile is legal")
412             .addSolution("Maybe Failed during transmission, please download profile again")
413             .build();
414 
415     /**
416      * VERIFY_PROFILE_FAILED
417      */
418     public static final ErrorMsg PROFILE_CERT_MATCH_FAILED = ErrorMsg.getSignToolErrBuilder()
419             .addTypeCode("15")
420             .addErrCode("005")
421             .addDescription("Profile certificate match failed")
422             .addCause("input certificates do not match with profile")
423             .addSolution("Profile include signature certificate info, please ensure it same as your appCertFile")
424             .addSolution("When applying for profile, need to select a certificate, please choose your appCertFile")
425             .build();
426 
427 
428     // zip error
429     /**
430      * READ_ZIP_FAILED
431      */
432     public static final ErrorMsg READ_ZIP_FAILED = ErrorMsg.getSignToolErrBuilder()
433             .addTypeCode("17")
434             .addErrCode("001")
435             .addDescription("Read zip file failed")
436             .addCause("%s")
437             .addSolution("App (or hap/hsp/hnp) use zip format.")
438             .addSolution("Zip file can support a maximum size of 4G and 65535 sub files.")
439             .addSolution("If this value is exceeded, it will be automatically converted to zip64.")
440             .addSolution("Please check if file is zip64 format, or zip formatted correctly.")
441             .build();
442 
443     /**
444      * WRITE_ZIP_FAILED
445      */
446     public static final ErrorMsg WRITE_ZIP_FAILED = ErrorMsg.getSignToolErrBuilder()
447             .addTypeCode("17")
448             .addErrCode("002")
449             .addDescription("Write zip file failed")
450             .addCause("%s")
451             .build();
452 
453     /**
454      * ALIGNMENT_ZIP_FAILED
455      */
456     public static final ErrorMsg ALIGNMENT_ZIP_FAILED = ErrorMsg.getSignToolErrBuilder()
457             .addTypeCode("17")
458             .addErrCode("003")
459             .addDescription("Alignment zip file failed")
460             .addCause("%s")
461             .build();
462 
463     /**
464      * ZIP_FORMAT_FAILED
465      */
466     public static final ErrorMsg ZIP_FORMAT_FAILED = ErrorMsg.getSignToolErrBuilder()
467             .addTypeCode("17")
468             .addErrCode("004")
469             .addDescription("Zip format failed")
470             .addCause("%s")
471             .build();
472 }
473