📄 httpsmessagereceiver.java
字号:
/* * $Id: HttpsMessageReceiver.java 11079 2008-02-27 15:52:01Z tcarlson $ * -------------------------------------------------------------------------------------- * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com * * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */package org.mule.transport.http;import org.mule.api.MuleMessage;import org.mule.api.endpoint.InboundEndpoint;import org.mule.api.lifecycle.CreateException;import org.mule.api.service.Service;import org.mule.api.transport.Connector;import java.io.IOException;import java.net.Socket;import java.security.cert.Certificate;import javax.net.ssl.HandshakeCompletedEvent;import javax.net.ssl.HandshakeCompletedListener;import javax.net.ssl.SSLPeerUnverifiedException;import javax.net.ssl.SSLSocket;import javax.resource.spi.work.Work;public class HttpsMessageReceiver extends HttpMessageReceiver{ public HttpsMessageReceiver(Connector connector, Service service, InboundEndpoint endpoint) throws CreateException { super(connector, service, endpoint); } // @Override protected Work createWork(Socket socket) throws IOException { return new HttpsWorker(socket); } private class HttpsWorker extends HttpWorker implements HandshakeCompletedListener { private Certificate[] peerCertificateChain; private Certificate[] localCertificateChain; public HttpsWorker(Socket socket) throws IOException { super(socket); ((SSLSocket) socket).addHandshakeCompletedListener(this); } protected void preRouteMessage(MuleMessage message) { super.preRouteMessage(message); if (peerCertificateChain != null) { message.setProperty(HttpsConnector.PEER_CERTIFICATES, peerCertificateChain); } if (localCertificateChain != null) { message.setProperty(HttpsConnector.LOCAL_CERTIFICATES, localCertificateChain); } } public void handshakeCompleted(HandshakeCompletedEvent event) { localCertificateChain = event.getLocalCertificates(); try { peerCertificateChain = event.getPeerCertificates(); } catch (SSLPeerUnverifiedException e) { logger.debug("Cannot get peer certificate chain: "+ e.getMessage()); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -