182efe392Sopenharmony_ci/* 282efe392Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 382efe392Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 482efe392Sopenharmony_ci * you may not use this file except in compliance with the License. 582efe392Sopenharmony_ci * You may obtain a copy of the License at 682efe392Sopenharmony_ci * 782efe392Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 882efe392Sopenharmony_ci * 982efe392Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1082efe392Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1182efe392Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1282efe392Sopenharmony_ci * See the License for the specific language governing permissions and 1382efe392Sopenharmony_ci * limitations under the License. 1482efe392Sopenharmony_ci */ 1582efe392Sopenharmony_ci 1682efe392Sopenharmony_ci#ifndef CF_CRL_H 1782efe392Sopenharmony_ci#define CF_CRL_H 1882efe392Sopenharmony_ci 1982efe392Sopenharmony_ci#include <stdbool.h> 2082efe392Sopenharmony_ci 2182efe392Sopenharmony_ci#include "certificate.h" 2282efe392Sopenharmony_ci 2382efe392Sopenharmony_citypedef struct HcfCrl HcfCrl; 2482efe392Sopenharmony_ci 2582efe392Sopenharmony_cistruct HcfCrl { 2682efe392Sopenharmony_ci /** HcfCrl inherit CfObjectBase. */ 2782efe392Sopenharmony_ci struct CfObjectBase base; 2882efe392Sopenharmony_ci 2982efe392Sopenharmony_ci /** Check if the given certificate is on this CRL. */ 3082efe392Sopenharmony_ci bool (*isRevoked)(HcfCrl *self, const HcfCertificate *cert); 3182efe392Sopenharmony_ci 3282efe392Sopenharmony_ci /** Returns the type of this CRL. */ 3382efe392Sopenharmony_ci const char *(*getType)(HcfCrl *self); 3482efe392Sopenharmony_ci}; 3582efe392Sopenharmony_ci 3682efe392Sopenharmony_ci#endif // CF_CRL_H 37