高级自定义 > 业务逻辑自定义 > 已加密密码 > 已加密密码
  
已加密密码
背景
过去,Windchill 在文件系统的文件中以纯文本形式存储密码值,并根据适当的访问权限来限制对这些文件的访问。从 Windchill 9.1 M050 版开始,可以选择对这些密码进行加密,以在查看文件时不再显示纯文本值。
Windchill 提供了可加密的预设特性值。但是,您可以加密 Windchill .xconf 文件管理的特性的其他值以及并非由 .xconf 文件管理的值。
对某个值进行加密后,必须存在可在使用之前正确解密该值的代码,否则,系统使用加密值时可能会导致失败。
如果已创建的 .xconf 特性值是密码或敏感信息,则请考虑对该值进行加密。如果您具有用于扩展基本 Windchill 类或直接读取 Windchill .properties 文件的自定义代码,则可能需要进行更新才能确保正确处理加密值。
有关加密的完整详细信息 (包括加密机制、随附的文件、SOX 合规性等),请参阅系统密码加密选项
范围/适用性/假设
假设您有可添加适合 Windchill 使用的新 .xconf 特性的代码,且其值包含敏感信息。
假定您有可添加不受控于 Windchill xconf 框架的特性的代码,且其值包含敏感信息。
假定您有用于直接读取 Windchill .properties 文件以访问特性值的代码。
预期结果
对特性进行加密后,该特性的对应值将不再以纯文本形式显示,而是以加密形式显示。
例如,Windchill 可选择加密的预设特性值之一是 wt.pom.dbPassword .xconf 特性。
在进行加密之前,此值在 <Windchill>\site.xconf 中显示如下:
<Property name="wt.pom.dbPassword" overridable="true" targetFile="db/
db.properties"
value="my_password"/>
在基础 <Windchill>\db\db.properties 文件中,该值显示如下:wt.pom.dbPassword=my_password
加密 wt.pom.dbPassword 特性后,每个值显示如下:
<Property name="wt.pom.dbPassword" overridable="true" targetFile="db/
db.properties"
value="encrypted.wt.pom.dbPassword"/>
wt.pom.dbPassword=encrypted.wt.pom.dbPassword
加密值以下列形式显示:"encrypted.<property_name>"。
解决方案
使用 Windchill 的加密机制提供一种安全方法,用于存储敏感的特性值信息。
为了确保做法标准,建议使用 xconfmanager 设置命令 (如果可行) 对需要加密的特性进行 xconf 托管。这将确保特性加密过程更简单。但是,可能存在设计注意事项或体系结构问题阻碍特性进行 xconf 托管,例如文件未严格包含键/值对,或 xconf 框架不在可影响该操作是否可行的 classpath 中。
必备知识
要应用此最佳做法,需要了解以下内容:
使用 Java 的基本开发
(可选) Windchill xconf 框架