• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2022 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.hap.verify;
17 
18 import com.ohos.hapsigntool.hap.entity.SigningBlock;
19 import org.bouncycastle.cert.X509CertificateHolder;
20 import org.bouncycastle.cms.SignerInformation;
21 import org.bouncycastle.util.Store;
22 
23 import java.security.cert.X509CRL;
24 import java.security.cert.X509Certificate;
25 import java.util.List;
26 
27 /**
28  * Indicate result of verify hap.
29  *
30  * @since 2021/12/22
31  */
32 public class VerifyResult {
33     /**
34      * Return code of verification success.
35      */
36     public static final int RET_SUCCESS = 10000;
37 
38     /**
39      * Return code of unknown error.
40      */
41     public static final int RET_UNKNOWN_ERROR = 10001;
42 
43     /**
44      * Return code of IO error.
45      */
46     public static final int RET_IO_ERROR = 10002;
47 
48     /**
49      * Return code of file format error.
50      */
51     public static final int RET_UNSUPPORTED_FORMAT_ERROR = 10003;
52 
53     /**
54      * Return code of file not found error.
55      */
56     public static final int RET_FILE_NOT_FOUND_ERROR = 10004;
57 
58     /**
59      * Return code of encoding certificates errors.
60      */
61     public static final int RET_CERTIFICATE_ENCODING_ERROR = 10005;
62 
63     /**
64      * Return code of unsupported algorithm error.
65      */
66     public static final int RET_UNSUPPORTED_ALGORITHM_ERROR = 10006;
67 
68     /**
69      * Return code of digest error.
70      */
71     public static final int RET_DIGEST_ERROR = 10007;
72 
73     /**
74      * Return code of signatures not found error.
75      */
76     public static final int RET_SIGNATURE_NOT_FOUND_ERROR = 10008;
77 
78     /**
79      * Return code of signatures verify error.
80      */
81     public static final int RET_SIGNATURE_ERROR = 10009;
82 
83     /**
84      * Return code of certificate revoked error.
85      */
86     public static final int RET_CERTIFICATE_REVOKED = 10010;
87 
88     /**
89      * Return code of certificate revoked error.
90      */
91     public static final int RET_CRL_ERROR = 10011;
92 
93     private boolean result;
94     private int code;
95     private String message;
96 
97     private List<X509Certificate> certificates;
98 
99     private List<X509CRL> crls;
100 
101     private List<SignerInformation> signerInfos;
102 
103     private List<SigningBlock> optionalBlocks;
104 
105     private Store<X509CertificateHolder> certificateHolderStore;
106 
107     private int signBlockVersion;
108 
109     /**
110      * Empty constructor
111      */
VerifyResult()112     public VerifyResult() {
113     }
114 
115     /**
116      * Verify result constructor
117      *
118      * @param result verify result
119      * @param code error code
120      * @param message error message
121      */
VerifyResult(boolean result, int code, String message)122     public VerifyResult(boolean result, int code, String message) {
123         this.result = result;
124         this.code = code;
125         this.message = message;
126     }
127 
isVerified()128     public boolean isVerified() {
129         return result;
130     }
131 
setResult(boolean result)132     public void setResult(boolean result) {
133         this.result = result;
134     }
135 
getCode()136     public int getCode() {
137         return code;
138     }
139 
setCode(int code)140     public void setCode(int code) {
141         this.code = code;
142     }
143 
getMessage()144     public String getMessage() {
145         return message;
146     }
147 
setMessage(String message)148     public void setMessage(String message) {
149         this.message = message;
150     }
151 
getCertificates()152     public List<X509Certificate> getCertificates() {
153         return certificates;
154     }
155 
setCertificates(List<X509Certificate> certificates)156     public void setCertificates(List<X509Certificate> certificates) {
157         this.certificates = certificates;
158     }
159 
getCrls()160     public List<X509CRL> getCrls() {
161         return crls;
162     }
163 
setCrls(List<X509CRL> crls)164     public void setCrls(List<X509CRL> crls) {
165         this.crls = crls;
166     }
167 
getSignerInfos()168     public List<SignerInformation> getSignerInfos() {
169         return signerInfos;
170     }
171 
setSignerInfos(List<SignerInformation> signerInfos)172     public void setSignerInfos(List<SignerInformation> signerInfos) {
173         this.signerInfos = signerInfos;
174     }
175 
getOptionalBlocks()176     public List<SigningBlock> getOptionalBlocks() {
177         return optionalBlocks;
178     }
179 
setOptionalBlocks(List<SigningBlock> optionalBlocks)180     public void setOptionalBlocks(List<SigningBlock> optionalBlocks) {
181         this.optionalBlocks = optionalBlocks;
182     }
183 
getCertificateHolderStore()184     public Store<X509CertificateHolder> getCertificateHolderStore() {
185         return certificateHolderStore;
186     }
187 
setCertificateHolderStore(Store<X509CertificateHolder> certificateHolderStore)188     public void setCertificateHolderStore(Store<X509CertificateHolder> certificateHolderStore) {
189         this.certificateHolderStore = certificateHolderStore;
190     }
191 
getSignBlockVersion()192     public int getSignBlockVersion() {
193         return signBlockVersion;
194     }
195 
setSignBlockVersion(int signBlockVersion)196     public void setSignBlockVersion(int signBlockVersion) {
197         this.signBlockVersion = signBlockVersion;
198     }
199 }
200