programación leer un valor descifrado de server.xml

bobbyrne01:

Tengo un servidor Websphere la libertad con la siguiente 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}" />

¿Es posible leer el valor descifrado de clientSecret="${APPID_CLIENT_SECRET}"programación desde dentro del código de la aplicación Java?

Andy Guibert:

Depende de cómo se codifica el valor. Si está encriptada, por definición, no hay manera de fácil descifrarlo (de lo contrario, sería contrario al propósito de cifrado).

Si se acaba de hacer una codificación reversible (por ejemplo, XOR o AES) puede descifrarlo usando una característica de la libertad.

En primer lugar, asegúrese de que ha habilitado la característica siguiente en server.xml:

<feature>passwordUtilities-1.0</feature>

A continuación, puede utilizar la com.ibm.websphere.crypto.PasswordUtilAPI de decodificarlo el valor de la siguiente manera:

String rawValue = // get from System properties or env var
String decodedValue = PasswordUtil.decode(rawValue);

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=313634&siteId=1
Recomendado
Clasificación