1# Copyright (c) 2020-2022 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_var.gni") 15declare_args() { 16 if (defined(is_double_framework) && is_double_framework) { 17 compatible_with_legacy_build_system = true 18 } else { 19 compatible_with_legacy_build_system = false 20 } 21 openssl_enabled = true 22} 23 24if (!compatible_with_legacy_build_system) { 25 import("//build/config/config.gni") 26} 27import("//build/ohos.gni") 28 29print("openssl detecting os now...") 30print("current_cpu = ${current_cpu}") 31print("current_os = ${current_os}") 32print("host_os = ${host_os}") 33openssl_selected_platform = "" 34print("is_mingw = ${is_mingw}") 35if (current_cpu == "arm" && !(current_os == "linux" || host_os == "mac")) { 36 print("openssl selected linux-armv4") 37 openssl_selected_platform = "linux-armv4" 38} else if (current_cpu == "arm64" && 39 (!(current_os == "linux" || host_os == "mac") || 40 current_os == "ohos" || 41 (current_os == "linux" || host_os == "linux"))) { 42 print("openssl selected linux-aarch64") 43 openssl_selected_platform = "linux-aarch64" 44} else if ((current_cpu == "x64" || current_cpu == "x86_64") && 45 (current_os == "mac" || current_os == "ios")) { 46 # compilation for ios depends the platform 47 print("openssl selected darwin64-x86_64-cc") 48 openssl_selected_platform = "darwin64-x86_64-cc" 49} else if (current_cpu == "arm64" && 50 (current_os == "mac" || current_os == "ios")) { 51 # ios and macos both use the platform 52 print("openssl selected darwin64-arm64-cc") 53 openssl_selected_platform = "darwin64-arm64-cc" 54} else if ((current_cpu == "x64" || current_cpu == "x86_64") && 55 current_os != "mingw") { 56 print("openssl selected linux-x86_64") 57 openssl_selected_platform = "linux-x86_64" 58} else if (is_mingw) { 59 print("openssl selected mingw64") 60 openssl_selected_platform = "mingw64" 61} else if (current_cpu == "arm" && current_os == "android") { 62 print("openssl selected linux-armv4") 63 openssl_selected_platform = "linux-armv4" 64} else if (current_cpu == "arm64" && current_os == "android") { 65 print("openssl selected linux-aarch64") 66 openssl_selected_platform = "linux-aarch64" 67} 68print( 69 "openssl detecting os done. openssl_selected_platform = ${openssl_selected_platform}") 70 71openssl_selected_platform_full_path = 72 "${target_out_dir}/build_all_generated/${openssl_selected_platform}" 73 74# 升级修改适配检查点1 libcrypto 不同平台汇编代码 75libcrypto_build_all_generated_linux_armv4_sources = [ 76 "${openssl_selected_platform_full_path}/crypto/aes/aes-armv4.S", 77 "${openssl_selected_platform_full_path}/crypto/aes/aesv8-armx.S", 78 "${openssl_selected_platform_full_path}/crypto/aes/bsaes-armv7.S", 79 "${openssl_selected_platform_full_path}/crypto/armv4cpuid.S", 80 "${openssl_selected_platform_full_path}/crypto/bn/armv4-gf2m.S", 81 "${openssl_selected_platform_full_path}/crypto/bn/armv4-mont.S", 82 "${openssl_selected_platform_full_path}/crypto/chacha/chacha-armv4.S", 83 "${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-armv4.S", 84 "${openssl_selected_platform_full_path}/crypto/modes/ghash-armv4.S", 85 "${openssl_selected_platform_full_path}/crypto/modes/ghashv8-armx.S", 86 "${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-armv4.S", 87 "${openssl_selected_platform_full_path}/crypto/sha/keccak1600-armv4.S", 88 "${openssl_selected_platform_full_path}/crypto/sha/sha1-armv4-large.S", 89 "${openssl_selected_platform_full_path}/crypto/sha/sha256-armv4.S", 90 "${openssl_selected_platform_full_path}/crypto/sha/sha512-armv4.S", 91] 92 93# 升级修改适配检查点2 libcrypto 不同平台汇编代码 94libcrypto_build_all_generated_linux_aarch64_sources = [ 95 "${openssl_selected_platform_full_path}/crypto/aes/aesv8-armx.S", 96 "${openssl_selected_platform_full_path}/crypto/aes/vpaes-armv8.S", 97 "${openssl_selected_platform_full_path}/crypto/arm64cpuid.S", 98 "${openssl_selected_platform_full_path}/crypto/bn/armv8-mont.S", 99 "${openssl_selected_platform_full_path}/crypto/chacha/chacha-armv8.S", 100 "${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-armv8.S", 101 "${openssl_selected_platform_full_path}/crypto/modes/aes-gcm-armv8_64.S", 102 "${openssl_selected_platform_full_path}/crypto/modes/ghashv8-armx.S", 103 "${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-armv8.S", 104 "${openssl_selected_platform_full_path}/crypto/sha/keccak1600-armv8.S", 105 "${openssl_selected_platform_full_path}/crypto/sha/sha1-armv8.S", 106 "${openssl_selected_platform_full_path}/crypto/sha/sha256-armv8.S", 107 "${openssl_selected_platform_full_path}/crypto/sha/sha512-armv8.S", 108] 109 110# 升级修改适配检查点3 libcrypto 不同平台汇编代码 111libcrypto_build_all_generated_darwin64_x86_64_cc_sources = [ 112 "${openssl_selected_platform_full_path}/crypto/aes/aes-x86_64.s", 113 "${openssl_selected_platform_full_path}/crypto/aes/aesni-mb-x86_64.s", 114 "${openssl_selected_platform_full_path}/crypto/aes/aesni-sha1-x86_64.s", 115 "${openssl_selected_platform_full_path}/crypto/aes/aesni-sha256-x86_64.s", 116 "${openssl_selected_platform_full_path}/crypto/aes/aesni-x86_64.s", 117 "${openssl_selected_platform_full_path}/crypto/aes/bsaes-x86_64.s", 118 "${openssl_selected_platform_full_path}/crypto/aes/vpaes-x86_64.s", 119 "${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx2.s", 120 "${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx512.s", 121 "${openssl_selected_platform_full_path}/crypto/bn/rsaz-x86_64.s", 122 "${openssl_selected_platform_full_path}/crypto/bn/x86_64-gf2m.s", 123 "${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont.s", 124 "${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont5.s", 125 "${openssl_selected_platform_full_path}/crypto/camellia/cmll-x86_64.s", 126 "${openssl_selected_platform_full_path}/crypto/chacha/chacha-x86_64.s", 127 "${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-x86_64.s", 128 "${openssl_selected_platform_full_path}/crypto/ec/x25519-x86_64.s", 129 "${openssl_selected_platform_full_path}/crypto/md5/md5-x86_64.s", 130 "${openssl_selected_platform_full_path}/crypto/modes/aesni-gcm-x86_64.s", 131 "${openssl_selected_platform_full_path}/crypto/modes/ghash-x86_64.s", 132 "${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-x86_64.s", 133 "${openssl_selected_platform_full_path}/crypto/rc4/rc4-md5-x86_64.s", 134 "${openssl_selected_platform_full_path}/crypto/rc4/rc4-x86_64.s", 135 "${openssl_selected_platform_full_path}/crypto/sha/keccak1600-x86_64.s", 136 "${openssl_selected_platform_full_path}/crypto/sha/sha1-mb-x86_64.s", 137 "${openssl_selected_platform_full_path}/crypto/sha/sha1-x86_64.s", 138 "${openssl_selected_platform_full_path}/crypto/sha/sha256-mb-x86_64.s", 139 "${openssl_selected_platform_full_path}/crypto/sha/sha256-x86_64.s", 140 "${openssl_selected_platform_full_path}/crypto/sha/sha512-x86_64.s", 141 "${openssl_selected_platform_full_path}/crypto/whrlpool/wp-x86_64.s", 142 "${openssl_selected_platform_full_path}/crypto/x86_64cpuid.s", 143 "${openssl_selected_platform_full_path}/engines/e_padlock-x86_64.s", 144] 145 146# 升级修改适配检查点4 libcrypto 不同平台汇编代码 147libcrypto_build_all_generated_darwin64_arm64_cc_sources = [ 148 "${openssl_selected_platform_full_path}/crypto/aes/aesv8-armx.S", 149 "${openssl_selected_platform_full_path}/crypto/aes/vpaes-armv8.S", 150 "${openssl_selected_platform_full_path}/crypto/arm64cpuid.S", 151 "${openssl_selected_platform_full_path}/crypto/bn/armv8-mont.S", 152 "${openssl_selected_platform_full_path}/crypto/chacha/chacha-armv8.S", 153 "${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-armv8.S", 154 "${openssl_selected_platform_full_path}/crypto/modes/aes-gcm-armv8_64.S", 155 "${openssl_selected_platform_full_path}/crypto/modes/ghashv8-armx.S", 156 "${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-armv8.S", 157 "${openssl_selected_platform_full_path}/crypto/sha/keccak1600-armv8.S", 158 "${openssl_selected_platform_full_path}/crypto/sha/sha1-armv8.S", 159 "${openssl_selected_platform_full_path}/crypto/sha/sha256-armv8.S", 160 "${openssl_selected_platform_full_path}/crypto/sha/sha512-armv8.S", 161] 162 163# 升级修改适配检查点5 libcrypto 不同平台汇编代码 164libcrypto_build_all_generated_linux_x86_64_sources = [ 165 "${openssl_selected_platform_full_path}/crypto/aes/aes-x86_64.s", 166 "${openssl_selected_platform_full_path}/crypto/aes/aesni-mb-x86_64.s", 167 "${openssl_selected_platform_full_path}/crypto/aes/aesni-sha1-x86_64.s", 168 "${openssl_selected_platform_full_path}/crypto/aes/aesni-sha256-x86_64.s", 169 "${openssl_selected_platform_full_path}/crypto/aes/aesni-x86_64.s", 170 "${openssl_selected_platform_full_path}/crypto/aes/bsaes-x86_64.s", 171 "${openssl_selected_platform_full_path}/crypto/aes/vpaes-x86_64.s", 172 "${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx2.s", 173 "${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx512.s", 174 "${openssl_selected_platform_full_path}/crypto/bn/rsaz-x86_64.s", 175 "${openssl_selected_platform_full_path}/crypto/bn/x86_64-gf2m.s", 176 "${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont.s", 177 "${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont5.s", 178 "${openssl_selected_platform_full_path}/crypto/camellia/cmll-x86_64.s", 179 "${openssl_selected_platform_full_path}/crypto/chacha/chacha-x86_64.s", 180 "${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-x86_64.s", 181 "${openssl_selected_platform_full_path}/crypto/ec/x25519-x86_64.s", 182 "${openssl_selected_platform_full_path}/crypto/md5/md5-x86_64.s", 183 "${openssl_selected_platform_full_path}/crypto/modes/aesni-gcm-x86_64.s", 184 "${openssl_selected_platform_full_path}/crypto/modes/ghash-x86_64.s", 185 "${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-x86_64.s", 186 "${openssl_selected_platform_full_path}/crypto/rc4/rc4-md5-x86_64.s", 187 "${openssl_selected_platform_full_path}/crypto/rc4/rc4-x86_64.s", 188 "${openssl_selected_platform_full_path}/crypto/sha/keccak1600-x86_64.s", 189 "${openssl_selected_platform_full_path}/crypto/sha/sha1-mb-x86_64.s", 190 "${openssl_selected_platform_full_path}/crypto/sha/sha1-x86_64.s", 191 "${openssl_selected_platform_full_path}/crypto/sha/sha256-mb-x86_64.s", 192 "${openssl_selected_platform_full_path}/crypto/sha/sha256-x86_64.s", 193 "${openssl_selected_platform_full_path}/crypto/sha/sha512-x86_64.s", 194 "${openssl_selected_platform_full_path}/crypto/whrlpool/wp-x86_64.s", 195 "${openssl_selected_platform_full_path}/crypto/x86_64cpuid.s", 196 "${openssl_selected_platform_full_path}/engines/e_padlock-x86_64.s", 197] 198 199# 升级修改适配检查点6 libcrypto 不同平台汇编代码 200libcrypto_build_all_generated_mingw64_sources = [ 201 "${openssl_selected_platform_full_path}/crypto/aes/aes-x86_64.s", 202 "${openssl_selected_platform_full_path}/crypto/aes/aesni-mb-x86_64.s", 203 "${openssl_selected_platform_full_path}/crypto/aes/aesni-sha1-x86_64.s", 204 "${openssl_selected_platform_full_path}/crypto/aes/aesni-sha256-x86_64.s", 205 "${openssl_selected_platform_full_path}/crypto/aes/aesni-x86_64.s", 206 "${openssl_selected_platform_full_path}/crypto/aes/bsaes-x86_64.s", 207 "${openssl_selected_platform_full_path}/crypto/aes/vpaes-x86_64.s", 208 "${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx2.s", 209 "${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx512.s", 210 "${openssl_selected_platform_full_path}/crypto/bn/rsaz-x86_64.s", 211 "${openssl_selected_platform_full_path}/crypto/bn/x86_64-gf2m.s", 212 "${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont.s", 213 "${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont5.s", 214 "${openssl_selected_platform_full_path}/crypto/camellia/cmll-x86_64.s", 215 "${openssl_selected_platform_full_path}/crypto/chacha/chacha-x86_64.s", 216 "${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-x86_64.s", 217 "${openssl_selected_platform_full_path}/crypto/ec/x25519-x86_64.s", 218 "${openssl_selected_platform_full_path}/crypto/md5/md5-x86_64.s", 219 "${openssl_selected_platform_full_path}/crypto/modes/aesni-gcm-x86_64.s", 220 "${openssl_selected_platform_full_path}/crypto/modes/ghash-x86_64.s", 221 "${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-x86_64.s", 222 "${openssl_selected_platform_full_path}/crypto/rc4/rc4-md5-x86_64.s", 223 "${openssl_selected_platform_full_path}/crypto/rc4/rc4-x86_64.s", 224 "${openssl_selected_platform_full_path}/crypto/sha/keccak1600-x86_64.s", 225 "${openssl_selected_platform_full_path}/crypto/sha/sha1-mb-x86_64.s", 226 "${openssl_selected_platform_full_path}/crypto/sha/sha1-x86_64.s", 227 "${openssl_selected_platform_full_path}/crypto/sha/sha256-mb-x86_64.s", 228 "${openssl_selected_platform_full_path}/crypto/sha/sha256-x86_64.s", 229 "${openssl_selected_platform_full_path}/crypto/sha/sha512-x86_64.s", 230 "${openssl_selected_platform_full_path}/crypto/whrlpool/wp-x86_64.s", 231 "${openssl_selected_platform_full_path}/crypto/x86_64cpuid.s", 232 "${openssl_selected_platform_full_path}/engines/e_padlock-x86_64.s", 233] 234 235libcrypto_build_all_generated_selected_platform_sources = [] 236if (openssl_selected_platform == "linux-armv4") { 237 libcrypto_build_all_generated_selected_platform_sources += 238 libcrypto_build_all_generated_linux_armv4_sources 239} else if (openssl_selected_platform == "linux-aarch64") { 240 libcrypto_build_all_generated_selected_platform_sources += 241 libcrypto_build_all_generated_linux_aarch64_sources 242} else if (openssl_selected_platform == "darwin64-x86_64-cc") { 243 libcrypto_build_all_generated_selected_platform_sources += 244 libcrypto_build_all_generated_darwin64_x86_64_cc_sources 245} else if (openssl_selected_platform == "darwin64-arm64-cc") { 246 libcrypto_build_all_generated_selected_platform_sources += 247 libcrypto_build_all_generated_darwin64_arm64_cc_sources 248} else if (openssl_selected_platform == "linux-x86_64") { 249 libcrypto_build_all_generated_selected_platform_sources += 250 libcrypto_build_all_generated_linux_x86_64_sources 251} else if (openssl_selected_platform == "mingw64") { 252 libcrypto_build_all_generated_selected_platform_sources += 253 libcrypto_build_all_generated_mingw64_sources 254} 255 256# 升级修改适配检查点7 libcommon 生成的源码列表 257libcommon_build_all_generated_selected_platform_sources = [ 258 "${openssl_selected_platform_full_path}/providers/common/der/der_digests_gen.c", 259 "${openssl_selected_platform_full_path}/providers/common/der/der_dsa_gen.c", 260 "${openssl_selected_platform_full_path}/providers/common/der/der_ec_gen.c", 261 "${openssl_selected_platform_full_path}/providers/common/der/der_ecx_gen.c", 262 "${openssl_selected_platform_full_path}/providers/common/der/der_rsa_gen.c", 263 "${openssl_selected_platform_full_path}/providers/common/der/der_wrap_gen.c", 264] 265 266# 升级修改适配检查点8 libdefault 生成的源码列表 267libdefault_build_all_generated_selected_platform_sources = [ 268 "${openssl_selected_platform_full_path}/providers/common/der/der_sm2_gen.c", 269] 270 271# We make use of both exec_script and action to build openssl build_all_generated items. 272# 273# Some modules use openssl in an incorrect way, leading to the confusing building sequences, 274# so the user modules building fail because openssl headers have not been generated at the building time. 275# The exec_script in the global area will be executed before ninja command, 276# and it ensures that the headers is generated properly before the building of any modules. 277# 278# Openssl generate some assembly codes before it is building. 279# The sources list in BUILD.gn include the assembly codes. 280# The gn build system requires that all items in sources list should be the output of another build item. 281# So we use an empty action to generate the assembly codes. 282# Actually we generate the assembly codes in exec_script, not in action. 283# 284# The gn build system requires the script in exec_script and action should be python script, 285# so we invoke the shell script in python script 286print(exec_script( 287 rebase_path("//third_party/openssl/run_command.py"), 288 [ 289 rebase_path( 290 "//third_party/openssl/make_openssl_build_all_generated.sh"), 291 rebase_path("//third_party/openssl"), 292 rebase_path("${target_out_dir}/build_all_generated"), 293 openssl_selected_platform, 294 ], 295 "string", 296 [])) 297action("openssl_build_all_generated") { 298 script = rebase_path("//third_party/openssl/empty.py") 299 outputs = [] 300 outputs += libcommon_build_all_generated_selected_platform_sources 301 outputs += libdefault_build_all_generated_selected_platform_sources 302 outputs += libcrypto_build_all_generated_selected_platform_sources 303 outputs += [ "${openssl_selected_platform_full_path}/apps/progs.c" ] 304 if (openssl_selected_platform == "mingw64") { 305 outputs += [ "${openssl_selected_platform_full_path}/apps/openssl.rc" ] 306 } 307} 308 309openssl_internal_cflags = [ 310 "-Wall", 311 312 # ../../third_party/openssl/crypto/o_str.c:309:9: error: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Werror,-Wint-conversion] 313 # err = strerror_r(errnum, buf, buflen); 314 # ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 315 "-Wno-error=int-conversion", 316 317 # ../../third_party/openssl/crypto/bn/bn_conv.c:92:34: error: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 10000000000000000000 to 2313682944 [-Werror,-Wconstant-conversion] 318 # *lp = BN_div_word(t, BN_DEC_CONV); 319 # ~~~~~~~~~~~ ^~~~~~~~~~~ 320 "-Wno-error=constant-conversion", 321 322 # ../../third_party/openssl/crypto/bn/bn_exp.c:382:38: error: shift count >= width of type [-Werror,-Wshift-count-overflow] 323 # if (m->d[j - 1] & (((BN_ULONG)1) << (BN_BITS2 - 1))) { 324 # ^ ~~~~~~~~~~~~~~ 325 "-Wno-error=shift-count-overflow", 326 327 # ../../third_party/openssl/crypto/conf/conf_def.c:31:11: error: 'stat' macro redefined [-Werror,-Wmacro-redefined] 328 # # define stat _stat 329 # ^ 330 # ../../prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/include/sys/stat.h:279:9: note: previous definition is here 331 # #define stat _stat64 332 # ^ 333 # 1 error generated. 334 "-Wno-error=macro-redefined", 335 336 "-Wno-error=implicit-fallthrough", 337 "-Wno-error=sign-compare", 338] 339if (!compatible_with_legacy_build_system) { 340 openssl_internal_cflags += [ 341 # Fix llvm-15 build error 342 "-Wno-unused-but-set-variable", 343 ] 344} 345 346# 升级修改适配检查点9 内部公共头文件目录列表 347crypto_config_common_private_include_dirs = [ 348 # -I args from Makefile 349 ".", 350 "crypto", 351 "include", 352 "providers/common/include", 353 "providers/implementations/include", 354 355 # internal include dirs 356 "apps/include", 357 "crypto/bn", 358 "crypto/ec", 359 "crypto/ec/curve448", 360 "crypto/modes", 361 "crypto/rsa", 362 "providers/common/include/prov", 363 364 "${openssl_selected_platform_full_path}/apps", 365 "${openssl_selected_platform_full_path}/crypto", 366 "${openssl_selected_platform_full_path}/include", 367 "${openssl_selected_platform_full_path}/include/crypto", 368 "${openssl_selected_platform_full_path}/include/openssl", 369 "${openssl_selected_platform_full_path}/providers/common/include", 370 "${openssl_selected_platform_full_path}/providers/common/include/prov", 371] 372crypto_config_common_public_include_dirs = [ 373 "include", 374 "${openssl_selected_platform_full_path}/include", 375] 376 377# located at /system/etc/ 378ohos_prebuilt_etc("openssl.cnf") { 379 source = "open_harmony_openssl_config/openssl.cnf" 380 if (compatible_with_legacy_build_system) { 381 subsystem_name = "security" 382 part_name = "huks" 383 } else { 384 subsystem_name = "thirdparty" 385 part_name = "openssl" 386 } 387} 388 389# 升级修改适配检查点10 内部公共编译选项宏列表 390crypto_config_common_cflags = [ 391 "-Wa,--noexecstack", 392 "-DNDEBUG", 393 "-DOPENSSL_BUILDING_OPENSSL", 394 "-DOPENSSL_CPUID_OBJ", 395 "-DOPENSSL_PIC", 396 397 # use `openssl version -a` cmd to see runtime OPENSSLDIR, ENGINESDIR, MODULESDIR value 398 399 # the origin value generated by Configure 400 # linux-armv4, linux-aarch64, darwin64-x86_64-cc, darwin64-arm64-cc 401 # /usr/local/lib/engines-3 402 # linux-x86_64, mingw64 403 # /usr/local/lib64/engines-3 404 "-DENGINESDIR=\"\"", 405 406 # the origin value generated by Configure 407 # linux-armv4, linux-aarch64, darwin64-x86_64-cc, darwin64-arm64-cc 408 # /usr/local/lib/ossl-modules 409 # linux-x86_64, mingw64 410 # /usr/local/lib64/ossl-modules 411 "-DMODULESDIR=\"\"", 412 413 # the origin value generated by Configure 414 # /usr/local/ssl 415 # we set the variable as the following to locate openssl.cnf 416 "-DOPENSSLDIR=\"/system/etc\"", 417 418 "-DSTATIC_LEGACY", 419] 420 421# 升级修改适配检查点11 内部不同平台编译选项列表 422crypto_config_linux_armv4_cflags = [ 423 "-DOPENSSL_USE_NODELETE", 424 "-fPIC", 425 "-pthread", 426 427 "-DAES_ASM", 428 "-DBSAES_ASM", 429 "-DECP_NISTZ256_ASM", 430 "-DGHASH_ASM", 431 "-DKECCAK1600_ASM", 432 "-DOPENSSL_BN_ASM_GF2m", 433 "-DOPENSSL_BN_ASM_MONT", 434 "-DPOLY1305_ASM", 435 "-DSHA1_ASM", 436 "-DSHA256_ASM", 437 "-DSHA512_ASM", 438] 439 440# 升级修改适配检查点12 内部不同平台编译选项列表 441crypto_config_linux_aarch64_cflags = [ 442 "-DOPENSSL_USE_NODELETE", 443 "-fPIC", 444 "-pthread", 445 446 "-DECP_NISTZ256_ASM", 447 "-DKECCAK1600_ASM", 448 "-DOPENSSL_BN_ASM_MONT", 449 "-DPOLY1305_ASM", 450 "-DSHA1_ASM", 451 "-DSHA256_ASM", 452 "-DSHA512_ASM", 453 "-DVPAES_ASM", 454] 455 456# 升级修改适配检查点13 内部不同平台编译选项列表 457crypto_config_darwin64_x86_64_cc_cflags = [ 458 "-fPIC", 459 "-DL_ENDIAN", 460 "-D_REENTRANT", 461 "-DOPENSSL_IA32_SSE2", 462 463 "-DAES_ASM", 464 "-DBSAES_ASM", 465 "-DCMLL_ASM", 466 "-DECP_NISTZ256_ASM", 467 "-DGHASH_ASM", 468 "-DKECCAK1600_ASM", 469 "-DMD5_ASM", 470 "-DOPENSSL_BN_ASM_GF2m", 471 "-DOPENSSL_BN_ASM_MONT", 472 "-DOPENSSL_BN_ASM_MONT5", 473 "-DPADLOCK_ASM", 474 "-DPOLY1305_ASM", 475 "-DSHA1_ASM", 476 "-DSHA256_ASM", 477 "-DSHA512_ASM", 478 "-DVPAES_ASM", 479 "-DWHIRLPOOL_ASM", 480 "-DX25519_ASM", 481] 482 483# 升级修改适配检查点14 内部不同平台编译选项列表 484crypto_config_darwin64_arm64_cc_cflags = [ 485 "-DL_ENDIAN", 486 "-D_REENTRANT", 487 "-fPIC", 488 489 "-DECP_NISTZ256_ASM", 490 "-DKECCAK1600_ASM", 491 "-DOPENSSL_BN_ASM_MONT", 492 "-DPOLY1305_ASM", 493 "-DSHA1_ASM", 494 "-DSHA256_ASM", 495 "-DSHA512_ASM", 496 "-DVPAES_ASM", 497] 498 499# 升级修改适配检查点15 内部不同平台编译选项列表 500crypto_config_linux_x86_64_cflags = [ 501 "-DL_ENDIAN", 502 "-DOPENSSL_IA32_SSE2", 503 "-DOPENSSL_USE_NODELETE", 504 "-fPIC", 505 "-m64", 506 "-pthread", 507 508 "-DAES_ASM", 509 "-DBSAES_ASM", 510 "-DCMLL_ASM", 511 "-DECP_NISTZ256_ASM", 512 "-DGHASH_ASM", 513 "-DKECCAK1600_ASM", 514 "-DMD5_ASM", 515 "-DOPENSSL_BN_ASM_GF2m", 516 "-DOPENSSL_BN_ASM_MONT", 517 "-DOPENSSL_BN_ASM_MONT5", 518 "-DPADLOCK_ASM", 519 "-DPOLY1305_ASM", 520 "-DSHA1_ASM", 521 "-DSHA256_ASM", 522 "-DSHA512_ASM", 523 "-DVPAES_ASM", 524 "-DWHIRLPOOL_ASM", 525 "-DX25519_ASM", 526] 527 528# 升级修改适配检查点16 内部不同平台编译选项列表 529crypto_config_mingw64_cflags = [ 530 "-D_MT", 531 "-D_UNICODE", 532 "-DL_ENDIAN", 533 "-DOPENSSL_IA32_SSE2", 534 "-DUNICODE", 535 "-DWIN32_LEAN_AND_MEAN", 536 "-m64", 537 538 "-DAES_ASM", 539 "-DBSAES_ASM", 540 "-DCMLL_ASM", 541 "-DECP_NISTZ256_ASM", 542 "-DGHASH_ASM", 543 "-DKECCAK1600_ASM", 544 "-DMD5_ASM", 545 "-DOPENSSL_BN_ASM_GF2m", 546 "-DOPENSSL_BN_ASM_MONT", 547 "-DOPENSSL_BN_ASM_MONT5", 548 "-DPADLOCK_ASM", 549 "-DPOLY1305_ASM", 550 "-DSHA1_ASM", 551 "-DSHA256_ASM", 552 "-DSHA512_ASM", 553 "-DVPAES_ASM", 554 "-DWHIRLPOOL_ASM", 555 "-DX25519_ASM", 556] 557 558crypto_config_current_platform_cflags = [] 559if (openssl_selected_platform == "linux-armv4") { 560 crypto_config_current_platform_cflags += crypto_config_linux_armv4_cflags 561} else if (openssl_selected_platform == "linux-aarch64") { 562 crypto_config_current_platform_cflags += crypto_config_linux_aarch64_cflags 563} else if (openssl_selected_platform == "darwin64-x86_64-cc") { 564 crypto_config_current_platform_cflags += 565 crypto_config_darwin64_x86_64_cc_cflags 566} else if (openssl_selected_platform == "darwin64-arm64-cc") { 567 crypto_config_current_platform_cflags += 568 crypto_config_darwin64_arm64_cc_cflags 569} else if (openssl_selected_platform == "linux-x86_64") { 570 crypto_config_current_platform_cflags += crypto_config_linux_x86_64_cflags 571} else if (openssl_selected_platform == "mingw64") { 572 crypto_config_current_platform_cflags += crypto_config_mingw64_cflags 573} 574 575mingw32_libs_path = [] 576mingw32_libs = [] 577if (is_mingw || is_win) { 578 mingw32_libs_path += [ "//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib" ] 579 mingw32_libs += [ 580 "ws2_32", 581 "crypt32", 582 ] 583} 584 585config("crypto_config_private") { 586 include_dirs = crypto_config_common_private_include_dirs 587 cflags = crypto_config_common_cflags + crypto_config_current_platform_cflags + 588 openssl_internal_cflags 589 lib_dirs = mingw32_libs_path 590 libs = mingw32_libs 591} 592 593config("crypto_config_public") { 594 include_dirs = crypto_config_common_public_include_dirs 595 libs = mingw32_libs 596} 597 598# 升级修改适配检查点17 libcommon 原目录源码列表 599libcommon_common_sources = [ 600 "providers/common/der/der_dsa_key.c", 601 "providers/common/der/der_dsa_sig.c", 602 "providers/common/der/der_ec_key.c", 603 "providers/common/der/der_ec_sig.c", 604 "providers/common/der/der_ecx_key.c", 605 "providers/common/der/der_rsa_key.c", 606 "providers/common/provider_ctx.c", 607 "providers/common/provider_err.c", 608 "providers/implementations/ciphers/ciphercommon.c", 609 "providers/implementations/ciphers/ciphercommon_block.c", 610 "providers/implementations/ciphers/ciphercommon_ccm.c", 611 "providers/implementations/ciphers/ciphercommon_ccm_hw.c", 612 "providers/implementations/ciphers/ciphercommon_gcm.c", 613 "providers/implementations/ciphers/ciphercommon_gcm_hw.c", 614 "providers/implementations/ciphers/ciphercommon_hw.c", 615 "providers/implementations/digests/digestcommon.c", 616 "ssl/record/tls_pad.c", 617] 618 619# 升级修改适配检查点18 libdefault 原目录源码列表 620libdefault_common_sources = [ 621 "providers/common/bio_prov.c", 622 "providers/common/capabilities.c", 623 "providers/common/der/der_rsa_sig.c", 624 "providers/common/der/der_sm2_key.c", 625 "providers/common/der/der_sm2_sig.c", 626 "providers/common/digest_to_nid.c", 627 "providers/common/provider_seeding.c", 628 "providers/common/provider_util.c", 629 "providers/common/securitycheck.c", 630 "providers/common/securitycheck_default.c", 631 "providers/implementations/asymciphers/rsa_enc.c", 632 "providers/implementations/asymciphers/sm2_enc.c", 633 "providers/implementations/ciphers/cipher_aes.c", 634 "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c", 635 "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c", 636 "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c", 637 "providers/implementations/ciphers/cipher_aes_ccm.c", 638 "providers/implementations/ciphers/cipher_aes_ccm_hw.c", 639 "providers/implementations/ciphers/cipher_aes_gcm.c", 640 "providers/implementations/ciphers/cipher_aes_gcm_hw.c", 641 "providers/implementations/ciphers/cipher_aes_hw.c", 642 "providers/implementations/ciphers/cipher_aes_ocb.c", 643 "providers/implementations/ciphers/cipher_aes_ocb_hw.c", 644 "providers/implementations/ciphers/cipher_aes_siv.c", 645 "providers/implementations/ciphers/cipher_aes_siv_hw.c", 646 "providers/implementations/ciphers/cipher_aes_wrp.c", 647 "providers/implementations/ciphers/cipher_aes_xts.c", 648 "providers/implementations/ciphers/cipher_aes_xts_fips.c", 649 "providers/implementations/ciphers/cipher_aes_xts_hw.c", 650 "providers/implementations/ciphers/cipher_aria.c", 651 "providers/implementations/ciphers/cipher_aria_ccm.c", 652 "providers/implementations/ciphers/cipher_aria_ccm_hw.c", 653 "providers/implementations/ciphers/cipher_aria_gcm.c", 654 "providers/implementations/ciphers/cipher_aria_gcm_hw.c", 655 "providers/implementations/ciphers/cipher_aria_hw.c", 656 "providers/implementations/ciphers/cipher_camellia.c", 657 "providers/implementations/ciphers/cipher_camellia_hw.c", 658 "providers/implementations/ciphers/cipher_chacha20.c", 659 "providers/implementations/ciphers/cipher_chacha20_hw.c", 660 "providers/implementations/ciphers/cipher_chacha20_poly1305.c", 661 "providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c", 662 "providers/implementations/ciphers/cipher_cts.c", 663 "providers/implementations/ciphers/cipher_null.c", 664 "providers/implementations/ciphers/cipher_sm4.c", 665 "providers/implementations/ciphers/cipher_sm4_ccm.c", 666 "providers/implementations/ciphers/cipher_sm4_ccm_hw.c", 667 "providers/implementations/ciphers/cipher_sm4_gcm.c", 668 "providers/implementations/ciphers/cipher_sm4_gcm_hw.c", 669 "providers/implementations/ciphers/cipher_sm4_hw.c", 670 "providers/implementations/ciphers/cipher_tdes.c", 671 "providers/implementations/ciphers/cipher_tdes_common.c", 672 "providers/implementations/ciphers/cipher_tdes_default.c", 673 "providers/implementations/ciphers/cipher_tdes_default_hw.c", 674 "providers/implementations/ciphers/cipher_tdes_hw.c", 675 "providers/implementations/ciphers/cipher_tdes_wrap.c", 676 "providers/implementations/ciphers/cipher_tdes_wrap_hw.c", 677 "providers/implementations/digests/blake2_prov.c", 678 "providers/implementations/digests/blake2b_prov.c", 679 "providers/implementations/digests/blake2s_prov.c", 680 "providers/implementations/digests/md5_prov.c", 681 "providers/implementations/digests/md5_sha1_prov.c", 682 "providers/implementations/digests/null_prov.c", 683 "providers/implementations/digests/ripemd_prov.c", 684 "providers/implementations/digests/sha2_prov.c", 685 "providers/implementations/digests/sha3_prov.c", 686 "providers/implementations/digests/sm3_prov.c", 687 "providers/implementations/encode_decode/decode_der2key.c", 688 "providers/implementations/encode_decode/decode_epki2pki.c", 689 "providers/implementations/encode_decode/decode_msblob2key.c", 690 "providers/implementations/encode_decode/decode_pem2der.c", 691 "providers/implementations/encode_decode/decode_pvk2key.c", 692 "providers/implementations/encode_decode/decode_spki2typespki.c", 693 "providers/implementations/encode_decode/encode_key2any.c", 694 "providers/implementations/encode_decode/encode_key2blob.c", 695 "providers/implementations/encode_decode/encode_key2ms.c", 696 "providers/implementations/encode_decode/encode_key2text.c", 697 "providers/implementations/encode_decode/endecoder_common.c", 698 "providers/implementations/exchange/dh_exch.c", 699 "providers/implementations/exchange/ecdh_exch.c", 700 "providers/implementations/exchange/ecx_exch.c", 701 "providers/implementations/exchange/kdf_exch.c", 702 "providers/implementations/kdfs/hkdf.c", 703 "providers/implementations/kdfs/kbkdf.c", 704 "providers/implementations/kdfs/krb5kdf.c", 705 "providers/implementations/kdfs/pbkdf2.c", 706 "providers/implementations/kdfs/pbkdf2_fips.c", 707 "providers/implementations/kdfs/pkcs12kdf.c", 708 "providers/implementations/kdfs/scrypt.c", 709 "providers/implementations/kdfs/sshkdf.c", 710 "providers/implementations/kdfs/sskdf.c", 711 "providers/implementations/kdfs/tls1_prf.c", 712 "providers/implementations/kdfs/x942kdf.c", 713 "providers/implementations/kem/rsa_kem.c", 714 "providers/implementations/keymgmt/dh_kmgmt.c", 715 "providers/implementations/keymgmt/dsa_kmgmt.c", 716 "providers/implementations/keymgmt/ec_kmgmt.c", 717 "providers/implementations/keymgmt/ecx_kmgmt.c", 718 "providers/implementations/keymgmt/kdf_legacy_kmgmt.c", 719 "providers/implementations/keymgmt/mac_legacy_kmgmt.c", 720 "providers/implementations/keymgmt/rsa_kmgmt.c", 721 "providers/implementations/macs/blake2b_mac.c", 722 "providers/implementations/macs/blake2s_mac.c", 723 "providers/implementations/macs/cmac_prov.c", 724 "providers/implementations/macs/gmac_prov.c", 725 "providers/implementations/macs/hmac_prov.c", 726 "providers/implementations/macs/kmac_prov.c", 727 "providers/implementations/macs/poly1305_prov.c", 728 "providers/implementations/macs/siphash_prov.c", 729 "providers/implementations/rands/crngt.c", 730 "providers/implementations/rands/drbg.c", 731 "providers/implementations/rands/drbg_ctr.c", 732 "providers/implementations/rands/drbg_hash.c", 733 "providers/implementations/rands/drbg_hmac.c", 734 "providers/implementations/rands/seed_src.c", 735 "providers/implementations/rands/seeding/rand_cpu_x86.c", 736 "providers/implementations/rands/seeding/rand_tsc.c", 737 "providers/implementations/rands/seeding/rand_unix.c", 738 "providers/implementations/rands/seeding/rand_win.c", 739 "providers/implementations/rands/test_rng.c", 740 "providers/implementations/signature/dsa_sig.c", 741 "providers/implementations/signature/ecdsa_sig.c", 742 "providers/implementations/signature/eddsa_sig.c", 743 "providers/implementations/signature/mac_legacy_sig.c", 744 "providers/implementations/signature/rsa_sig.c", 745 "providers/implementations/signature/sm2_sig.c", 746 "providers/implementations/storemgmt/file_store.c", 747 "providers/implementations/storemgmt/file_store_any2obj.c", 748 "ssl/s3_cbc.c", 749] 750 751# 升级修改适配检查点19 liblegacy 源码列表 752liblegacy_sources = [ 753 "providers/implementations/ciphers/cipher_blowfish.c", 754 "providers/implementations/ciphers/cipher_blowfish_hw.c", 755 "providers/implementations/ciphers/cipher_cast5.c", 756 "providers/implementations/ciphers/cipher_cast5_hw.c", 757 "providers/implementations/ciphers/cipher_des.c", 758 "providers/implementations/ciphers/cipher_des_hw.c", 759 "providers/implementations/ciphers/cipher_desx.c", 760 "providers/implementations/ciphers/cipher_desx_hw.c", 761 "providers/implementations/ciphers/cipher_idea.c", 762 "providers/implementations/ciphers/cipher_idea_hw.c", 763 "providers/implementations/ciphers/cipher_rc2.c", 764 "providers/implementations/ciphers/cipher_rc2_hw.c", 765 "providers/implementations/ciphers/cipher_rc4.c", 766 "providers/implementations/ciphers/cipher_rc4_hmac_md5.c", 767 "providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c", 768 "providers/implementations/ciphers/cipher_rc4_hw.c", 769 "providers/implementations/ciphers/cipher_seed.c", 770 "providers/implementations/ciphers/cipher_seed_hw.c", 771 "providers/implementations/digests/md4_prov.c", 772 "providers/implementations/digests/mdc2_prov.c", 773 "providers/implementations/digests/wp_prov.c", 774 "providers/implementations/kdfs/pbkdf1.c", 775] 776 777ohos_source_set("crypto_source") { 778 if (!compatible_with_legacy_build_system) { 779 subsystem_name = "thirdparty" 780 part_name = "openssl" 781 } 782 783 # 升级修改适配检查点20 libcrypto 原目录源码列表 784 sources = [ 785 "crypto/aes/aes_cfb.c", 786 "crypto/aes/aes_ecb.c", 787 "crypto/aes/aes_ige.c", 788 "crypto/aes/aes_misc.c", 789 "crypto/aes/aes_ofb.c", 790 "crypto/aes/aes_wrap.c", 791 "crypto/aria/aria.c", 792 "crypto/asn1/a_bitstr.c", 793 "crypto/asn1/a_d2i_fp.c", 794 "crypto/asn1/a_digest.c", 795 "crypto/asn1/a_dup.c", 796 "crypto/asn1/a_gentm.c", 797 "crypto/asn1/a_i2d_fp.c", 798 "crypto/asn1/a_int.c", 799 "crypto/asn1/a_mbstr.c", 800 "crypto/asn1/a_object.c", 801 "crypto/asn1/a_octet.c", 802 "crypto/asn1/a_print.c", 803 "crypto/asn1/a_sign.c", 804 "crypto/asn1/a_strex.c", 805 "crypto/asn1/a_strnid.c", 806 "crypto/asn1/a_time.c", 807 "crypto/asn1/a_type.c", 808 "crypto/asn1/a_utctm.c", 809 "crypto/asn1/a_utf8.c", 810 "crypto/asn1/a_verify.c", 811 "crypto/asn1/ameth_lib.c", 812 "crypto/asn1/asn1_err.c", 813 "crypto/asn1/asn1_gen.c", 814 "crypto/asn1/asn1_item_list.c", 815 "crypto/asn1/asn1_lib.c", 816 "crypto/asn1/asn1_parse.c", 817 "crypto/asn1/asn_mime.c", 818 "crypto/asn1/asn_moid.c", 819 "crypto/asn1/asn_mstbl.c", 820 "crypto/asn1/asn_pack.c", 821 "crypto/asn1/bio_asn1.c", 822 "crypto/asn1/bio_ndef.c", 823 "crypto/asn1/d2i_param.c", 824 "crypto/asn1/d2i_pr.c", 825 "crypto/asn1/d2i_pu.c", 826 "crypto/asn1/evp_asn1.c", 827 "crypto/asn1/f_int.c", 828 "crypto/asn1/f_string.c", 829 "crypto/asn1/i2d_evp.c", 830 "crypto/asn1/n_pkey.c", 831 "crypto/asn1/nsseq.c", 832 "crypto/asn1/p5_pbe.c", 833 "crypto/asn1/p5_pbev2.c", 834 "crypto/asn1/p5_scrypt.c", 835 "crypto/asn1/p8_pkey.c", 836 "crypto/asn1/t_bitst.c", 837 "crypto/asn1/t_pkey.c", 838 "crypto/asn1/t_spki.c", 839 "crypto/asn1/tasn_dec.c", 840 "crypto/asn1/tasn_enc.c", 841 "crypto/asn1/tasn_fre.c", 842 "crypto/asn1/tasn_new.c", 843 "crypto/asn1/tasn_prn.c", 844 "crypto/asn1/tasn_scn.c", 845 "crypto/asn1/tasn_typ.c", 846 "crypto/asn1/tasn_utl.c", 847 "crypto/asn1/x_algor.c", 848 "crypto/asn1/x_bignum.c", 849 "crypto/asn1/x_info.c", 850 "crypto/asn1/x_int64.c", 851 "crypto/asn1/x_long.c", 852 "crypto/asn1/x_pkey.c", 853 "crypto/asn1/x_sig.c", 854 "crypto/asn1/x_spki.c", 855 "crypto/asn1/x_val.c", 856 "crypto/asn1_dsa.c", 857 "crypto/async/arch/async_null.c", 858 "crypto/async/arch/async_posix.c", 859 "crypto/async/arch/async_win.c", 860 "crypto/async/async.c", 861 "crypto/async/async_err.c", 862 "crypto/async/async_wait.c", 863 "crypto/bf/bf_cfb64.c", 864 "crypto/bf/bf_ecb.c", 865 "crypto/bf/bf_enc.c", 866 "crypto/bf/bf_ofb64.c", 867 "crypto/bf/bf_skey.c", 868 "crypto/bio/bf_buff.c", 869 "crypto/bio/bf_lbuf.c", 870 "crypto/bio/bf_nbio.c", 871 "crypto/bio/bf_null.c", 872 "crypto/bio/bf_prefix.c", 873 "crypto/bio/bf_readbuff.c", 874 "crypto/bio/bio_addr.c", 875 "crypto/bio/bio_cb.c", 876 "crypto/bio/bio_dump.c", 877 "crypto/bio/bio_err.c", 878 "crypto/bio/bio_lib.c", 879 "crypto/bio/bio_meth.c", 880 "crypto/bio/bio_print.c", 881 "crypto/bio/bio_sock.c", 882 "crypto/bio/bio_sock2.c", 883 "crypto/bio/bss_acpt.c", 884 "crypto/bio/bss_bio.c", 885 "crypto/bio/bss_conn.c", 886 "crypto/bio/bss_core.c", 887 "crypto/bio/bss_dgram.c", 888 "crypto/bio/bss_fd.c", 889 "crypto/bio/bss_file.c", 890 "crypto/bio/bss_log.c", 891 "crypto/bio/bss_mem.c", 892 "crypto/bio/bss_null.c", 893 "crypto/bio/bss_sock.c", 894 "crypto/bio/ossl_core_bio.c", 895 "crypto/bn/bn_add.c", 896 "crypto/bn/bn_blind.c", 897 "crypto/bn/bn_const.c", 898 "crypto/bn/bn_conv.c", 899 "crypto/bn/bn_ctx.c", 900 "crypto/bn/bn_depr.c", 901 "crypto/bn/bn_dh.c", 902 "crypto/bn/bn_div.c", 903 "crypto/bn/bn_err.c", 904 "crypto/bn/bn_exp.c", 905 "crypto/bn/bn_exp2.c", 906 "crypto/bn/bn_gcd.c", 907 "crypto/bn/bn_gf2m.c", 908 "crypto/bn/bn_intern.c", 909 "crypto/bn/bn_kron.c", 910 "crypto/bn/bn_lib.c", 911 "crypto/bn/bn_mod.c", 912 "crypto/bn/bn_mont.c", 913 "crypto/bn/bn_mpi.c", 914 "crypto/bn/bn_mul.c", 915 "crypto/bn/bn_nist.c", 916 "crypto/bn/bn_prime.c", 917 "crypto/bn/bn_print.c", 918 "crypto/bn/bn_rand.c", 919 "crypto/bn/bn_recp.c", 920 "crypto/bn/bn_rsa_fips186_4.c", 921 "crypto/bn/bn_shift.c", 922 "crypto/bn/bn_sqr.c", 923 "crypto/bn/bn_sqrt.c", 924 "crypto/bn/bn_srp.c", 925 "crypto/bn/bn_word.c", 926 "crypto/bn/bn_x931p.c", 927 "crypto/bsearch.c", 928 "crypto/buffer/buf_err.c", 929 "crypto/buffer/buffer.c", 930 "crypto/camellia/cmll_cfb.c", 931 "crypto/camellia/cmll_ctr.c", 932 "crypto/camellia/cmll_ecb.c", 933 "crypto/camellia/cmll_misc.c", 934 "crypto/camellia/cmll_ofb.c", 935 "crypto/cast/c_cfb64.c", 936 "crypto/cast/c_ecb.c", 937 "crypto/cast/c_enc.c", 938 "crypto/cast/c_ofb64.c", 939 "crypto/cast/c_skey.c", 940 "crypto/cmac/cmac.c", 941 "crypto/cmp/cmp_asn.c", 942 "crypto/cmp/cmp_client.c", 943 "crypto/cmp/cmp_ctx.c", 944 "crypto/cmp/cmp_err.c", 945 "crypto/cmp/cmp_hdr.c", 946 "crypto/cmp/cmp_http.c", 947 "crypto/cmp/cmp_msg.c", 948 "crypto/cmp/cmp_protect.c", 949 "crypto/cmp/cmp_server.c", 950 "crypto/cmp/cmp_status.c", 951 "crypto/cmp/cmp_util.c", 952 "crypto/cmp/cmp_vfy.c", 953 "crypto/cms/cms_asn1.c", 954 "crypto/cms/cms_att.c", 955 "crypto/cms/cms_cd.c", 956 "crypto/cms/cms_dd.c", 957 "crypto/cms/cms_dh.c", 958 "crypto/cms/cms_ec.c", 959 "crypto/cms/cms_enc.c", 960 "crypto/cms/cms_env.c", 961 "crypto/cms/cms_err.c", 962 "crypto/cms/cms_ess.c", 963 "crypto/cms/cms_io.c", 964 "crypto/cms/cms_kari.c", 965 "crypto/cms/cms_lib.c", 966 "crypto/cms/cms_pwri.c", 967 "crypto/cms/cms_rsa.c", 968 "crypto/cms/cms_sd.c", 969 "crypto/cms/cms_smime.c", 970 "crypto/comp/c_zlib.c", 971 "crypto/comp/comp_err.c", 972 "crypto/comp/comp_lib.c", 973 "crypto/conf/conf_api.c", 974 "crypto/conf/conf_def.c", 975 "crypto/conf/conf_err.c", 976 "crypto/conf/conf_lib.c", 977 "crypto/conf/conf_mall.c", 978 "crypto/conf/conf_mod.c", 979 "crypto/conf/conf_sap.c", 980 "crypto/conf/conf_ssl.c", 981 "crypto/context.c", 982 "crypto/core_algorithm.c", 983 "crypto/core_fetch.c", 984 "crypto/core_namemap.c", 985 "crypto/cpt_err.c", 986 "crypto/cpuid.c", 987 "crypto/crmf/crmf_asn.c", 988 "crypto/crmf/crmf_err.c", 989 "crypto/crmf/crmf_lib.c", 990 "crypto/crmf/crmf_pbm.c", 991 "crypto/cryptlib.c", 992 "crypto/ct/ct_b64.c", 993 "crypto/ct/ct_err.c", 994 "crypto/ct/ct_log.c", 995 "crypto/ct/ct_oct.c", 996 "crypto/ct/ct_policy.c", 997 "crypto/ct/ct_prn.c", 998 "crypto/ct/ct_sct.c", 999 "crypto/ct/ct_sct_ctx.c", 1000 "crypto/ct/ct_vfy.c", 1001 "crypto/ct/ct_x509v3.c", 1002 "crypto/ctype.c", 1003 "crypto/cversion.c", 1004 "crypto/der_writer.c", 1005 "crypto/des/cbc_cksm.c", 1006 "crypto/des/cbc_enc.c", 1007 "crypto/des/cfb64ede.c", 1008 "crypto/des/cfb64enc.c", 1009 "crypto/des/cfb_enc.c", 1010 "crypto/des/des_enc.c", 1011 "crypto/des/ecb3_enc.c", 1012 "crypto/des/ecb_enc.c", 1013 "crypto/des/fcrypt.c", 1014 "crypto/des/fcrypt_b.c", 1015 "crypto/des/ofb64ede.c", 1016 "crypto/des/ofb64enc.c", 1017 "crypto/des/ofb_enc.c", 1018 "crypto/des/pcbc_enc.c", 1019 "crypto/des/qud_cksm.c", 1020 "crypto/des/rand_key.c", 1021 "crypto/des/set_key.c", 1022 "crypto/des/str2key.c", 1023 "crypto/des/xcbc_enc.c", 1024 "crypto/dh/dh_ameth.c", 1025 "crypto/dh/dh_asn1.c", 1026 "crypto/dh/dh_backend.c", 1027 "crypto/dh/dh_check.c", 1028 "crypto/dh/dh_depr.c", 1029 "crypto/dh/dh_err.c", 1030 "crypto/dh/dh_gen.c", 1031 "crypto/dh/dh_group_params.c", 1032 "crypto/dh/dh_kdf.c", 1033 "crypto/dh/dh_key.c", 1034 "crypto/dh/dh_lib.c", 1035 "crypto/dh/dh_meth.c", 1036 "crypto/dh/dh_pmeth.c", 1037 "crypto/dh/dh_prn.c", 1038 "crypto/dh/dh_rfc5114.c", 1039 "crypto/dsa/dsa_ameth.c", 1040 "crypto/dsa/dsa_asn1.c", 1041 "crypto/dsa/dsa_backend.c", 1042 "crypto/dsa/dsa_check.c", 1043 "crypto/dsa/dsa_depr.c", 1044 "crypto/dsa/dsa_err.c", 1045 "crypto/dsa/dsa_gen.c", 1046 "crypto/dsa/dsa_key.c", 1047 "crypto/dsa/dsa_lib.c", 1048 "crypto/dsa/dsa_meth.c", 1049 "crypto/dsa/dsa_ossl.c", 1050 "crypto/dsa/dsa_pmeth.c", 1051 "crypto/dsa/dsa_prn.c", 1052 "crypto/dsa/dsa_sign.c", 1053 "crypto/dsa/dsa_vrf.c", 1054 "crypto/dso/dso_dl.c", 1055 "crypto/dso/dso_dlfcn.c", 1056 "crypto/dso/dso_err.c", 1057 "crypto/dso/dso_lib.c", 1058 "crypto/dso/dso_openssl.c", 1059 "crypto/dso/dso_vms.c", 1060 "crypto/dso/dso_win32.c", 1061 "crypto/ebcdic.c", 1062 "crypto/ec/curve25519.c", 1063 "crypto/ec/curve448/arch_32/f_impl32.c", 1064 "crypto/ec/curve448/arch_64/f_impl64.c", 1065 "crypto/ec/curve448/curve448.c", 1066 "crypto/ec/curve448/curve448_tables.c", 1067 "crypto/ec/curve448/eddsa.c", 1068 "crypto/ec/curve448/f_generic.c", 1069 "crypto/ec/curve448/scalar.c", 1070 "crypto/ec/ec2_oct.c", 1071 "crypto/ec/ec2_smpl.c", 1072 "crypto/ec/ec_ameth.c", 1073 "crypto/ec/ec_asn1.c", 1074 "crypto/ec/ec_backend.c", 1075 "crypto/ec/ec_check.c", 1076 "crypto/ec/ec_curve.c", 1077 "crypto/ec/ec_cvt.c", 1078 "crypto/ec/ec_deprecated.c", 1079 "crypto/ec/ec_err.c", 1080 "crypto/ec/ec_key.c", 1081 "crypto/ec/ec_kmeth.c", 1082 "crypto/ec/ec_lib.c", 1083 "crypto/ec/ec_mult.c", 1084 "crypto/ec/ec_oct.c", 1085 "crypto/ec/ec_pmeth.c", 1086 "crypto/ec/ec_print.c", 1087 "crypto/ec/ecdh_kdf.c", 1088 "crypto/ec/ecdh_ossl.c", 1089 "crypto/ec/ecdsa_ossl.c", 1090 "crypto/ec/ecdsa_sign.c", 1091 "crypto/ec/ecdsa_vrf.c", 1092 "crypto/ec/eck_prn.c", 1093 "crypto/ec/ecp_mont.c", 1094 "crypto/ec/ecp_nist.c", 1095 "crypto/ec/ecp_nistz256.c", 1096 "crypto/ec/ecp_oct.c", 1097 "crypto/ec/ecp_smpl.c", 1098 "crypto/ec/ecx_backend.c", 1099 "crypto/ec/ecx_key.c", 1100 "crypto/ec/ecx_meth.c", 1101 "crypto/encode_decode/decoder_err.c", 1102 "crypto/encode_decode/decoder_lib.c", 1103 "crypto/encode_decode/decoder_meth.c", 1104 "crypto/encode_decode/decoder_pkey.c", 1105 "crypto/encode_decode/encoder_err.c", 1106 "crypto/encode_decode/encoder_lib.c", 1107 "crypto/encode_decode/encoder_meth.c", 1108 "crypto/encode_decode/encoder_pkey.c", 1109 "crypto/engine/eng_all.c", 1110 "crypto/engine/eng_cnf.c", 1111 "crypto/engine/eng_ctrl.c", 1112 "crypto/engine/eng_dyn.c", 1113 "crypto/engine/eng_err.c", 1114 "crypto/engine/eng_fat.c", 1115 "crypto/engine/eng_init.c", 1116 "crypto/engine/eng_lib.c", 1117 "crypto/engine/eng_list.c", 1118 "crypto/engine/eng_openssl.c", 1119 "crypto/engine/eng_pkey.c", 1120 "crypto/engine/eng_rdrand.c", 1121 "crypto/engine/eng_table.c", 1122 "crypto/engine/tb_asnmth.c", 1123 "crypto/engine/tb_cipher.c", 1124 "crypto/engine/tb_dh.c", 1125 "crypto/engine/tb_digest.c", 1126 "crypto/engine/tb_dsa.c", 1127 "crypto/engine/tb_eckey.c", 1128 "crypto/engine/tb_pkmeth.c", 1129 "crypto/engine/tb_rand.c", 1130 "crypto/engine/tb_rsa.c", 1131 "crypto/err/err.c", 1132 "crypto/err/err_all.c", 1133 "crypto/err/err_all_legacy.c", 1134 "crypto/err/err_blocks.c", 1135 "crypto/err/err_prn.c", 1136 "crypto/ess/ess_asn1.c", 1137 "crypto/ess/ess_err.c", 1138 "crypto/ess/ess_lib.c", 1139 "crypto/evp/asymcipher.c", 1140 "crypto/evp/bio_b64.c", 1141 "crypto/evp/bio_enc.c", 1142 "crypto/evp/bio_md.c", 1143 "crypto/evp/bio_ok.c", 1144 "crypto/evp/c_allc.c", 1145 "crypto/evp/c_alld.c", 1146 "crypto/evp/cmeth_lib.c", 1147 "crypto/evp/ctrl_params_translate.c", 1148 "crypto/evp/dh_ctrl.c", 1149 "crypto/evp/dh_support.c", 1150 "crypto/evp/digest.c", 1151 "crypto/evp/dsa_ctrl.c", 1152 "crypto/evp/e_aes.c", 1153 "crypto/evp/e_aes_cbc_hmac_sha1.c", 1154 "crypto/evp/e_aes_cbc_hmac_sha256.c", 1155 "crypto/evp/e_aria.c", 1156 "crypto/evp/e_bf.c", 1157 "crypto/evp/e_camellia.c", 1158 "crypto/evp/e_cast.c", 1159 "crypto/evp/e_chacha20_poly1305.c", 1160 "crypto/evp/e_des.c", 1161 "crypto/evp/e_des3.c", 1162 "crypto/evp/e_idea.c", 1163 "crypto/evp/e_null.c", 1164 "crypto/evp/e_old.c", 1165 "crypto/evp/e_rc2.c", 1166 "crypto/evp/e_rc4.c", 1167 "crypto/evp/e_rc4_hmac_md5.c", 1168 "crypto/evp/e_rc5.c", 1169 "crypto/evp/e_seed.c", 1170 "crypto/evp/e_sm4.c", 1171 "crypto/evp/e_xcbc_d.c", 1172 "crypto/evp/ec_ctrl.c", 1173 "crypto/evp/ec_support.c", 1174 "crypto/evp/encode.c", 1175 "crypto/evp/evp_cnf.c", 1176 "crypto/evp/evp_enc.c", 1177 "crypto/evp/evp_err.c", 1178 "crypto/evp/evp_fetch.c", 1179 "crypto/evp/evp_key.c", 1180 "crypto/evp/evp_lib.c", 1181 "crypto/evp/evp_pbe.c", 1182 "crypto/evp/evp_pkey.c", 1183 "crypto/evp/evp_rand.c", 1184 "crypto/evp/evp_utils.c", 1185 "crypto/evp/exchange.c", 1186 "crypto/evp/kdf_lib.c", 1187 "crypto/evp/kdf_meth.c", 1188 "crypto/evp/kem.c", 1189 "crypto/evp/keymgmt_lib.c", 1190 "crypto/evp/keymgmt_meth.c", 1191 "crypto/evp/legacy_blake2.c", 1192 "crypto/evp/legacy_md4.c", 1193 "crypto/evp/legacy_md5.c", 1194 "crypto/evp/legacy_md5_sha1.c", 1195 "crypto/evp/legacy_mdc2.c", 1196 "crypto/evp/legacy_ripemd.c", 1197 "crypto/evp/legacy_sha.c", 1198 "crypto/evp/legacy_wp.c", 1199 "crypto/evp/m_null.c", 1200 "crypto/evp/m_sigver.c", 1201 "crypto/evp/mac_lib.c", 1202 "crypto/evp/mac_meth.c", 1203 "crypto/evp/names.c", 1204 "crypto/evp/p5_crpt.c", 1205 "crypto/evp/p5_crpt2.c", 1206 "crypto/evp/p_dec.c", 1207 "crypto/evp/p_enc.c", 1208 "crypto/evp/p_legacy.c", 1209 "crypto/evp/p_lib.c", 1210 "crypto/evp/p_open.c", 1211 "crypto/evp/p_seal.c", 1212 "crypto/evp/p_sign.c", 1213 "crypto/evp/p_verify.c", 1214 "crypto/evp/pbe_scrypt.c", 1215 "crypto/evp/pmeth_check.c", 1216 "crypto/evp/pmeth_gn.c", 1217 "crypto/evp/pmeth_lib.c", 1218 "crypto/evp/signature.c", 1219 "crypto/ex_data.c", 1220 "crypto/ffc/ffc_backend.c", 1221 "crypto/ffc/ffc_dh.c", 1222 "crypto/ffc/ffc_key_generate.c", 1223 "crypto/ffc/ffc_key_validate.c", 1224 "crypto/ffc/ffc_params.c", 1225 "crypto/ffc/ffc_params_generate.c", 1226 "crypto/ffc/ffc_params_validate.c", 1227 "crypto/getenv.c", 1228 "crypto/hmac/hmac.c", 1229 "crypto/http/http_client.c", 1230 "crypto/http/http_err.c", 1231 "crypto/http/http_lib.c", 1232 "crypto/idea/i_cbc.c", 1233 "crypto/idea/i_cfb64.c", 1234 "crypto/idea/i_ecb.c", 1235 "crypto/idea/i_ofb64.c", 1236 "crypto/idea/i_skey.c", 1237 "crypto/info.c", 1238 "crypto/init.c", 1239 "crypto/initthread.c", 1240 "crypto/kdf/kdf_err.c", 1241 "crypto/lhash/lh_stats.c", 1242 "crypto/lhash/lhash.c", 1243 "crypto/md4/md4_dgst.c", 1244 "crypto/md4/md4_one.c", 1245 "crypto/md5/md5_dgst.c", 1246 "crypto/md5/md5_one.c", 1247 "crypto/md5/md5_sha1.c", 1248 "crypto/mdc2/mdc2_one.c", 1249 "crypto/mdc2/mdc2dgst.c", 1250 "crypto/mem.c", 1251 "crypto/mem_sec.c", 1252 "crypto/modes/cbc128.c", 1253 "crypto/modes/ccm128.c", 1254 "crypto/modes/cfb128.c", 1255 "crypto/modes/ctr128.c", 1256 "crypto/modes/cts128.c", 1257 "crypto/modes/gcm128.c", 1258 "crypto/modes/ocb128.c", 1259 "crypto/modes/ofb128.c", 1260 "crypto/modes/siv128.c", 1261 "crypto/modes/wrap128.c", 1262 "crypto/modes/xts128.c", 1263 "crypto/o_dir.c", 1264 "crypto/o_fopen.c", 1265 "crypto/o_init.c", 1266 "crypto/o_str.c", 1267 "crypto/o_time.c", 1268 "crypto/objects/o_names.c", 1269 "crypto/objects/obj_dat.c", 1270 "crypto/objects/obj_err.c", 1271 "crypto/objects/obj_lib.c", 1272 "crypto/objects/obj_xref.c", 1273 "crypto/ocsp/ocsp_asn.c", 1274 "crypto/ocsp/ocsp_cl.c", 1275 "crypto/ocsp/ocsp_err.c", 1276 "crypto/ocsp/ocsp_ext.c", 1277 "crypto/ocsp/ocsp_http.c", 1278 "crypto/ocsp/ocsp_lib.c", 1279 "crypto/ocsp/ocsp_prn.c", 1280 "crypto/ocsp/ocsp_srv.c", 1281 "crypto/ocsp/ocsp_vfy.c", 1282 "crypto/ocsp/v3_ocsp.c", 1283 "crypto/packet.c", 1284 "crypto/param_build.c", 1285 "crypto/param_build_set.c", 1286 "crypto/params.c", 1287 "crypto/params_dup.c", 1288 "crypto/params_from_text.c", 1289 "crypto/passphrase.c", 1290 "crypto/pem/pem_all.c", 1291 "crypto/pem/pem_err.c", 1292 "crypto/pem/pem_info.c", 1293 "crypto/pem/pem_lib.c", 1294 "crypto/pem/pem_oth.c", 1295 "crypto/pem/pem_pk8.c", 1296 "crypto/pem/pem_pkey.c", 1297 "crypto/pem/pem_sign.c", 1298 "crypto/pem/pem_x509.c", 1299 "crypto/pem/pem_xaux.c", 1300 "crypto/pem/pvkfmt.c", 1301 "crypto/pkcs12/p12_add.c", 1302 "crypto/pkcs12/p12_asn.c", 1303 "crypto/pkcs12/p12_attr.c", 1304 "crypto/pkcs12/p12_crpt.c", 1305 "crypto/pkcs12/p12_crt.c", 1306 "crypto/pkcs12/p12_decr.c", 1307 "crypto/pkcs12/p12_init.c", 1308 "crypto/pkcs12/p12_key.c", 1309 "crypto/pkcs12/p12_kiss.c", 1310 "crypto/pkcs12/p12_mutl.c", 1311 "crypto/pkcs12/p12_npas.c", 1312 "crypto/pkcs12/p12_p8d.c", 1313 "crypto/pkcs12/p12_p8e.c", 1314 "crypto/pkcs12/p12_sbag.c", 1315 "crypto/pkcs12/p12_utl.c", 1316 "crypto/pkcs12/pk12err.c", 1317 "crypto/pkcs7/bio_pk7.c", 1318 "crypto/pkcs7/pk7_asn1.c", 1319 "crypto/pkcs7/pk7_attr.c", 1320 "crypto/pkcs7/pk7_doit.c", 1321 "crypto/pkcs7/pk7_lib.c", 1322 "crypto/pkcs7/pk7_mime.c", 1323 "crypto/pkcs7/pk7_smime.c", 1324 "crypto/pkcs7/pkcs7err.c", 1325 "crypto/poly1305/poly1305.c", 1326 "crypto/property/defn_cache.c", 1327 "crypto/property/property.c", 1328 "crypto/property/property_err.c", 1329 "crypto/property/property_parse.c", 1330 "crypto/property/property_query.c", 1331 "crypto/property/property_string.c", 1332 "crypto/provider.c", 1333 "crypto/provider_child.c", 1334 "crypto/provider_conf.c", 1335 "crypto/provider_core.c", 1336 "crypto/provider_predefined.c", 1337 "crypto/punycode.c", 1338 "crypto/rand/prov_seed.c", 1339 "crypto/rand/rand_deprecated.c", 1340 "crypto/rand/rand_err.c", 1341 "crypto/rand/rand_lib.c", 1342 "crypto/rand/rand_meth.c", 1343 "crypto/rand/rand_pool.c", 1344 "crypto/rand/randfile.c", 1345 "crypto/rc2/rc2_cbc.c", 1346 "crypto/rc2/rc2_ecb.c", 1347 "crypto/rc2/rc2_skey.c", 1348 "crypto/rc2/rc2cfb64.c", 1349 "crypto/rc2/rc2ofb64.c", 1350 "crypto/ripemd/rmd_dgst.c", 1351 "crypto/ripemd/rmd_one.c", 1352 "crypto/rsa/rsa_ameth.c", 1353 "crypto/rsa/rsa_asn1.c", 1354 "crypto/rsa/rsa_backend.c", 1355 "crypto/rsa/rsa_chk.c", 1356 "crypto/rsa/rsa_crpt.c", 1357 "crypto/rsa/rsa_depr.c", 1358 "crypto/rsa/rsa_err.c", 1359 "crypto/rsa/rsa_gen.c", 1360 "crypto/rsa/rsa_lib.c", 1361 "crypto/rsa/rsa_meth.c", 1362 "crypto/rsa/rsa_mp.c", 1363 "crypto/rsa/rsa_mp_names.c", 1364 "crypto/rsa/rsa_none.c", 1365 "crypto/rsa/rsa_oaep.c", 1366 "crypto/rsa/rsa_ossl.c", 1367 "crypto/rsa/rsa_pk1.c", 1368 "crypto/rsa/rsa_pmeth.c", 1369 "crypto/rsa/rsa_prn.c", 1370 "crypto/rsa/rsa_pss.c", 1371 "crypto/rsa/rsa_saos.c", 1372 "crypto/rsa/rsa_schemes.c", 1373 "crypto/rsa/rsa_sign.c", 1374 "crypto/rsa/rsa_sp800_56b_check.c", 1375 "crypto/rsa/rsa_sp800_56b_gen.c", 1376 "crypto/rsa/rsa_x931.c", 1377 "crypto/rsa/rsa_x931g.c", 1378 "crypto/seed/seed.c", 1379 "crypto/seed/seed_cbc.c", 1380 "crypto/seed/seed_cfb.c", 1381 "crypto/seed/seed_ecb.c", 1382 "crypto/seed/seed_ofb.c", 1383 "crypto/self_test_core.c", 1384 "crypto/sha/sha1_one.c", 1385 "crypto/sha/sha1dgst.c", 1386 "crypto/sha/sha256.c", 1387 "crypto/sha/sha3.c", 1388 "crypto/sha/sha512.c", 1389 "crypto/siphash/siphash.c", 1390 "crypto/sm2/sm2_crypt.c", 1391 "crypto/sm2/sm2_err.c", 1392 "crypto/sm2/sm2_key.c", 1393 "crypto/sm2/sm2_sign.c", 1394 "crypto/sm3/legacy_sm3.c", 1395 "crypto/sm3/sm3.c", 1396 "crypto/sm4/sm4.c", 1397 "crypto/sparse_array.c", 1398 "crypto/srp/srp_lib.c", 1399 "crypto/srp/srp_vfy.c", 1400 "crypto/stack/stack.c", 1401 "crypto/store/store_err.c", 1402 "crypto/store/store_init.c", 1403 "crypto/store/store_lib.c", 1404 "crypto/store/store_meth.c", 1405 "crypto/store/store_register.c", 1406 "crypto/store/store_result.c", 1407 "crypto/store/store_strings.c", 1408 "crypto/threads_lib.c", 1409 "crypto/threads_none.c", 1410 "crypto/threads_pthread.c", 1411 "crypto/threads_win.c", 1412 "crypto/trace.c", 1413 "crypto/ts/ts_asn1.c", 1414 "crypto/ts/ts_conf.c", 1415 "crypto/ts/ts_err.c", 1416 "crypto/ts/ts_lib.c", 1417 "crypto/ts/ts_req_print.c", 1418 "crypto/ts/ts_req_utils.c", 1419 "crypto/ts/ts_rsp_print.c", 1420 "crypto/ts/ts_rsp_sign.c", 1421 "crypto/ts/ts_rsp_utils.c", 1422 "crypto/ts/ts_rsp_verify.c", 1423 "crypto/ts/ts_verify_ctx.c", 1424 "crypto/txt_db/txt_db.c", 1425 "crypto/ui/ui_err.c", 1426 "crypto/ui/ui_lib.c", 1427 "crypto/ui/ui_null.c", 1428 "crypto/ui/ui_openssl.c", 1429 "crypto/ui/ui_util.c", 1430 "crypto/uid.c", 1431 "crypto/whrlpool/wp_dgst.c", 1432 "crypto/x509/by_dir.c", 1433 "crypto/x509/by_file.c", 1434 "crypto/x509/by_store.c", 1435 "crypto/x509/pcy_cache.c", 1436 "crypto/x509/pcy_data.c", 1437 "crypto/x509/pcy_lib.c", 1438 "crypto/x509/pcy_map.c", 1439 "crypto/x509/pcy_node.c", 1440 "crypto/x509/pcy_tree.c", 1441 "crypto/x509/t_crl.c", 1442 "crypto/x509/t_req.c", 1443 "crypto/x509/t_x509.c", 1444 "crypto/x509/v3_addr.c", 1445 "crypto/x509/v3_admis.c", 1446 "crypto/x509/v3_akeya.c", 1447 "crypto/x509/v3_akid.c", 1448 "crypto/x509/v3_asid.c", 1449 "crypto/x509/v3_bcons.c", 1450 "crypto/x509/v3_bitst.c", 1451 "crypto/x509/v3_conf.c", 1452 "crypto/x509/v3_cpols.c", 1453 "crypto/x509/v3_crld.c", 1454 "crypto/x509/v3_enum.c", 1455 "crypto/x509/v3_extku.c", 1456 "crypto/x509/v3_genn.c", 1457 "crypto/x509/v3_ia5.c", 1458 "crypto/x509/v3_info.c", 1459 "crypto/x509/v3_int.c", 1460 "crypto/x509/v3_ist.c", 1461 "crypto/x509/v3_lib.c", 1462 "crypto/x509/v3_ncons.c", 1463 "crypto/x509/v3_pci.c", 1464 "crypto/x509/v3_pcia.c", 1465 "crypto/x509/v3_pcons.c", 1466 "crypto/x509/v3_pku.c", 1467 "crypto/x509/v3_pmaps.c", 1468 "crypto/x509/v3_prn.c", 1469 "crypto/x509/v3_purp.c", 1470 "crypto/x509/v3_san.c", 1471 "crypto/x509/v3_skid.c", 1472 "crypto/x509/v3_sxnet.c", 1473 "crypto/x509/v3_tlsf.c", 1474 "crypto/x509/v3_utf8.c", 1475 "crypto/x509/v3_utl.c", 1476 "crypto/x509/v3err.c", 1477 "crypto/x509/x509_att.c", 1478 "crypto/x509/x509_cmp.c", 1479 "crypto/x509/x509_d2.c", 1480 "crypto/x509/x509_def.c", 1481 "crypto/x509/x509_err.c", 1482 "crypto/x509/x509_ext.c", 1483 "crypto/x509/x509_lu.c", 1484 "crypto/x509/x509_meth.c", 1485 "crypto/x509/x509_obj.c", 1486 "crypto/x509/x509_r2x.c", 1487 "crypto/x509/x509_req.c", 1488 "crypto/x509/x509_set.c", 1489 "crypto/x509/x509_trust.c", 1490 "crypto/x509/x509_txt.c", 1491 "crypto/x509/x509_v3.c", 1492 "crypto/x509/x509_vfy.c", 1493 "crypto/x509/x509_vpm.c", 1494 "crypto/x509/x509cset.c", 1495 "crypto/x509/x509name.c", 1496 "crypto/x509/x509rset.c", 1497 "crypto/x509/x509spki.c", 1498 "crypto/x509/x509type.c", 1499 "crypto/x509/x_all.c", 1500 "crypto/x509/x_attrib.c", 1501 "crypto/x509/x_crl.c", 1502 "crypto/x509/x_exten.c", 1503 "crypto/x509/x_name.c", 1504 "crypto/x509/x_pubkey.c", 1505 "crypto/x509/x_req.c", 1506 "crypto/x509/x_x509.c", 1507 "crypto/x509/x_x509a.c", 1508 "engines/e_capi.c", 1509 "engines/e_padlock.c", 1510 "providers/baseprov.c", 1511 "providers/defltprov.c", 1512 "providers/legacyprov.c", 1513 "providers/nullprov.c", 1514 "providers/prov_running.c", 1515 ] 1516 sources += libcommon_common_sources 1517 sources += libcommon_build_all_generated_selected_platform_sources 1518 sources += libdefault_common_sources 1519 sources += libdefault_build_all_generated_selected_platform_sources 1520 sources += libcrypto_build_all_generated_selected_platform_sources 1521 sources += liblegacy_sources 1522 1523 if (openssl_selected_platform == "linux-armv4") { 1524 # 升级修改适配检查点21 libcrypto 不同平台c源码列表 1525 sources += [ 1526 "crypto/aes/aes_cbc.c", 1527 "crypto/armcap.c", 1528 "crypto/bn/bn_asm.c", 1529 "crypto/camellia/camellia.c", 1530 "crypto/camellia/cmll_cbc.c", 1531 "crypto/rc4/rc4_enc.c", 1532 "crypto/rc4/rc4_skey.c", 1533 "crypto/whrlpool/wp_block.c", 1534 "engines/e_afalg.c", 1535 ] 1536 } else if (openssl_selected_platform == "linux-aarch64") { 1537 # 升级修改适配检查点22 libcrypto 不同平台c源码列表 1538 sources += [ 1539 "crypto/aes/aes_cbc.c", 1540 "crypto/aes/aes_core.c", 1541 "crypto/armcap.c", 1542 "crypto/bn/bn_asm.c", 1543 "crypto/camellia/camellia.c", 1544 "crypto/camellia/cmll_cbc.c", 1545 "crypto/rc4/rc4_enc.c", 1546 "crypto/rc4/rc4_skey.c", 1547 "crypto/whrlpool/wp_block.c", 1548 "engines/e_afalg.c", 1549 ] 1550 } else if (openssl_selected_platform == "darwin64-x86_64-cc") { 1551 # 升级修改适配检查点23 libcrypto 不同平台c源码列表 1552 sources += [ 1553 "crypto/bn/asm/x86_64-gcc.c", 1554 "crypto/bn/rsaz_exp.c", 1555 "crypto/bn/rsaz_exp_x2.c", 1556 ] 1557 } else if (openssl_selected_platform == "darwin64-arm64-cc") { 1558 # 升级修改适配检查点24 libcrypto 不同平台c源码列表 1559 sources += [ 1560 "crypto/aes/aes_cbc.c", 1561 "crypto/aes/aes_core.c", 1562 "crypto/armcap.c", 1563 "crypto/bn/bn_asm.c", 1564 "crypto/camellia/camellia.c", 1565 "crypto/camellia/cmll_cbc.c", 1566 "crypto/rc4/rc4_enc.c", 1567 "crypto/rc4/rc4_skey.c", 1568 "crypto/whrlpool/wp_block.c", 1569 ] 1570 } else if (openssl_selected_platform == "linux-x86_64") { 1571 # 升级修改适配检查点25 libcrypto 不同平台c源码列表 1572 sources += [ 1573 "crypto/bn/asm/x86_64-gcc.c", 1574 "crypto/bn/rsaz_exp.c", 1575 "crypto/bn/rsaz_exp_x2.c", 1576 "engines/e_afalg.c", 1577 ] 1578 } else if (openssl_selected_platform == "mingw64") { 1579 # 升级修改适配检查点26 libcrypto 不同平台c源码列表 1580 sources += [ 1581 "crypto/bn/asm/x86_64-gcc.c", 1582 "crypto/bn/rsaz_exp.c", 1583 "crypto/bn/rsaz_exp_x2.c", 1584 ] 1585 } 1586 1587 configs = [ ":crypto_config_private" ] 1588 public_configs = [ ":crypto_config_public" ] 1589 deps = [ ":openssl_build_all_generated" ] 1590} 1591 1592ohos_static_library("libcrypto_static") { 1593 if (!compatible_with_legacy_build_system) { 1594 subsystem_name = "thirdparty" 1595 part_name = "openssl" 1596 } 1597 deps = [ ":crypto_source" ] 1598 public_configs = [ ":crypto_config_public" ] 1599 complete_static_lib = true 1600} 1601 1602if (is_mingw || is_mac) { 1603 ohos_shared_library("libcrypto_restool") { 1604 sources = [] 1605 configs = [] 1606 deps = [ ":crypto_source" ] 1607 if (openssl_selected_platform == "mingw64") { 1608 sources += [ "crypto/dllmain.c" ] 1609 configs += [ ":crypto_config_private" ] 1610 } 1611 if (compatible_with_legacy_build_system) { 1612 subsystem_name = "security" 1613 part_name = "huks" 1614 } else { 1615 subsystem_name = "thirdparty" 1616 part_name = "openssl" 1617 } 1618 public_configs = [ ":crypto_config_public" ] 1619 install_images = [ 1620 "system", 1621 "updater", 1622 ] 1623 } 1624} 1625 1626ohos_shared_library("libcrypto_shared") { 1627 sources = [] 1628 configs = [] 1629 deps = [ 1630 ":crypto_source", 1631 ":openssl.cnf", 1632 ] 1633 if (openssl_selected_platform == "mingw64") { 1634 sources += [ "crypto/dllmain.c" ] 1635 configs += [ ":crypto_config_private" ] 1636 } 1637 if (current_os == "ios") { 1638 ldflags = [ 1639 "-Wl", 1640 "-install_name", 1641 "@rpath/libcrypto_openssl.framework/libcrypto_openssl", 1642 ] 1643 output_name = "crypto_openssl" 1644 } else { 1645 output_name = "libcrypto_openssl" 1646 } 1647 if (compatible_with_legacy_build_system) { 1648 subsystem_name = "security" 1649 part_name = "huks" 1650 } else { 1651 subsystem_name = "thirdparty" 1652 part_name = "openssl" 1653 } 1654 if (!compatible_with_legacy_build_system) { 1655 innerapi_tags = [ 1656 "platformsdk", 1657 "chipsetsdk", 1658 ] 1659 } 1660 public_configs = [ ":crypto_config_public" ] 1661 install_images = [ 1662 "system", 1663 "updater", 1664 ] 1665} 1666 1667if (current_os == "ios") { 1668 ohos_combine_darwin_framework("libcrypto_openssl") { 1669 deps = [ ":libcrypto_shared" ] 1670 subsystem_name = "thirdparty" 1671 part_name = "openssl" 1672 } 1673} 1674 1675unused_variables = [] 1676unused_variables += unused_variables 1677unused_variables += crypto_config_common_private_include_dirs 1678unused_variables += crypto_config_common_public_include_dirs 1679unused_variables += crypto_config_common_cflags 1680unused_variables += crypto_config_linux_armv4_cflags 1681unused_variables += crypto_config_linux_aarch64_cflags 1682unused_variables += crypto_config_darwin64_x86_64_cc_cflags 1683unused_variables += crypto_config_darwin64_arm64_cc_cflags 1684unused_variables += crypto_config_linux_x86_64_cflags 1685unused_variables += crypto_config_mingw64_cflags 1686unused_variables += libcommon_common_sources 1687unused_variables += libdefault_common_sources 1688unused_variables += libcrypto_build_all_generated_linux_armv4_sources 1689unused_variables += libcrypto_build_all_generated_linux_aarch64_sources 1690unused_variables += libcrypto_build_all_generated_darwin64_x86_64_cc_sources 1691unused_variables += libcrypto_build_all_generated_darwin64_arm64_cc_sources 1692unused_variables += libcrypto_build_all_generated_linux_x86_64_sources 1693unused_variables += libcrypto_build_all_generated_mingw64_sources 1694 1695config("ssl_config_private") { 1696 include_dirs = crypto_config_common_private_include_dirs 1697 cflags = crypto_config_common_cflags + crypto_config_current_platform_cflags + 1698 openssl_internal_cflags 1699} 1700 1701config("ssl_config_public") { 1702 include_dirs = crypto_config_common_public_include_dirs 1703} 1704 1705ohos_source_set("ssl_source") { 1706 if (!compatible_with_legacy_build_system) { 1707 subsystem_name = "thirdparty" 1708 part_name = "openssl" 1709 } 1710 1711 # 升级修改适配检查点27 libssl 源码列表 1712 sources = [ 1713 "ssl/bio_ssl.c", 1714 "ssl/d1_lib.c", 1715 "ssl/d1_msg.c", 1716 "ssl/d1_srtp.c", 1717 "ssl/methods.c", 1718 "ssl/pqueue.c", 1719 "ssl/record/dtls1_bitmap.c", 1720 "ssl/record/rec_layer_d1.c", 1721 "ssl/record/rec_layer_s3.c", 1722 "ssl/record/ssl3_buffer.c", 1723 "ssl/record/ssl3_record.c", 1724 "ssl/record/ssl3_record_tls13.c", 1725 "ssl/s3_enc.c", 1726 "ssl/s3_lib.c", 1727 "ssl/s3_msg.c", 1728 "ssl/ssl_asn1.c", 1729 "ssl/ssl_cert.c", 1730 "ssl/ssl_ciph.c", 1731 "ssl/ssl_conf.c", 1732 "ssl/ssl_err.c", 1733 "ssl/ssl_err_legacy.c", 1734 "ssl/ssl_init.c", 1735 "ssl/ssl_lib.c", 1736 "ssl/ssl_mcnf.c", 1737 "ssl/ssl_rsa.c", 1738 "ssl/ssl_rsa_legacy.c", 1739 "ssl/ssl_sess.c", 1740 "ssl/ssl_stat.c", 1741 "ssl/ssl_txt.c", 1742 "ssl/ssl_utst.c", 1743 "ssl/statem/extensions.c", 1744 "ssl/statem/extensions_clnt.c", 1745 "ssl/statem/extensions_cust.c", 1746 "ssl/statem/extensions_srvr.c", 1747 "ssl/statem/statem.c", 1748 "ssl/statem/statem_clnt.c", 1749 "ssl/statem/statem_dtls.c", 1750 "ssl/statem/statem_lib.c", 1751 "ssl/statem/statem_srvr.c", 1752 "ssl/t1_enc.c", 1753 "ssl/t1_lib.c", 1754 "ssl/t1_trce.c", 1755 "ssl/tls13_enc.c", 1756 "ssl/tls_depr.c", 1757 "ssl/tls_srp.c", 1758 ] 1759 1760 configs = [ ":ssl_config_private" ] 1761 public_configs = [ ":ssl_config_public" ] 1762 deps = [ ":openssl_build_all_generated" ] 1763} 1764 1765ohos_static_library("libssl_static") { 1766 if (!compatible_with_legacy_build_system) { 1767 subsystem_name = "thirdparty" 1768 part_name = "openssl" 1769 } 1770 deps = [ ":ssl_source" ] 1771 public_configs = [ ":ssl_config_public" ] 1772 complete_static_lib = true 1773} 1774 1775ohos_shared_library("libssl_shared") { 1776 deps = [ 1777 ":libcrypto_shared", 1778 ":openssl.cnf", 1779 ":ssl_source", 1780 ] 1781 if (current_os == "ios") { 1782 ldflags = [ 1783 "-Wl", 1784 "-install_name", 1785 "@rpath/libssl_openssl.framework/libssl_openssl", 1786 ] 1787 output_name = "ssl_openssl" 1788 } else { 1789 output_name = "libssl_openssl" 1790 } 1791 if (compatible_with_legacy_build_system) { 1792 subsystem_name = "developtools" 1793 part_name = "profiler" 1794 } else { 1795 subsystem_name = "thirdparty" 1796 part_name = "openssl" 1797 } 1798 1799 if (!compatible_with_legacy_build_system) { 1800 innerapi_tags = [ 1801 "platformsdk", 1802 "chipsetsdk", 1803 ] 1804 } 1805 public_configs = [ 1806 ":crypto_config_public", 1807 ":ssl_config_public", 1808 ] 1809 1810 install_images = [ 1811 "system", 1812 1813 # compile libssl_openssl.z.so to the updater image for wpa to use 1814 "updater", 1815 ] 1816} 1817 1818if (current_os == "ios") { 1819 ohos_combine_darwin_framework("libssl_openssl") { 1820 deps = [ ":libssl_shared" ] 1821 subsystem_name = "thirdparty" 1822 part_name = "openssl" 1823 } 1824} 1825 1826ohos_static_library("libapps") { 1827 # 升级修改适配检查点28 libapps 源码列表 1828 sources = [ 1829 "apps/lib/app_libctx.c", 1830 "apps/lib/app_params.c", 1831 "apps/lib/app_provider.c", 1832 "apps/lib/app_rand.c", 1833 "apps/lib/app_x509.c", 1834 "apps/lib/apps.c", 1835 "apps/lib/apps_ui.c", 1836 "apps/lib/columns.c", 1837 "apps/lib/engine.c", 1838 "apps/lib/engine_loader.c", 1839 "apps/lib/fmt.c", 1840 "apps/lib/http_server.c", 1841 "apps/lib/names.c", 1842 "apps/lib/opt.c", 1843 "apps/lib/s_cb.c", 1844 "apps/lib/s_socket.c", 1845 "apps/lib/tlssrp_depr.c", 1846 ] 1847 if (openssl_selected_platform == "mingw64") { 1848 sources += [ "apps/lib/win32_init.c" ] 1849 } 1850 if (!compatible_with_legacy_build_system) { 1851 subsystem_name = "thirdparty" 1852 part_name = "openssl" 1853 } 1854 configs = [ ":crypto_config_private" ] 1855} 1856 1857ohos_executable("openssl") { 1858 # 升级修改适配检查点29 apps/openssl 源码列表 1859 sources = [ 1860 "${openssl_selected_platform_full_path}/apps/progs.c", 1861 "apps/asn1parse.c", 1862 "apps/ca.c", 1863 "apps/ciphers.c", 1864 "apps/cmp.c", 1865 "apps/cms.c", 1866 "apps/crl.c", 1867 "apps/crl2pkcs7.c", 1868 "apps/dgst.c", 1869 "apps/dhparam.c", 1870 "apps/dsa.c", 1871 "apps/dsaparam.c", 1872 "apps/ec.c", 1873 "apps/ecparam.c", 1874 "apps/enc.c", 1875 "apps/engine.c", 1876 "apps/errstr.c", 1877 "apps/fipsinstall.c", 1878 "apps/gendsa.c", 1879 "apps/genpkey.c", 1880 "apps/genrsa.c", 1881 "apps/info.c", 1882 "apps/kdf.c", 1883 "apps/lib/cmp_mock_srv.c", 1884 "apps/list.c", 1885 "apps/mac.c", 1886 "apps/nseq.c", 1887 "apps/ocsp.c", 1888 "apps/openssl.c", 1889 "apps/passwd.c", 1890 "apps/pkcs12.c", 1891 "apps/pkcs7.c", 1892 "apps/pkcs8.c", 1893 "apps/pkey.c", 1894 "apps/pkeyparam.c", 1895 "apps/pkeyutl.c", 1896 "apps/prime.c", 1897 "apps/rand.c", 1898 "apps/rehash.c", 1899 "apps/req.c", 1900 "apps/rsa.c", 1901 "apps/rsautl.c", 1902 "apps/s_client.c", 1903 "apps/s_server.c", 1904 "apps/s_time.c", 1905 "apps/sess_id.c", 1906 "apps/smime.c", 1907 "apps/speed.c", 1908 "apps/spkac.c", 1909 "apps/srp.c", 1910 "apps/storeutl.c", 1911 "apps/ts.c", 1912 "apps/verify.c", 1913 "apps/version.c", 1914 "apps/x509.c", 1915 ] 1916 if (openssl_selected_platform == "mingw64") { 1917 sources += [ "${openssl_selected_platform_full_path}/apps/openssl.rc" ] 1918 } 1919 deps = [ 1920 ":libapps", 1921 ":libcrypto_shared", 1922 ":libssl_shared", 1923 ":openssl.cnf", 1924 ":openssl_build_all_generated", 1925 ] 1926 if (compatible_with_legacy_build_system) { 1927 subsystem_name = "security" 1928 part_name = "huks" 1929 } else { 1930 subsystem_name = "thirdparty" 1931 part_name = "openssl" 1932 } 1933 configs = [ ":crypto_config_private" ] 1934} 1935# 升级修改适配检查点 汇总 1936# 1937# libcommon = 1938# libcommon 生成的源码列表(7) + 1939# libcommon 原目录源码列表(17) 1940# 1941# libdefault = 1942# libdefault 生成的源码列表(8) + 1943# libdefault 原目录源码列表(18) 1944# 1945# liblegacy = 1946# liblegacy 源码列表(19) 1947# 1948# libcrypto = 1949# libcrypto 不同平台汇编代码(1,2,3,4,5,6) + 1950# libcrypto 不同平台c源码列表(21,22,23,24,25,26) + 1951# libcrypto 原目录源码列表(20) + 1952# libcommon + 1953# libdefault + 1954# liblegacy 1955# 1956# libssl = 1957# libssl 源码列表(27) 1958# 1959# libapps = 1960# libapps 源码列表(28) 1961# 1962# apps/openssl = 1963# apps/openssl 源码列表(29) + 1964# libapps 1965# 1966# 编译选项 = 1967# 内部公共头文件目录列表(9) + 1968# 内部公共编译选项宏列表(10) + 1969# 内部不同平台编译选项列表(11,12,13,14,15,16) 1970