Heim >Java >Pac4J hat Probleme bei der Verschlüsselung mit selbstsigniertem Zertifikat

Pac4J hat Probleme bei der Verschlüsselung mit selbstsigniertem Zertifikat

王林
王林nach vorne
2024-02-05 22:18:121063Durchsuche
Frageninhalt

Ich verwende Spring Boot 3.2.1 mit eingebettetem Keycloak-Server

<dependency>
            <groupid>org.pac4j</groupid>
            <artifactid>jakartaee-pac4j</artifactid>
            <version>8.0.0</version>
        </dependency>
        <dependency>
            <groupid>org.pac4j</groupid>
            <artifactid>pac4j-oidc</artifactid>
            <version>6.0.1</version>
        </dependency>

Keine Verschlüsselung erforderlich, alles funktioniert einwandfrei, pac4j meistert alles einwandfrei. Wenn ich SSL über das SSL-Bundle einbinde, funktioniert die Webanwendung einwandfrei (https) und die Interaktion mit dem eingebetteten Keycloak-Server funktioniert einwandfrei, einschließlich der folgenden Aufrufe: https://localhost:8888/auth/realms/master/.well-known/openid-configuration Bei Erstellung über einen Webbrowser auf demselben Computer. Während des Authentifizierungsprozesses scheint pac4j jedoch den folgenden Fehler auszulösen:

org.pac4j.core.exception.TechnicalException: Error getting URL resource
    at org.pac4j.core.resource.SpringResourceHelper.getResourceInputStream(SpringResourceHelper.java:74)
    at org.pac4j.oidc.metadata.OidcOpMetadataResolver.retrieveMetadata(OidcOpMetadataResolver.java:89)
    at org.pac4j.oidc.metadata.OidcOpMetadataResolver.internalLoad(OidcOpMetadataResolver.java:76)
    at org.pac4j.core.resource.SpringResourceLoader.load(SpringResourceLoader.java:50)
    at org.pac4j.oidc.config.OidcConfiguration.findPkceMethod(OidcConfiguration.java:285)
    at org.pac4j.oidc.redirect.OidcRedirectionActionBuilder.addStateAndNonceParameters(OidcRedirectionActionBuilder.java:115)
    at org.pac4j.oidc.redirect.OidcRedirectionActionBuilder.getRedirectionAction(OidcRedirectionActionBuilder.java:58)
    at org.pac4j.core.client.IndirectClient.getRedirectionAction(IndirectClient.java:136)
    at org.pac4j.core.engine.DefaultSecurityLogic.redirectToIdentityProvider(DefaultSecurityLogic.java:240)
    at org.pac4j.core.engine.DefaultSecurityLogic.perform(DefaultSecurityLogic.java:160)
    at com.ebremer.server.MyCustomSecurityFilter.internalFilter(MyCustomSecurityFilter.java:79)

Ich habe beim Systemstart „trustallcertificates“ und „trustallhostnames“ hinzugefügt, aber immer noch keine Wirkung.


Richtige Antwort


Sie müssen einen Truststore mit einem selbstsignierten Zertifikat erstellen und es der JVM zuweisen: https://docs.oracle.com/cd/E29585_01/PlatformServices.61x/security/src/ csec_ssl_jsp_start_server.html

Das obige ist der detaillierte Inhalt vonPac4J hat Probleme bei der Verschlüsselung mit selbstsigniertem Zertifikat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen