当前位置: 首页 > 面试题库 >

X.509安全Web服务的Java客户端

许毅
2023-03-14
问题内容

我有X.509证书保护的远程Web服务。
我生成了Web服务客户端的内容(使用jax-ws),但是需要配置是否用于证书的用途。
我应该如何进行?
我想我应该在本地信任的密钥库中注册证书,并且它们设置如下所示:

System.setProperty("javax.net.ssl.keyStore", keyStore);
System.setProperty("javax.net.ssl.keyStoreType", "JKS");
System.setProperty("javax.net.ssl.keyStorePassword", keyStorePassword);
System.setProperty("javax.net.ssl.trustStore", trustStore);
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStorePassword", trustStorePassword);

但是尚不清楚应提供哪些数据作为参数。
请帮忙。
谢谢。


问题答案:

密钥库属性定义用于向服务器标识您的证书:

System.setProperty("javax.net.ssl.keyStore", keyStore);

这是带有x509证书的Java密钥库。您可以使用Java程序keytool创建它。

System.setProperty("javax.net.ssl.trustStore", trustStore);

这是带有用于标识网站的证书的Java密钥库。Web服务软件仅使用此功能来确保您正在与正确的网站进行真正的交谈。

System.setProperty("javax.net.ssl.keyStoreType", "JKS"); System.setProperty("javax.net.ssl.trustStoreType", "JKS");

这仅指定javax.net.ssl.keyStore和javax.net.ssl.trustStore的格式为java keystore。

System.setProperty("javax.net.ssl.keyStorePassword", keyStorePassword); System.setProperty("javax.net.ssl.trustStorePassword", trustStorePassword);

这是创建Java密钥库时用于加密的密码。



 类似资料:
  • 问题内容: 我有stfw,但是找不到在Java中创建Web服务客户端的简单/独立方法。 有人在此链接/示例吗? 问题答案: 使用Axis2怎么样? 只需按照快速入门指南进行操作,就可以轻松应对。 这是另一个更具描述性的指南

  • 保护Web服务器安全非常重要,这意味着只允许其他人查看部分信息并保护数据并限制访问。 这些是增强Apache Web服务器安全性的常见内容。 1. 隐藏Apache版本和操作系统信息 Apache显示其版本和操作系统名称错误,如下面的屏幕截图所示。 黑客可以使用此信息使用特定版本的服务器或操作系统中的公开漏洞发起攻击。为了防止Apache webserver显示此信息,我们可以通过修改apache

  • 问题内容: 我正在尝试使用Jmeter测试Web服务。该Web服务受NTLM身份验证(windows)保护。我可以使用sampler 加载WSDL 。当前,仅当我将SO服务器中提到的BurpSuit与代理服务器一起使用时,它才有效(而不是SOUP UI,而是将Jmeter与BurpSuite一起使用)。 但是我不想使用代理服务器,而是想直接在Jmeter中通过NTLM身份验证使用Web服务。我已经

  • 我在web应用程序中使用Spring Security(v3.1.3)进行X.509身份验证。用户和角色存储在数据库中,但我实际上不需要这样做,因为客户端证书的CNs符合“[角色]-[用户名]”模式,这意味着我已经从证书本身获得了用户名和角色。那么,如何不费吹灰之力就消除数据库呢?我应该编写自己的用户服务实现来填充UserDetails,还是有更优雅的方法?

  • 问题内容: 在wsdl上使用wsimport创建了Java Web服务客户端之后,我需要为嵌入在HTTP请求中的每个肥皂消息设置Authorization标头。生成了javax.xml.ws.Service的子类后,如何将HTTP标头附加到每个传出请求中? 问题答案: 您可以将带有自定义标头的映射传递给BindingProvider(我相信您可以设置MessageContext.HTTP_REQU