
# 生成HA证书时报错"symbol xxx not defined in file libcrypto.so.1.1"
#### 用户问题
更换HA证书时，执行**sh ${OMS_RUN_PATH}/workspace/ha/module/hacom/script/gen-cert.sh --root-ca --country=CN --state=** *state* **--city=** *city* **--company=** *company* **--organize=** *organize* **--common-name=** *commonname* **--email=** *集群用户邮箱*命令在主管理节点"${OMS_RUN_PATH}/workspace0/ha/local/cert"目录生成"root-ca.crt"和"root-ca.pem"时，发生以下报错：
```
openssl: relocation error: openssl: symbol BIO_new_dgram_sctp version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time referencecreate server private key failed.
```
#### 原因分析
- 用户可能修改了openssl不是系统默认的/usr/bin/openssl。
- 动态库依赖libcrypto.so.1.1无法找到。
- 如果集群为3.2.0及之前版本，可能在执行操作前执行了配置环境变量的命令（例如**source bigdata_env**），或修改了环境变量。3.2.0之后版本已修复该问题。
 
#### 处理步骤
1. 以**omm**用户通过主管理节点IP登录主管理节点。
2. 执行以下命令查看执行结果是否为"/usr/bin/openssl"。如果不是请修改openssl为系统默认的/usr/bin/openssl。 
   **which openssl**
   
   
3. 执行以下命令查看动态库依赖。 
   **ldd /usr/bin/openssl**
   例如执行后结果如下：
   ```
   [omm@xxx ~]$ ldd /usr/bin/openssl
           linux-vdso.so.1 (0x0000ffffaf016000)
           libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x0000ffffaee7a000)
           libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x0000ffffaebc2000)
           libz.so.1 => /usr/lib64/libz.so.1 (0x0000ffffaeb91000)
           libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000ffffaeb70000)
           libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x0000ffffaeb3b000)
           libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffffae9c5000)
           /lib/ld-linux-aarch64.so.1 (0x0000ffffaefe8000)
   ```
   查看执行结果中libcrypto.so.1.1的指向是否有值，如果为not found请执行以下命令加载。
   **echo $LD_LIBRARY_PATH**
   
   
4. 查看系统库环境变量里是否加载了非系统的openssl相关的库。如果是，请修改为系统的openssl相关的库。
5. 如果仍旧无法解决，请联系支持人员。
 
