PowerProtect: Det går inte att använda Active Directory efter uppgradering till version 19.19

Summary: Användare kan inte logga in på PowerProtect Data Manager med Active Directory-inloggningsuppgifter.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Användare kan inte autentisera med sina Microsoft Active Directory-inloggningsuppgifter (AD) efter att ha uppgraderat PowerProtect till version 19.19.0-15.

Ett felmeddelande som liknar följande visas:

"Failed to authenticate the user with identity provider. Please check for any network connectivity issues with the external identity provider if configured. Also check for expired certificates or credential issues with the configured provider."


Följande felmeddelande finns i keycloak.log filen på PowerProtect-enheten:

2025-04-02 01:11:20,715 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (executor-thread-23) Uncaught server error: org.keycloak.models.ModelException: LDAP Query failed
	at org.keycloak.storage.ldap.idm.query.internal.LDAPQuery.getResultList(LDAPQuery.java:178)
	at org.keycloak.storage.ldap.idm.query.internal.LDAPQuery.getFirstResult(LDAPQuery.java:185)
	at org.keycloak.storage.ldap.LDAPStorageProvider.loadLDAPUserByUsername(LDAPStorageProvider.java:1052)
	at org.keycloak.storage.ldap.LDAPStorageProvider.getUserByUsername(LDAPStorageProvider.java:649)
	at org.keycloak.storage.ldap.LDAPStorageProvider.getUserById(LDAPStorageProvider.java:373)
	at org.keycloak.storage.UserStorageManager.getUserById(UserStorageManager.java:395)
	at org.keycloak.models.cache.infinispan.UserCacheSession.getUserById(UserCacheSession.java:222)
	at org.keycloak.models.sessions.infinispan.PersistentUserSessionProvider.wrap(PersistentUserSessionProvider.java:642)
	at org.keycloak.models.sessions.infinispan.PersistentUserSessionProvider.getUserSession(PersistentUserSessionProvider.java:287)
	at org.keycloak.models.sessions.infinispan.PersistentUserSessionProvider.getUserSession(PersistentUserSessionProvider.java:282)
	at org.keycloak.services.managers.AuthenticationManager.verifyIdentityToken(AuthenticationManager.java:1493)
	at org.keycloak.services.managers.AuthenticationManager.authenticateIdentityCookie(AuthenticationManager.java:862)
	at org.keycloak.services.managers.AuthenticationSessionManager.getUserSessionFromAuthenticationCookie(AuthenticationSessionManager.java:259)
	at org.keycloak.protocol.AuthorizationEndpointBase.createAuthenticationSession(AuthorizationEndpointBase.java:184)
	at org.keycloak.protocol.oidc.endpoints.AuthorizationEndpoint.process(AuthorizationEndpoint.java:193)
	at org.keycloak.protocol.oidc.endpoints.AuthorizationEndpoint.buildGet(AuthorizationEndpoint.java:115)
	at org.keycloak.protocol.oidc.endpoints.AuthorizationEndpoint$quarkusrestinvoker$buildGet_4b690b27439f19dd29733dc5fd4004f24de0adb6.invoke(Unknown Source)
	at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
	at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
	at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
	at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:635)
	at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.keycloak.models.ModelException: Querying of LDAP failed org.keycloak.storage.ldap.idm.query.internal.LDAPQuery@29377815
	at org.keycloak.storage.ldap.idm.store.ldap.LDAPIdentityStore.fetchQueryResults(LDAPIdentityStore.java:294)
	at org.keycloak.storage.ldap.idm.query.internal.LDAPQuery.getResultList(LDAPQuery.java:174)
	... 27 more
Caused by: javax.naming.CommunicationException: yourcompany.com:636 [Root exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]
	at java.naming/com.sun.jndi.ldap.Connection.<init>(Connection.java:251)
	at java.naming/com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:141)
	at java.naming/com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1620)
	at java.naming/com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2848)
	at java.naming/com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:349)
	at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxFromUrl(LdapCtxFactory.java:229)
	at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:189)
	at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:247)
	at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154)
	at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84)
	at java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:520)
	at java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305)
	at java.naming/javax.naming.InitialContext.init(InitialContext.java:236)
	at java.naming/javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:154)
	at org.keycloak.storage.ldap.idm.store.ldap.LDAPContextManager.createLdapContext(LDAPContextManager.java:74)
	at org.keycloak.storage.ldap.idm.store.ldap.LDAPContextManager.getLdapContext(LDAPContextManager.java:93)
	at org.keycloak.storage.ldap.idm.store.ldap.LDAPOperationManager.execute(LDAPOperationManager.java:709)
	at org.keycloak.storage.ldap.idm.store.ldap.LDAPOperationManager.execute(LDAPOperationManager.java:704)
	at org.keycloak.storage.ldap.idm.store.ldap.LDAPOperationManager.search(LDAPOperationManager.java:255)
	at org.keycloak.storage.ldap.idm.store.ldap.LDAPIdentityStore.fetchQueryResults(LDAPIdentityStore.java:278)
	... 28 more
Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:130)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:378)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:316)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:647)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:467)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:363)
	at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:393)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:476)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:447)
	at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:201)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1421)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426)
	at java.naming/com.sun.jndi.ldap.Connection.initialSSLHandshake(Connection.java:370)
	at java.naming/com.sun.jndi.ldap.Connection.createSocket(Connection.java:288)
	at java.naming/com.sun.jndi.ldap.Connection.<init>(Connection.java:230)
	... 47 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:388)
	at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:271)
	at java.base/sun.security.validator.Validator.validate(Validator.java:256)
	at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:230)
	at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:631)
	... 61 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:148)
	at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:129)
	at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
	at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:383)
	... 66 more

