|
23 | 23 | import javax.annotation.Nullable;
|
24 | 24 | import javax.annotation.concurrent.ThreadSafe;
|
25 | 25 | import javax.net.SocketFactory;
|
| 26 | +import javax.net.ssl.SSLContext; |
26 | 27 | import javax.net.ssl.SSLSession;
|
27 | 28 | import javax.net.ssl.SSLSocket;
|
28 | 29 | import javax.net.ssl.SSLSocketFactory;
|
@@ -68,6 +69,7 @@ public class TcpSyslogMessageSender extends AbstractSyslogMessageSender implemen
|
68 | 69 | private Writer writer;
|
69 | 70 | private int socketConnectTimeoutInMillis = SETTING_SOCKET_CONNECT_TIMEOUT_IN_MILLIS_DEFAULT_VALUE;
|
70 | 71 | private boolean ssl;
|
| 72 | + private SSLContext sslContext; |
71 | 73 | /**
|
72 | 74 | * Number of retries to send a message before throwing an exception.
|
73 | 75 | */
|
@@ -144,7 +146,11 @@ private synchronized void ensureSyslogServerConnection() throws IOException {
|
144 | 146 | writer = null;
|
145 | 147 | try {
|
146 | 148 | if (ssl) {
|
147 |
| - socket = SSLSocketFactory.getDefault().createSocket(); |
| 149 | + if(sslContext == null) { |
| 150 | + socket = SSLSocketFactory.getDefault().createSocket(); |
| 151 | + } else { |
| 152 | + socket = sslContext.getSocketFactory().createSocket(); |
| 153 | + } |
148 | 154 | } else {
|
149 | 155 | socket = SocketFactory.getDefault().createSocket();
|
150 | 156 | }
|
@@ -226,6 +232,14 @@ public boolean isSsl() {
|
226 | 232 | public void setSsl(boolean ssl) {
|
227 | 233 | this.ssl = ssl;
|
228 | 234 | }
|
| 235 | + |
| 236 | + public synchronized void setSSLContext(SSLContext sslContext) { |
| 237 | + this.sslContext = sslContext; |
| 238 | + } |
| 239 | + |
| 240 | + public synchronized SSLContext getSSLContext() { |
| 241 | + return this.sslContext; |
| 242 | + } |
229 | 243 |
|
230 | 244 | public int getSocketConnectTimeoutInMillis() {
|
231 | 245 | return socketConnectTimeoutInMillis;
|
|
0 commit comments