我有一个具有以下内容的 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);
添加回答
举报
0/150
提交
取消