Skip to content

fix(crypto): SHA256 认证默认使用 JDBC 兼容的 2048 迭代数 - #27

Closed
Brambledd wants to merge 1 commit into
huaweicloud-samples:masterfrom
Brambledd:bramble-gaussdb-node
Closed

Brambledd wants to merge 1 commit into
huaweicloud-samples:masterfrom
Brambledd:bramble-gaussdb-node

Conversation

@Brambledd

Copy link
Copy Markdown

GaussDB authType=10 的 SHA256 认证中,服务器即使报文携带 iteration=10000,实际仍以 2048 次迭代校验 proof;官方 JDBC 驱动对协议 3.0/3.50 客户端硬编码 2048(ConnectionFactoryImpl.server_iteration_350)。旧实现无条件信任报文值,导致 ClientProof 计算错误,登录被拒(28P01 用户名或密码不合法),而相同密码经 JDBC 可正常登录。

新增 sha256Iterations 连接参数:默认 2048 对齐 JDBC;设为 'server' 时信任报文值(等价 JDBC 3.51 行为);支持连接串与 GAUSSSHA256ITERATIONS 环境变量,非法取值抛 RangeError。补充单元测试覆盖默认值、'server' 模式、自定义值、边界校验及参数传递链路。

GaussDB authType=10 的 SHA256 认证中,服务器即使报文携带 iteration=10000,实际仍以 2048 次迭代校验 proof;官方 JDBC 驱动对协议 3.0/3.50 客户端硬编码 2048(ConnectionFactoryImpl.server_iteration_350)。旧实现无条件信任报文值,导致 ClientProof 计算错误,登录被拒(28P01 用户名或密码不合法),而相同密码经 JDBC 可正常登录。

新增 sha256Iterations 连接参数:默认 2048 对齐 JDBC;设为 'server' 时信任报文值(等价 JDBC 3.51 行为);支持连接串与 GAUSSSHA256ITERATIONS 环境变量,非法取值抛 RangeError。补充单元测试覆盖默认值、'server' 模式、自定义值、边界校验及参数传递链路。
@Brambledd Brambledd closed this Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant