为了账号安全,请及时绑定邮箱和手机立即绑定

以编程方式从 server.xml 读取解密值

以编程方式从 server.xml 读取解密值

慕容3067478 2023-09-20 17:35:27
我有一个具有以下内容的 Websphere Liberty 服务器server.xml:<managedThreadFactory jndiName="concurrent/threadFactory" maxPriority="5" /><openidConnectClient id="AppID"  inboundPropagation="required"  clientId="${APPID_CLIENT_ID}"  clientSecret="${APPID_CLIENT_SECRET}"  authorizationEndpointUrl="https://${APPID_HOST}/oauth/v4/${APPID_TENANT_ID}/authorization"  tokenEndpointUrl="https://${APPID_HOST}/oauth/v4/${APPID_TENANT_ID}/token"  jwkEndpointUrl="https://${APPID_HOST}/oauth/v4/${APPID_TENANT_ID}/publickeys"  issuerIdentifier="https://${APPID_HOST}/oauth/v4/${APPID_TENANT_ID}"  tokenEndpointAuthMethod="basic"  signatureAlgorithm="none"  trustAliasName="${APPID_HOST}"  trustStoreRef="appidtruststore"  audiences="${APPID_CLIENT_ID}" />clientSecret="${APPID_CLIENT_SECRET}"是否可以从 Java 应用程序代码中以编程方式读取解密值?
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

这取决于值的编码方式。如果它是加密的,根据定义就没有办法轻易解密它(否则就违背了加密的目的)。


如果您只是进行可逆编码(例如 XOR 或 AES),您可以使用 Liberty 功能对其进行解密。


首先,确保您在 server.xml 中启用了以下功能:


<feature>passwordUtilities-1.0</feature>

然后,您可以使用com.ibm.websphere.crypto.PasswordUtilAPI 对其值进行解码,如下所示:


String rawValue = // get from System properties or env var

String decodedValue = PasswordUtil.decode(rawValue);


查看完整回答
反对 回复 2023-09-20
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信