Clean up header files about wrt
[platform/core/security/cert-svc.git] / src / vcore / Ocsp.h
1 /*
2  *  Copyright (c) 2016 Samsung Electronics Co.
3  *
4  *  Licensed under the Apache License, Version 2.0 (the "License");
5  *  you may not use this file except in compliance with the License.
6  *  You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *  Unless required by applicable law or agreed to in writing, software
11  *  distributed under the License is distributed on an "AS IS" BASIS,
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License
15  *
16  *
17  * @file        Ocsp.h
18  * @author      Kyungwook Tak (k.tak@samsung.com)
19  * @version     1.0
20  * @brief       OCSP check for signature validator. It should be used only internally.
21  */
22 #pragma once
23
24 #include <vcore/SignatureData.h>
25 #include <vcore/exception.h>
26
27 namespace ValidationCore {
28
29 class Ocsp {
30 public:
31         virtual ~Ocsp();
32
33         class Exception {
34         public:
35                 VCORE_DECLARE_EXCEPTION_TYPE(ValidationCore::Exception, Base);
36                 VCORE_DECLARE_EXCEPTION_TYPE(Base, InvalidParam);
37                 VCORE_DECLARE_EXCEPTION_TYPE(Base, OcspUnsupported);
38                 VCORE_DECLARE_EXCEPTION_TYPE(Base, InvalidUrl);
39                 VCORE_DECLARE_EXCEPTION_TYPE(Base, InvalidResponse);
40                 VCORE_DECLARE_EXCEPTION_TYPE(Base, ServerError);
41                 VCORE_DECLARE_EXCEPTION_TYPE(Base, NetworkError);
42                 VCORE_DECLARE_EXCEPTION_TYPE(Base, UnknownError);
43         };
44
45         enum Result {
46                 GOOD,
47                 REVOKED
48         };
49
50         /*
51          *  Remarks: input cert chain should be sorted state.
52          */
53         static Result check(const SignatureData &data);
54
55 private:
56         explicit Ocsp();
57 };
58
59 }