diff --git a/src/main/java/org/jenkinsci/plugins/saml/BundleKeyStore.java b/src/main/java/org/jenkinsci/plugins/saml/BundleKeyStore.java
index c5afd83f..4fc9e59b 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/BundleKeyStore.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/BundleKeyStore.java
@@ -27,7 +27,7 @@
import java.util.concurrent.TimeUnit;
import java.util.logging.Logger;
import jenkins.model.Jenkins;
-import org.apache.commons.lang.math.NumberUtils;
+import org.apache.commons.lang3.math.NumberUtils;
import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.DERSequence;
import org.bouncycastle.asn1.x500.X500Name;
diff --git a/src/main/java/org/jenkinsci/plugins/saml/IdpMetadataConfiguration.java b/src/main/java/org/jenkinsci/plugins/saml/IdpMetadataConfiguration.java
index 63928a7b..18b779a3 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/IdpMetadataConfiguration.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/IdpMetadataConfiguration.java
@@ -29,7 +29,7 @@
import jenkins.util.xml.XMLUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.interceptor.RequirePOST;
diff --git a/src/main/java/org/jenkinsci/plugins/saml/OpenSAMLWrapper.java b/src/main/java/org/jenkinsci/plugins/saml/OpenSAMLWrapper.java
index 87831305..00931d59 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/OpenSAMLWrapper.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/OpenSAMLWrapper.java
@@ -22,7 +22,7 @@
import java.util.Arrays;
import java.util.logging.Logger;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.kohsuke.stapler.StaplerRequest2;
import org.kohsuke.stapler.StaplerResponse2;
import org.opensaml.core.config.InitializationException;
diff --git a/src/main/java/org/jenkinsci/plugins/saml/SamlAdvancedConfiguration.java b/src/main/java/org/jenkinsci/plugins/saml/SamlAdvancedConfiguration.java
index b458a240..a7312567 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/SamlAdvancedConfiguration.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/SamlAdvancedConfiguration.java
@@ -27,7 +27,7 @@
import hudson.model.Descriptor;
import hudson.util.FormValidation;
import jenkins.model.Jenkins;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.DataBoundSetter;
import org.kohsuke.stapler.interceptor.RequirePOST;
diff --git a/src/main/java/org/jenkinsci/plugins/saml/SamlEncryptionData.java b/src/main/java/org/jenkinsci/plugins/saml/SamlEncryptionData.java
index 3855c5f0..e45a99ab 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/SamlEncryptionData.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/SamlEncryptionData.java
@@ -50,7 +50,7 @@
import java.security.cert.CertificateException;
import java.util.Enumeration;
import jenkins.model.Jenkins;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.interceptor.RequirePOST;
diff --git a/src/main/java/org/jenkinsci/plugins/saml/SamlFileResource.java b/src/main/java/org/jenkinsci/plugins/saml/SamlFileResource.java
index 45b1664a..518a8f3c 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/SamlFileResource.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/SamlFileResource.java
@@ -24,7 +24,7 @@
import java.io.OutputStream;
import java.net.URI;
import java.net.URL;
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
import org.springframework.core.io.Resource;
import org.springframework.core.io.WritableResource;
diff --git a/src/main/java/org/jenkinsci/plugins/saml/SamlFileResourceCache.java b/src/main/java/org/jenkinsci/plugins/saml/SamlFileResourceCache.java
index b0f46889..3a77bdd0 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/SamlFileResourceCache.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/SamlFileResourceCache.java
@@ -34,7 +34,7 @@
import java.util.logging.Logger;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
import org.pac4j.core.exception.TechnicalException;
import org.springframework.core.io.Resource;
import org.springframework.core.io.WritableResource;
diff --git a/src/main/java/org/jenkinsci/plugins/saml/SamlFileResourceDisk.java b/src/main/java/org/jenkinsci/plugins/saml/SamlFileResourceDisk.java
index 14483495..4c3a1438 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/SamlFileResourceDisk.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/SamlFileResourceDisk.java
@@ -29,7 +29,7 @@
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
import org.pac4j.core.exception.TechnicalException;
import org.springframework.core.io.Resource;
import org.springframework.core.io.WritableResource;
diff --git a/src/main/java/org/jenkinsci/plugins/saml/SamlFormValidation.java b/src/main/java/org/jenkinsci/plugins/saml/SamlFormValidation.java
index 4f1aba7a..64f69f99 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/SamlFormValidation.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/SamlFormValidation.java
@@ -8,7 +8,7 @@
import jakarta.mail.internet.InternetAddress;
import java.net.MalformedURLException;
import java.net.URL;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
diff --git a/src/main/java/org/jenkinsci/plugins/saml/SamlPluginConfig.java b/src/main/java/org/jenkinsci/plugins/saml/SamlPluginConfig.java
index 2826aeac..6e06aeb2 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/SamlPluginConfig.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/SamlPluginConfig.java
@@ -23,7 +23,7 @@
import edu.umd.cs.findbugs.annotations.NonNull;
import java.util.List;
import jenkins.model.Jenkins;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
/**
* contains all the Jenkins SAML Plugin settings
diff --git a/src/main/java/org/jenkinsci/plugins/saml/SamlSecurityRealm.java b/src/main/java/org/jenkinsci/plugins/saml/SamlSecurityRealm.java
index 234c7b97..5a730485 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/SamlSecurityRealm.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/SamlSecurityRealm.java
@@ -46,7 +46,7 @@
import jenkins.model.Jenkins;
import jenkins.security.SecurityListener;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.jenkinsci.plugins.saml.conf.Attribute;
import org.jenkinsci.plugins.saml.conf.AttributeEntry;
import org.jenkinsci.plugins.saml.user.SamlCustomProperty;
@@ -192,7 +192,7 @@ public SamlSecurityRealm(
super();
this.idpMetadataConfiguration = idpMetadataConfiguration;
this.usernameAttributeName = hudson.Util.fixEmptyAndTrim(usernameAttributeName);
- this.usernameCaseConversion = org.apache.commons.lang.StringUtils.defaultIfBlank(
+ this.usernameCaseConversion = org.apache.commons.lang3.StringUtils.defaultIfBlank(
usernameCaseConversion, DEFAULT_USERNAME_CASE_CONVERSION);
this.logoutUrl = hudson.Util.fixEmptyAndTrim(logoutUrl);
this.displayNameAttributeName = DEFAULT_DISPLAY_NAME_ATTRIBUTE_NAME;
@@ -207,7 +207,7 @@ public SamlSecurityRealm(
if (maximumAuthenticationLifetime != null && maximumAuthenticationLifetime > 0) {
this.maximumAuthenticationLifetime = maximumAuthenticationLifetime;
}
- if (org.apache.commons.lang.StringUtils.isNotBlank(emailAttributeName)) {
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(emailAttributeName)) {
this.emailAttributeName = hudson.Util.fixEmptyAndTrim(emailAttributeName);
}
this.advancedConfiguration = advancedConfiguration;
diff --git a/src/main/java/org/jenkinsci/plugins/saml/UpdateMetadataFromURLPeriodicWork.java b/src/main/java/org/jenkinsci/plugins/saml/UpdateMetadataFromURLPeriodicWork.java
index 79a1352f..2eaf90f5 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/UpdateMetadataFromURLPeriodicWork.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/UpdateMetadataFromURLPeriodicWork.java
@@ -7,7 +7,7 @@
import java.util.logging.Level;
import java.util.logging.Logger;
import jenkins.model.Jenkins;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
/**
* This periodic work update the IdP Metadata File, the periodicof the execution is defined on the SAML Plugin configuration.
diff --git a/src/main/java/org/jenkinsci/plugins/saml/user/LoginDetailsProperty.java b/src/main/java/org/jenkinsci/plugins/saml/user/LoginDetailsProperty.java
index cbfa0707..f6254b97 100644
--- a/src/main/java/org/jenkinsci/plugins/saml/user/LoginDetailsProperty.java
+++ b/src/main/java/org/jenkinsci/plugins/saml/user/LoginDetailsProperty.java
@@ -27,7 +27,7 @@
import java.util.logging.Logger;
import jenkins.model.Jenkins;
import net.sf.json.JSONObject;
-import org.apache.commons.lang.time.FastDateFormat;
+import org.apache.commons.lang3.time.FastDateFormat;
import org.jenkinsci.plugins.saml.SamlSecurityRealm;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest2;
diff --git a/src/test/java/org/jenkinsci/plugins/saml/SamlSecurityRealmTest.java b/src/test/java/org/jenkinsci/plugins/saml/SamlSecurityRealmTest.java
index 3182187d..87e377f6 100644
--- a/src/test/java/org/jenkinsci/plugins/saml/SamlSecurityRealmTest.java
+++ b/src/test/java/org/jenkinsci/plugins/saml/SamlSecurityRealmTest.java
@@ -47,7 +47,7 @@
import java.util.logging.Logger;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.hamcrest.Description;
import org.hamcrest.TypeSafeMatcher;
import org.junit.jupiter.api.BeforeEach;