云数据库 GAUSSDB-以SSL方式连接:使用证书认证

时间:2024-11-28 20:08:30

使用证书认证

前置条件:登录 GaussDB 管理控制台,在“实例管理”页面,单击实例名称进入“基本信息”页面,单击“SSL”处的,下载根证书或捆绑包,将根证书ca.pem放置在客户端。

使用客户端配置证书的方式连接数据库的命令如下:

  1. 导入java.sql.Connection、java.sql.DriverManager、java.util.Properties。

    此外,用户需要根据实际的应用场景,再导入其他的接口和类,详见JDBC接口参考
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.util.Properties;

  2. 指定数据库sourceURL($ip、$port、database需要用户自行修改)、用户名和密码。

    用户名和密码直接写到代码中有很大的安全风险,建议在环境变量中存放。

    String sourceURL = "jdbc:gaussdb://$ip:$port/database";
    Properties urlProps = new Properties();
    urlProps.setProperty("user", System.getenv("EXAMPLE_USERNAME_ENV"));
    urlProps.setProperty("password", System.getenv("EXAMPLE_PASSWORD_ENV"));

  3. 设置SSL属性为true,在客户端配置ca.pem根证书。

    urlProps.setProperty("ssl", "true");
    urlProps.setProperty("sslrootcert", "ca.pem");;

  4. 配置sslmode。

    sslmode设置值:require、verify-ca、verify-full,参数介绍详见sslmode。客户根据应用场景选择一种即可。
    /* 设置sslmode为require */
    urlProps.setProperty("sslmode", "require");
    /* 设置sslmode为verify-ca */
    urlProps.setProperty("sslmode", "verify-ca");
    /* 设置sslmode为verify-full(Linux下验证) */
    urlProps.setProperty("sslmode", "verify-full");

  5. 加载驱动。

    1. 在代码运行工具(如IDE)中添加gaussdbjdbc.jar包。
    2. 执行以下命令加载数据库驱动程序“com.huawei.gaussdb.jdbc.Driver”。
    Class.forName("com.huawei.gaussdb.jdbc.Driver");

  6. 创建数据库连接。

    调用DriverManager.getConnection(String url, Properties info),进行数据库连接。
    Connection conn = DriverManager.getConnection(sourceURL,urlProps);

support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0070.html