首页 >Java >Pac4J 在使用自签名证书进行加密时遇到问题

Pac4J 在使用自签名证书进行加密时遇到问题

王林
王林转载
2024-02-05 22:18:121055浏览
问题内容

我正在运行带有嵌入式 keycloak 服务器的 spring boot 3.2.1

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

无需加密,一切正常,pac4j 能够很好地处理事情。 当我使用 ssl bundle 引入 ssl 时,web 应用程序可以正常工作 (https),并且与嵌入式 keycloak 服务器的交互也可以正常工作,包括以下调用: https://localhost:8888/auth/realms/master/.well-known/openid-configuration 当在同一台机器上通过网络浏览器制作时。 但是,在执行身份验证过程时,pac4j 似乎会抛出以下错误:

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)

我在系统启动时添加了trustallcertificates和trustallhostnames,但仍然没有效果。


正确答案


您需要使用自签名证书创建信任库并将其分配给 JVM:https://docs.oracle.com/cd/E29585_01/PlatformServices.61x/security/src/csec_ssl_jsp_start_server.html

以上是Pac4J 在使用自签名证书进行加密时遇到问题的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除