Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.berbee.ipt.broadcastsystem.web;
- import com.berbee.brlap.LogConfig;
- import com.berbee.brlap.model2.PageErrors;
- import com.berbee.brlap.model2.PageMessage;
- import com.berbee.ippaging.licensing.a;
- import com.berbee.ipt.broadcastsystem.security.BrlapSecurityProvider;
- import com.berbee.ipt.broadcastsystem.web.auth.LoginCommand;
- import com.berbee.ipt.broadcastsystem.web.auth.SecurityConfigurationId;
- import com.berbee.ipt.security.SecurityDomain;
- import com.berbee.ipt.security.SecurityDomainUser;
- import com.berbee.ipt.security.UserRole;
- import com.berbee.ipt.security.f;
- import com.berbee.ipt.security.j;
- import java.security.KeyFactory;
- import java.security.PublicKey;
- import java.security.Signature;
- import java.security.spec.X509EncodedKeySpec;
- import java.util.Arrays;
- import java.util.Collection;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Random;
- import java.util.Set;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.log4j.Logger;
- public class ResetAdminCommand
- extends AbstractInformaCastCommand
- {
- private static Logger jdField_a_of_type_OrgApacheLog4jLogger = Logger.getLogger(ResetAdminCommand.class);
- private static PublicKey jdField_a_of_type_JavaSecurityPublicKey;
- public String execute(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse)
- {
- ensureConfigured();
- if (paramHttpServletRequest.getParameter("cancel.x") != null) {
- return returnFromSubtask(paramHttpServletRequest, paramHttpServletResponse, null, "No changes made.");
- }
- String str = "view";
- if (paramHttpServletRequest.getParameter("update.x") != null) {
- str = "update";
- }
- if (b(paramHttpServletRequest, str)) {
- return returnFromSubtask(paramHttpServletRequest, paramHttpServletResponse, null, "That action cannot be performed by an InformaCast subscriber.");
- }
- if ((paramHttpServletRequest.getParameter("update.x") != null) && (isCurrent(paramHttpServletRequest)))
- {
- LogConfig.LOGGER_AUDIT_TRAIL.info("A user is attempting to reset the administrative login");
- if (a(paramHttpServletRequest))
- {
- a(paramHttpServletRequest);
- return returnFromSubtask(paramHttpServletRequest, paramHttpServletResponse, null, "Administrative access was reset. You may now log in using the default admin credentials.");
- }
- }
- paramHttpServletRequest.setAttribute("title", new PageMessage("InformaCast: Reset Admin Access"));
- paramHttpServletRequest.setAttribute("longTitle", new PageMessage("Reset Administrative Access"));
- paramHttpServletRequest.setAttribute("challenge", new PageMessage(a()));
- LogConfig.LOGGER_AUDIT_TRAIL.info("The administrative reset interface has been viewed. Request address: " + paramHttpServletRequest
- .getRemoteAddr());
- jdField_a_of_type_OrgApacheLog4jLogger.info("The administrative reset interface has been viewed.");
- return "/WEB-INF/view/broadcast/reset_admin.jsp";
- }
- private String a()
- {
- return b();
- }
- private boolean a(HttpServletRequest paramHttpServletRequest)
- {
- if (requireParameter(paramHttpServletRequest, "authorization", null))
- {
- String str = a();
- if (jdField_a_of_type_JavaSecurityPublicKey == null) {
- a();
- }
- Signature localSignature = Signature.getInstance("SHA1withDSA");
- localSignature.initVerify(jdField_a_of_type_JavaSecurityPublicKey);
- localSignature.update(str.getBytes());
- PageErrors localPageErrors = PageErrors.getInstance(paramHttpServletRequest);
- try
- {
- if (localSignature.verify(a.a(paramHttpServletRequest.getParameter("authorization")))) {
- return true;
- }
- localPageErrors.recordFieldError("authorization", "Authorization code rejected");
- }
- catch (Exception localException)
- {
- localPageErrors.recordFieldError("authorization", "Authorization code not valid: " + localException);
- }
- }
- LogConfig.LOGGER_AUDIT_TRAIL.warn("An attempt to reset administrative access has failed. Request address: " + paramHttpServletRequest
- .getRemoteAddr());
- jdField_a_of_type_OrgApacheLog4jLogger.warn("An attempt to reset administrative access has failed.");
- return false;
- }
- private static final List<String> jdField_a_of_type_JavaUtilList = Arrays.asList(new String[] { "messageSender", "messageSenderDNsRestricted", "schedAdjuster", "schedEditor" });
- private void a(HttpServletRequest paramHttpServletRequest)
- {
- SecurityConfigurationId localSecurityConfigurationId = LoginCommand.BUILTIN_SECURITY_CONFIG;
- BrlapSecurityProvider localBrlapSecurityProvider = (BrlapSecurityProvider)localSecurityConfigurationId.getProvider();
- SecurityDomain localSecurityDomain = localBrlapSecurityProvider.getDomainInstance(localSecurityConfigurationId.getConfiguration());
- Object localObject1 = null;
- for (Iterator localIterator = localSecurityDomain.getUsers().iterator(); localIterator.hasNext();)
- {
- localObject2 = (SecurityDomainUser)localIterator.next();
- if (((SecurityDomainUser)localObject2).getLogin().equals("admin"))
- {
- localObject1 = localObject2;
- break;
- }
- }
- Object localObject2;
- if (localObject1 == null)
- {
- localObject1 = localSecurityDomain.createUser("admin", "changeMe", "Temporary", "Administrator");
- jdField_a_of_type_OrgApacheLog4jLogger.info("Created new default admin user");
- }
- else
- {
- ((SecurityDomainUser)localObject1).setPlaintextPassword("changeMe");
- jdField_a_of_type_OrgApacheLog4jLogger.info("Reset admin user's password to default");
- }
- ((SecurityDomainUser)localObject1).getRoles().clear();
- jdField_a_of_type_OrgApacheLog4jLogger.info("Cleared admin user's roles");
- for (localIterator = f.a().a().a().iterator(); localIterator.hasNext();)
- {
- localObject2 = (UserRole)localIterator.next();
- if (!jdField_a_of_type_JavaUtilList.contains(((UserRole)localObject2).getName()))
- {
- ((SecurityDomainUser)localObject1).getRoles().add(localObject2);
- jdField_a_of_type_OrgApacheLog4jLogger.info("Added role " + localObject2 + " to admin user");
- }
- }
- localSecurityDomain.updateUser((SecurityDomainUser)localObject1);
- jdField_a_of_type_OrgApacheLog4jLogger.warn("Administrative access has been reset to the default state.");
- LogConfig.LOGGER_AUDIT_TRAIL.warn("Administrative access was reset to the default state. Request address: " + paramHttpServletRequest
- .getRemoteAddr());
- new ay(this)
- .call();
- }
- private String b()
- {
- try
- {
- String str = (String)new az(this).call();
- return Integer.toHexString(Integer.parseInt(str));
- }
- catch (Exception localException)
- {
- Random localRandom = new Random();
- int i = -1;
- while (i < 0) {
- i = localRandom.nextInt();
- }
- int j = i;
- new aA(this, j)
- .call();
- return Integer.toHexString(j);
- }
- }
- private void a()
- {
- jdField_a_of_type_OrgApacheLog4jLogger.debug("Setting up public key for signature verification");
- byte[] arrayOfByte = a.a("MIIBuDCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYUAAoGBAJBB86oL1Qyy8XJOlsBb61Qn1N614bsJhbxmu7r2QW7sahdabgEjH2zD7r18vfYkjUuSgCijK3p/SOMg3Zv8u3CTM8beoA+pjShjRyXDx1P2QcYQAgjHAzgX1Njl/mERimsraZ1kN6SEYkKfb3ImZgMy3QEQ1BZUCZRpudQl0zQn");
- X509EncodedKeySpec localX509EncodedKeySpec = new X509EncodedKeySpec(arrayOfByte);
- KeyFactory localKeyFactory = KeyFactory.getInstance("DSA");
- jdField_a_of_type_JavaSecurityPublicKey = localKeyFactory.generatePublic(localX509EncodedKeySpec);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement