1# Copyright (c) 2023-2024 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/ohos.gni")
15
16ohos_static_library("certificate_openssl_plugin_lib") {
17  sanitize = {
18    cfi = true
19    cfi_cross_dso = true
20    boundary_sanitize = true
21    debug = false
22    integer_overflow = true
23    ubsan = true
24  }
25  subsystem_name = "security"
26  part_name = "certificate_framework"
27  configs = [ "../../../config/build:coverage_flag" ]
28
29  include_dirs = [
30    "inc",
31    "../../core/v1.0/spi",
32  ]
33
34  sources = [
35    "src/certificate_openssl_common.c",
36    "src/x509_cert_chain_openssl.c",
37    "src/x509_cert_chain_openssl_ex.c",
38    "src/x509_cert_chain_validator_openssl.c",
39    "src/x509_certificate_openssl.c",
40    "src/x509_crl_entry_openssl.c",
41    "src/x509_crl_openssl.c",
42    "src/x509_distinguished_name_openssl.c",
43  ]
44
45  cflags = [
46    "-DHILOG_ENABLE",
47    "-DOPENSSL_NO_FILENAMES",
48    "-fPIC",
49    "-Wall",
50  ]
51
52  deps = [ "../../common:libcertificate_framework_common_static" ]
53
54  external_deps = [
55    "c_utils:utils",
56    "crypto_framework:crypto_framework_lib",
57    "hilog:libhilog",
58    "openssl:libcrypto_shared",
59    "openssl:libssl_shared",
60  ]
61}
62