【发布时间】:2025-12-17 13:45:01
【问题描述】:
我有一个 .jks 文件,我需要使用 JAX-RS 对消息进行签名。我正在使用 apache-cxf 的其余实现。我已经通过 apache cxf 站点使用 jax-rs 对消息进行签名,但对此我并不清楚。
编码:
String keystr = "src/main/resources/keystore.jks";
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
FileInputStream fis = new FileInputStream(keystr );
keyStore.load(fis, KEYSTORE_PWD.toCharArray());
PrivateKey key = (PrivateKey) keyStore.getKey("", KEYSTORE_PWD.toCharArray());
SSLContext sslCtxt= SSLContexts.custom().loadTrustMaterial(keyStore).build();
SSLConnectionSocketFactory sslConn = new SSLConnectionSocketFactory(sslCtxt, SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
CloseableHttpClient httpclient = HttpClients.custom().setSSLSocketFactory(sslConn ).build();
HttpGet getReq = new HttpGet("http://localhost:8080/xyz?sss=abc");
CloseableHttpResponse response = httpclient.execute(getReq );
HttpEntity entity = response.getEntity();
if (entity != null) {
BufferedReader br = new BufferedReader(new InputStreamReader(entity.getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = br.readLine()) != null) {
result.append(line);
}
}
【问题讨论】:
-
我认为 cxf 的 jax rs 文档还不错(cxf.apache.org/docs/jax-rs-xml-security.html)。您能否提供更多信息,您在哪里遇到错误/您的文档在哪里有问题?
-
也许我的英语太糟糕了,但我不明白“哪个是安全的”。但是,也许您会在 cxf svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/… 的示例部分找到一些有用的信息
-
我认为当您说“我需要使用 Web 服务”时,您希望实现服务器端,因此您可以查看 serverconfig.xml。这只是示例,您也可以通过编程方式进行此配置,按照 cxf 文档cxf.apache.org/docs/jaxrs-services-configuration.html 的说明进行操作
-
你在用spring吗?
-
请不要试图删除所有内容来破坏您的帖子。它仍在编辑历史中,很可能会被回滚。如果您的行为有非常严重的原因,请举报以引起版主的注意,并且可能会解决一些问题。