Apache CXF附带有一个OpenId Connect JWK密钥服务,该服务允许客户端获取JWK格式的公共密钥,然后可以使用该公共密钥来验证该服务发行的令牌的签名。通常,服务通过指定密钥库的路径和密钥库条目的别名来从本地密钥库(JKS / PKCS12)获取公共密钥。这种情况并不脆弱。但是,也可以通过将配置参数“ rs.security.keystore.type”设置为“ jwk”来从JWK密钥库文件中获取密钥。对于这种情况,所有密钥均按“原样”返回此文件,包括所有私钥和私钥凭据。如果用户使用私有或私有密钥凭证配置了签名密钥库文件,则这将带来明显的安全风险。从CXF 3.3.5和3.2.12开始,必须指定一个别名,该别名与JWK文件中密钥的ID相对应,并且仅返回此密钥。此外,默认情况下会忽略任何私钥信息。根本不返回包含秘密密钥的“ oct”密钥。