
# 使用SSL方式建连报错或阻塞
#### 问题现象
JDBC使用SSL方式建立连接时，会在客户端获取强随机数，建立连接过程中可能出现不同场景的报错信息。
场景1：如下报错：
![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/figure/zh-cn_image_0000002200302964.png "点击放大")
场景2：建连阻塞。如果连接串中配置了loginTimeout，会报Connection attempt timed out，如果不配置该参数，会一直阻塞。
#### 原因分析
客户端环境随机数产生的速度太慢，无法满足产品要求，熵源不足，导致服务启动失败。当前已知在一些Linux环境中存在此问题。
#### 处理方法
- 方法1：启动客户端环境中的haveged服务，增加系统熵池熵值以提高读取随机数的速度。
  启动命令为：
  ```
  systemctl start haveged
  ```
  

- 方法2：调整客户端jdk配置。 打开$JAVA_PATH/jre/lib/security/java.security文件，修改以下两个配置项：
  ```
  securerandom.source=file:/dev/./urandom
  securerandom.strongAlgorithms=NativePRNGNonBlocking:SUN
  ```
  ![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  方法2的本质是在获取强随机数时，使用伪随机数代替，减少需要消耗的熵值。会影响客户端所有使用该jdk的应用，在获取强随机数时会使用伪随机数代替。
  
 
