View Javadoc
1   package org.metricshub.winrm.service.client.encryption;
2   
3   /*-
4    * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲
5    * WinRM Java Client
6    * ჻჻჻჻჻჻
7    * Copyright 2023 - 2024 Metricshub
8    * ჻჻჻჻჻჻
9    * Licensed under the Apache License, Version 2.0 (the "License");
10   * you may not use this file except in compliance with the License.
11   * You may obtain a copy of the License at
12   *
13   *      http://www.apache.org/licenses/LICENSE-2.0
14   *
15   * Unless required by applicable law or agreed to in writing, software
16   * distributed under the License is distributed on an "AS IS" BASIS,
17   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18   * See the License for the specific language governing permissions and
19   * limitations under the License.
20   * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱
21   */
22  
23  import org.apache.cxf.interceptor.StaxInInterceptor;
24  import org.apache.cxf.message.Message;
25  import org.apache.cxf.phase.AbstractPhaseInterceptor;
26  import org.apache.cxf.phase.Phase;
27  
28  /**
29   * Code from io.cloudsoft.winrm4j.client.encryption.DecryptAndVerifyInInterceptor
30   * release 0.12.3 @link https://github.com/cloudsoft/winrm4j
31   */
32  public class DecryptAndVerifyInInterceptor extends AbstractPhaseInterceptor<Message> {
33  
34  	public DecryptAndVerifyInInterceptor() {
35  		super(Phase.POST_STREAM);
36  		addBefore(StaxInInterceptor.class.getName());
37  	}
38  
39  	public void handleMessage(final Message message) {
40  		final NtlmEncryptionUtils ntlmEncryptionUtils = NtlmEncryptionUtils.of(message);
41  		if (ntlmEncryptionUtils != null) {
42  			ntlmEncryptionUtils.decrypt(message);
43  		}
44  	}
45  }