Mule 4 安全 属性 占位符不工作

Mule 4 secure property placeholder not working

这是我的配置,我在其中定义了我的属性文件,即 dev.properties,其中包含一些加密值。我已经定义了我的安全 属性 占位符,但它不起作用

<global-property doc:name="Global Property" doc:id="7080a89f-d39c-485d-99c4-b35337ab62c4" name="env" value="dev" />
    <global-property doc:name="Global Property" doc:id="5d1fb026-a34f-490f-9b50-7a9bcb5cdf83" name="enc.key" value="password" />
    <configuration-properties doc:name="Configuration properties"
        doc:id="7448fcf9-e3ef-41b4-879e-9551ab99aa29" file="properties/${env}.properties" />
        <secure-properties:config name="Secure_Properties_Config" doc:name="Secure Properties Config" doc:id="0bbad3ed-42bb-4e13-bc88-e9c1fc6d21f4" file="properties/${env}.properties" key="${enc.key}"  >
    </secure-properties:config>

我已经使用AES算法使用值密码加密了。但是它无法使用提供的配置解密这些值。

首先,您使用 configuration-properties 加载相同的属性文件,然后再次使用 secure-properties。如果文件包含 secure-properties,则只使用 secure-properties 加载一次文件。

其次,您需要使用 ${secure:myProp.someProp} 语法来读取安全属性,而不仅仅是 ${myProp.someProp}

如果您对安全属性和 non-secure 属性使用相同的文件,您仍然必须对 non-secure 属性使用 ${secure:myProp.someProp}

因此,最好将 属性 文件拆分为 ${env}.properties(用于 non-secure)和 ${env}-secure.properties(用于安全属性)。然后你可以使用 configuration-properties ${env}.properties 和 secure-properties for ${env}-secure.properties.

如果您遇到特定错误,请更新问题的详细信息。