You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

确认Neo4j Java Driver 4.4.11及以上版本是否支持SSL客户端认证

Neo4j Java Driver 4.4.11及以上版本SSL客户端认证支持情况

Neo4j Java Driver从4.4.0版本起就正式支持SSL客户端认证,你使用的4.4.11完全包含该功能,只是配置入口需要从SslConfig的构建器里入手,可能你之前没留意到。

具体配置方法(Java 8兼容)

你可以通过Config.Builder搭配SslConfig.Builder来配置客户端认证所需的证书/密钥库,以下是两种常见格式的示例:

1. PEM格式证书配置

import org.neo4j.driver.Config;
import org.neo4j.driver.SslClientAuth;
import java.nio.file.Paths;

// 构建包含客户端SSL认证的配置
Config driverConfig = Config.builder()
    .withSslConfig(sslConfigBuilder -> sslConfigBuilder
        .withEnabled(true)
        // 开启强制客户端认证,也可设为OPTIONAL按需认证
        .withClientAuth(SslClientAuth.REQUIRED)
        // 指定客户端证书链文件路径
        .keyCertChainFile(Paths.get("/your/path/client-cert.pem"))
        // 指定客户端私钥文件路径
        .keyFile(Paths.get("/your/path/client-key.pem"))
        // 如果私钥设置了密码,添加此行
        .keyPassword("your-private-key-password")
    )
    .build();

2. JKS密钥库配置

import org.neo4j.driver.Config;
import org.neo4j.driver.SslClientAuth;

Config driverConfig = Config.builder()
    .withSslConfig(sslConfigBuilder -> sslConfigBuilder
        .withEnabled(true)
        .withClientAuth(SslClientAuth.REQUIRED)
        // 指定客户端密钥库路径
        .keyStore("/your/path/client-keystore.jks")
        // 密钥库密码
        .keyStorePassword("your-keystore-password")
    )
    .build();

注意事项

  • 确保Neo4j服务端已经配置为要求客户端认证(修改neo4j.conf中的dbms.ssl.policy.bolt.client_auth为REQUIRED或OPTIONAL),否则客户端配置了也不会触发认证流程。
  • 4.4.x版本的相关API在org.neo4j.driver包下,如果你之前只找了服务端认证相关方法,不妨重点查看SslConfig.Builder类的所有方法。

内容的提问来源于stack exchange,提问作者Thien Do

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 02:02:21