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

我有一个具有以下内容的 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 应用程序代码中以编程方式读取解密值?


慕容3067478
浏览 84回答 1
1回答

慕尼黑5688855

这取决于值的编码方式。如果它是加密的,根据定义就没有办法轻易解密它(否则就违背了加密的目的)。如果您只是进行可逆编码(例如 XOR 或 AES),您可以使用 Liberty 功能对其进行解密。首先,确保您在 server.xml 中启用了以下功能:<feature>passwordUtilities-1.0</feature>然后,您可以使用com.ibm.websphere.crypto.PasswordUtilAPI 对其值进行解码,如下所示:String rawValue = // get from System properties or env varString decodedValue = PasswordUtil.decode(rawValue);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java