0

Shrio + buji-pac4J + PAC4J-samL用于 SSO。以下是依赖版本

       <dependency>
           <groupId>io.buji</groupId>
           <artifactId>buji-pac4j</artifactId>
           <version>5.0.0</version>
       </dependency>
       <dependency>
           <groupId>org.pac4j</groupId>
           <artifactId>pac4j-saml-opensamlv3</artifactId>
           <version>4.5.4</version>
       </dependency>

https://i.stack.imgur.com/fFdcL.png
pac4j-saml配置代码在这里
https://i.stack.imgur.com/ZZKTn.png
metadata.xml部分代码
https://i.stack.imgur.com/ oHq8O.jpg
部分错误信息

配置元数据文件后访问单点登录地址时,提示“SHA1withRSA MessageDigest not available”。
idp提供了元数据签名算法http://www.w3.org/2000/09/xmldsig#rsa-sha1,别名是sha1withrsa,但是pac4rendering saml解析sha1withrsa使用的是APIMessageDigest.getInstance("SHA1withRSA");但是MessageDigest只支持 MD2,MD5,SHA-1,SHA-256,SHA-384,SHA-512算法。pac4J-SAML的签名算法有什么配置或方法支持SHA1withRSA吗?
我尝试了以下方案:
1.升级 pac4J-SAML 和 Buji-pac4j,结果:SHA1withRSA MessageDigest not available
2.将 BouncyCastle 添加到 sun.security 结果:3.SHA1withRSA MessageDigest not available
将 SHA1WITHRSA 算法更改为另一种可以解析的算法,例如 SHA1 结果:证书验证失败
困扰我好几天了,你能帮帮我吗?

4

0 回答 0