当前位置: 首页 > 知识库问答 >
问题:

如何忽略org.springframework.ws.transport.http.httpurlconnection中的ssl证书

祖迪
2023-03-14
import org.springframework.ws.transport.context.TransportContext;
import org.springframework.ws.transport.context.TransportContextHolder;
import org.springframework.ws.transport.http.HttpUrlConnection;

public boolean handleRequest(MessageContext messageContext) throws WebServiceClientException {
    TransportContext context = TransportContextHolder.getTransportContext();
    HttpUrlConnection connection = (HttpUrlConnection) context
            .getConnection();

    String userCredentials = username + ":" + password;
    String basicAuth = "Basic " + new String(new Base64().encode(userCredentials.getBytes()));

    connection.getConnection().addRequestProperty("Authorization", basicAuth);

    return true;
}

共有1个答案

宓昂雄
2023-03-14

显然我想出了一个解决办法。我使用WebServiceTemplate封送和接收响应。下面是我的代码:-

HttpsUrlConnectionMessageSender sender = new HttpsUrlConnectionMessageSender();
sender.setTrustManagers(new TrustManager[] { new UnTrustworthyTrustManager() });
webServiceTemplate.setMessageSender(sender);
response = webServiceTemplate.marshalSendAndReceive(object);

在UntrustworthHyTrustManager函数之后

class UnTrustworthyTrustManager
        implements X509TrustManager
{
    public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
    public void checkServerTrusted(X509Certificate[] arg0, String arg1)throws CertificateException {}
    public X509Certificate[] getAcceptedIssuers() { return null; }
}

这样,SSL证书就被忽略了,并且我消除了PKIX路径构建失败的错误:Sun.Security.Provider.CertPath.SunCertPathBuilderException:找不到请求目标的有效证书路径

 类似资料:
  • 问题内容: 我必须使用无效的SSL证书调用Web服务器上托管的HTTP服务。在开发人员中,我使用 keytool 导入证书,但是证书在每个客户端安装中都会有所不同,因此我不能将其捆绑在一起。 前言:我 不要 知道跳过SSL验证实在是太丑了。在这种特定情况下,我什至不需要SSL,并且系统中的所有其他通信都是通过简单HTTP进行的。所以我真的不在乎MITM攻击之类。攻击者无需破坏SSL,因为数据没有S

  • 我正在开发一个应用程序,使用rest API将其连接到数据库,我的服务器有一个SSL证书,当我试图发送请求时,从我的反应本地应用程序显示此错误msg是有办法禁用SSL验证反应原生Android。 如果有人知道,帮忙。

  • 问题内容: 如何绕过Apache HttpClient 4.0的无效SSL证书错误? 问题答案: 你需要使用自己的TrustManager创建SSLContext并使用此上下文创建HTTPS方案。这是代码,

  • 问题内容: 如何忽略Apache HttpClient 4.3的SSL证书(全部信任)? 我在SO上找到的所有答案都对待以前的版本,并且API更改了。 编辑: 仅用于测试目的。孩子们,不要在家(或生产中)尝试 问题答案: 以下代码可用于信任自签名证书。创建客户端时,必须使用TrustSelfSignedStrategy: 我没有故意包括:重点是允许使用自签名证书进行测试,因此您不必从证书颁发机构获

  • 我正在尝试调用一个部署在Linux服务器上的web服务,该服务器具有在.net core中开发并部署在IIS服务器(Windows Server 2012)上的应用程序的自签名证书。 但是当我试图调用endpoint时,抛出了下一个错误: “消息”: “无法建立 SSL 连接,请参阅内部异常。”, “描述”: “内部错误: 系统.安全.身份验证.身份验证异常: 身份验证失败,请参阅内部异常。---

  • 这应该很容易做到。我可以在Guzze3中找到很多关于如何做到这一点的参考资料,但是它们在Guzze5中不起作用。 我目前正在做的事情: 当我发送请求时,我收到了这个错误: 我在谷歌上找不到任何关于这个错误的有用参考。如果我可以访问旋度选项,那么我可以尝试类似这里建议的解决方案(这是针对Guzzle 3的,因此它不起作用):http://inchoo.net/dev-talk/symfony2-gu