导航菜单

页面标题

页面副标题

Sandridge Go v2025.2.170190457 - f.java 源代码

正在查看: Sandridge Go v2025.2.170190457 应用的 f.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.microsoft.intune.mam.http;

import com.microsoft.intune.mam.client.telemetry.TelemetryLogger;
import java.net.InetAddress;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Locale;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;

public class f extends SSLSocketFactory {
    private static final String[] c = {"_MD2", "_MD4", "_MD5", "RC2", "RC4", "3DES", "ECDSA", "ECDH_"};
    private static final String[] d = {"TLSv1.2"};
    private SSLContext a;
    private String[] b;

    public f(String str, TelemetryLogger telemetryLogger, String str2) {
        this(null, str, telemetryLogger, str2);
    }

    private void a(SSLSocket sSLSocket) {
        sSLSocket.setEnabledCipherSuites(this.b);
        sSLSocket.setEnabledProtocols(d);
    }

    @Override
    public Socket createSocket(Socket socket, String str, int i, boolean z) {
        SSLSocket sSLSocket = (SSLSocket) this.a.getSocketFactory().createSocket(socket, str, i, z);
        a(sSLSocket);
        return sSLSocket;
    }

    @Override
    public String[] getDefaultCipherSuites() {
        return this.b;
    }

    @Override
    public String[] getSupportedCipherSuites() {
        return this.b;
    }

    public f(SSLContext sSLContext, String str, TelemetryLogger telemetryLogger, String str2) {
        this.a = sSLContext;
        if (sSLContext == null) {
            this.a = g.b(str, telemetryLogger, str2);
        }
        ArrayList arrayList = new ArrayList();
        for (String str3 : this.a.getDefaultSSLParameters().getCipherSuites()) {
            String[] strArr = c;
            int length = strArr.length;
            int i = 0;
            while (true) {
                if (i >= length) {
                    arrayList.add(str3);
                    break;
                }
                String str4 = strArr[i];
                Locale locale = Locale.US;
                if (str3.toLowerCase(locale).contains(str4.toLowerCase(locale))) {
                    break;
                } else {
                    i++;
                }
            }
        }
        this.b = (String[]) arrayList.toArray(new String[0]);
    }

    @Override
    public Socket createSocket(String str, int i) {
        SSLSocket sSLSocket = (SSLSocket) this.a.getSocketFactory().createSocket(str, i);
        a(sSLSocket);
        return sSLSocket;
    }

    @Override
    public Socket createSocket(InetAddress inetAddress, int i) {
        SSLSocket sSLSocket = (SSLSocket) this.a.getSocketFactory().createSocket(inetAddress, i);
        a(sSLSocket);
        return sSLSocket;
    }

    @Override
    public Socket createSocket(String str, int i, InetAddress inetAddress, int i2) {
        SSLSocket sSLSocket = (SSLSocket) this.a.getSocketFactory().createSocket(str, i, inetAddress, i2);
        a(sSLSocket);
        return sSLSocket;
    }

    @Override
    public Socket createSocket(InetAddress inetAddress, int i, InetAddress inetAddress2, int i2) {
        SSLSocket sSLSocket = (SSLSocket) this.a.getSocketFactory().createSocket(inetAddress, i, inetAddress2, i2);
        a(sSLSocket);
        return sSLSocket;
    }

    @Override
    public Socket createSocket() {
        SSLSocket sSLSocket = (SSLSocket) this.a.getSocketFactory().createSocket();
        a(sSLSocket);
        return sSLSocket;
    }
}