package com.l7tech.server.transport.ftp;

import com.l7tech.gateway.common.transport.SsgConnector;
import com.l7tech.server.transport.ListenerException;
import com.l7tech.server.transport.tls.SsgConnectorSslHelper;
import com.l7tech.util.ExceptionUtils;
import java.security.GeneralSecurityException;
import org.apache.ftpserver.ssl.ClientAuth;
import org.springframework.beans.factory.annotation.Autowired;

public class FtpSslFactory {
   @Autowired
   private FtpServerManager a;
   private static final String b;

   public FtpSsl create(SsgConnector var1) throws ListenerException {
      SsgConnectorSslHelper var3;
      try {
         var3 = new SsgConnectorSslHelper(this.a, var1);
      } catch (GeneralSecurityException var5) {
         throw new ListenerException(b + ExceptionUtils.getMessage(var5), var5);
      }

      return new FtpSsl(var3, switch (var1.getClientAuth()) {
         case 1 -> ClientAuth.NEED;
         case 2 -> ClientAuth.WANT;
         default -> ClientAuth.NONE;
      });
   }

   static {
      String var10002 = a(43, a("\u001e\f,\\Cko?\rm]]k.?\u0007mm|Bo(\r#JJv;qB"));
      byte var10001 = -1;
      b = var10002;
   }

   private static char[] a(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 100);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 96;
            case 1 -> 73;
            case 2 -> 102;
            case 3 -> 21;
            case 4 -> 4;
            case 5 -> 37;
            default -> 100;
         });
      }

      return new String(var10001).intern();
   }
}