Cause

Det här beteendet uppstår när hög tillgänglighet har konfigurerats för domänkontrollanter. I PowerProtect Data Manager 19.19 har en stor arkitektonisk förändring gällande hur autentisering och användarhantering fungerar. Som en del av uppgraderingen migreras den befintliga konfigurationen till den nya arkitekturen. Om rotcertifikatutfärdarcertifikatet som används för domänkontrollanter från förtroendekedjan för PowerProtect Data Manager bryts

efter migreringen misslyckas valideringen när Active Directory-anslutningen ändras för att automatiskt hämta rotcertifikatutfärdarcertifikatet till förtroendekedjan.

Resolution

I PowerProtect Data Manager-versioner efter 19.19.0–15 påverkar arkitekturändringarna valideringen av certifikatkedjan. Följ dessa steg för att lägga till ett rotcertifikatutfärdarcertifikat i förtroendekedjan:

  1. Kontrollera att rotcertifikatutfärdarens certifikatfil som används på domänkontrollanter är tillgänglig.
  2. Ta bort befintlig anslutning till Active Directory. 
  3. Välj knappen Lägg till under sidan Kataloginställningar.
  4. Markera AD, markera kryssrutan Säker anslutning och fyll i Active Directory-information.
  5. Under avsnittet Certifikat väljer du alternativet Ladda upp certifikat.
  6. Om du väljer alternativet Ladda upp certifikat kan du ladda upp eller klistra in rot- eller värdcertifikatet.
Så här laddar du upp ett värd- eller rotcertifikat:
  • Välj alternativet Ladda upp certifikatfil.
  • Välj certifieringstyp oavsett om det är värd, ICA eller rot. Om ett rotcertifikatutfärdarcertifikat ska laddas upp väljer du alternativet Rot.
  • Klicka på Ladda upp certifikatfil och välj certifikatet från ditt system/din server.
Obs! De filtyper som stöds är .pem och .crt.
 
Så här klistrar du in ett rotcertifikat:
  • Välj alternativet "Paste Certificate".
  • Välj certifieringstyp oavsett om det är värd, ICA eller rot. Om ett rotcertifikatutfärdarcertifikat läggs till väljer du alternativet Rot.
  • Klistra in certifikatet i det tomma fältet.
  1. Granska informationen under Visa avancerade inställningar och välj knappen Använd
  2. Gå till menyn Administration , välj Certifikat följt av fliken Externa servrar . Kontrollera att du kan hitta ett rotcertifikatutfärdarcertifikat med godkänt tillstånd för det portnummer som används (636 är standardporten).
  3. Gå till sidan Användargrupper under avsnittet Åtkomstkontroll för att lägga till användare och grupper från Active Directory. 
  4. Testa genom att autentisera med Active Directory-autentiseringsuppgifter. Användarna bör använda userPrincipalName(UPN) när de lägger till användarnamn på inloggningssidan. 

PowerProtect Data Manager Security Configuration Guide innehåller fler alternativ för LDAP-anslutningar (Lightweight Directory Access Protocol) eller AD-anslutningar.

Additional Information

Från och med PowerProtect Data Manager 19.19 rekommenderar vi att du använder userPrincipalName (UPN) som anges i Active Directory i användarnamnet. Domännamnet som används i UPN kan skilja sig från det namn som används när domänen läggs till i PowerProtect Data Manager. I tidigare versioner var användarna tvungna att lägga till ett domännamn som lades till i PowerProtect Data Manager.

Lösning
: Den befintliga Microsoft Active Directory-anslutningen kan tas bort och läggas till som LDAP utan att använda SSL (Secure Sockets Layer). Detta gör att användarna kan autentisera utan att använda certifikatkedjan.

Affected Products

PowerProtect Data Manager, PowerProtect Data Manager Essentials
Article Properties
Article Number: 000308292
Article Type: Solution
Last Modified: 05 Nov 2025
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.