1

Web アプリケーションで使用される API エンドポイントのパスワードを保存したいと考えています。

ファイルcatalina-server.xmlに次の構成を入れました

...
<GlobalNamingResources>
    <Environment name="paci/connectionUrl" type="java.lang.String" value="http://10.0.0.1:1234/paci/v1.0"/>
    <Environment name="paci/adminUser" type="java.lang.String" value="admin"/>
    <Environment name="paci/adminPass" svns:secretAlias="Paci.AdminUser.Password" type="java.lang.String" value="password"/>
</GlobalNamingResources>

Cipher Tool を使用するために、このドキュメントを使用して安全なボールトを構成しました。

cipher-tool.properties

Paci.AdminUser.Password=repository/conf/tomcat/catalina-server.xml//Server/GlobalNamingResources/Environment[@name='paci/adminPass'][@value],true

cipher-text.properties

Paci.AdminUser.Password=EnCrYpTeDvAlUe123

Web アプリでは、META-INF/context.xmlJNDI を解決するためにグローバル リソースへのリンクを追加する必要がありました。

...
<Context>
    <ResourceLink global="paci/connectionUrl" name="paci/connectionUrl" type="java.lang.String" />
    <ResourceLink global="paci/adminUser" name="paci/adminUser" type="java.lang.String" />
    <ResourceLink global="paci/adminPass" name="paci/adminPass" type="java.lang.String" />
</Context>

これが私のコードです:

Context initCtx = new InitialContext();
String paciPass = (String) initialContext.lookup("java:comp/env/paci/adminPass");

の値paciPassは「password」であり、暗号化されたパスワードではありません。ボールトが暗号化されたパスを返さない理由がわかりません。

wso2 の安全なボールトに対して、JNDI のエイリアスを解決するにはどうすればよいですか?

4

0 に答える 0