Java 每次添加新客户端时更新服务器密钥库

Java 每次添加新客户端时更新服务器密钥库,java,rest,authentication,x509certificate,Java,Rest,Authentication,X509certificate,我已经编写了一个运行在tomcat服务器上的RestFul web服务和一个用于与服务交互的jersey2.xrest客户端。 客户端身份验证是通过基于证书的相互身份验证方法进行的。我已经在服务器上配置了CA证书,并且有一个.PEM格式的客户机证书,我正在以Base64编码格式将该证书提供给java客户机,如下所示 base64encodedCert = new String(Files.readAllBytes(Paths.get("path/to/cert_for_clientA.base6

我已经编写了一个运行在tomcat服务器上的RestFul web服务和一个用于与服务交互的jersey2.xrest客户端。 客户端身份验证是通过基于证书的相互身份验证方法进行的。我已经在服务器上配置了CA证书,并且有一个.PEM格式的客户机证书,我正在以Base64编码格式将该证书提供给java客户机,如下所示

base64encodedCert = new String(Files.readAllBytes(Paths.get("path/to/cert_for_clientA.base64")));
// ClientBuilder
// Client initialization
Response response = target.request().header("X-AUTH-TOKEN", base64encodedCert).accept(MediaType.APPLICATION_XML).get();
身份验证是基于自定义令牌的类型,即
标题(“X-AUTH-TOKEN”,base64encodedCert)。

但此身份验证不起作用(HTTP错误500?)。所以我引进了 使用
keytool-import命令将相同的客户端证书导入servers truststore.jks,并重新部署应用程序,客户端已成功通过身份验证。
问题是每次颁发新的客户端证书时,我都必须更新服务器的truststore.jks,这不是理想的方法

所以,我想知道是否有一种方法可以避免在服务器的信任库中重复更新,并对客户端证书身份验证进行一次性设置

**这是我的组织工作区上的一个项目,我们有自己的PKI infra用于颁发证书,不确定这是否会产生影响