Rumah  >  Artikel  >  Pac4J menghadapi masalah penyulitan dengan sijil yang ditandatangani sendiri

Pac4J menghadapi masalah penyulitan dengan sijil yang ditandatangani sendiri

王林
王林ke hadapan
2024-02-05 22:18:121020semak imbas
Kandungan soalan

Saya menjalankan spring boot 3.2.1 dengan pelayan kunci kunci terbenam

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

Tiada penyulitan diperlukan, semuanya berfungsi dengan baik, pac4j mengendalikan perkara dengan baik. Apabila saya membawa masuk ssl menggunakan ssl bundle, aplikasi web berfungsi dengan baik (https) dan interaksi dengan pelayan keycloak terbenam berfungsi dengan baik, termasuk panggilan berikut: https://localhost:8888/auth/realms/master/.well-known/openid-configuration Apabila dibuat melalui pelayar web pada mesin yang sama. Walau bagaimanapun, semasa menjalankan proses pengesahan, pac4j nampaknya menimbulkan ralat berikut:

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)

Saya menambah trustallcertificates dan trustallhostname pada permulaan sistem, tetapi masih tiada kesan.


Jawapan betul


Anda perlu membuat kedai amanah dengan sijil yang ditandatangani sendiri dan menyerahkannya kepada JVM: https://docs.oracle.com/cd/E29585_01/PlatformServices.61x/security/src/ csec_ssl_jsp_start_server.html

Atas ialah kandungan terperinci Pac4J menghadapi masalah penyulitan dengan sijil yang ditandatangani sendiri. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam