Maison >Java >Pac4J a des problèmes de chiffrement avec un certificat auto-signé

Pac4J a des problèmes de chiffrement avec un certificat auto-signé

王林
王林avant
2024-02-05 22:18:121085parcourir
Contenu de la question

J'utilise Spring Boot 3.2.1 avec un serveur keycloak intégré

<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>

Aucun cryptage requis, tout fonctionne bien, pac4j gère très bien les choses. Lorsque j'utilise SSL à l'aide du bundle SSL, l'application Web fonctionne correctement (https) et les interactions avec le serveur keycloak intégré fonctionnent correctement, y compris les appels suivants : https://localhost:8888/auth/realms/master/.well-known/openid-configuration Lorsqu'il est effectué via un navigateur Web sur la même machine. Cependant, lors de l'exécution du processus d'authentification, pac4j semble générer l'erreur suivante :

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)

J'ai ajouté trustallcertificates et trustallhostnames au démarrage du système, mais toujours aucun effet.


Bonne réponse


Vous devez créer un truststore avec un certificat auto-signé et l'attribuer à la JVM : https://docs.oracle.com/cd/E29585_01/PlatformServices.61x/security/src/ csec_ssl_jsp_start_server.html

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer