1. 需求背景

根据《中华人民共和国保守国家秘密法》及《金融领域国产密码改造基线要求》等法规,国家明确将密码技术列为核心安全战略。关键信息基础设施领域(如金融、政务、能源)已启动国密算法强制替代计划,未达标系统将面临合规审查风险,因此,金融行业、事业机关等,都要求密码的加密算法必须满足国密的要求。

2. 功能说明

对产品的 用户登录密码config页面登录密码、数据库密码 进行  SM3/SM4  的国密算法处理

功能模块SM3SM4
用户登录密码(滴答)(滴答)
config页面登录密码(滴答)(滴答)
数据库密码(出错)(滴答)


SM3是加密后不可逆的,无法解密,故不会对数据源密码进行SM3加密存储,因数据源是需要解密后用原密码进行连接的。


3. 使用说明

3.1. 扩展包部署

扩展包:Smartbi_Special_SMEncryption

详细说明请参考Wiki链接:扩展包部署

3.2. 配置说明

修改加密方式

 配置smsetting.propertie文件(位于/src/web/META-INF/目录下)

# 国密加密:sm3 或 sm4
smtype=sm4

# 国密4密钥
SM4Key=密钥


说明:由于用户密码是不可逆存储在数据库的,就是没办法解密出原来的密码,如果要更换SM4加密,需要把之前保存在数据库上的用户密码都重置为“manager”,然后让客户用该密码登录后再重新修改密码。

注意:部署完需要进行升级,选择升级会把所有的用户密码则将会重置为SM4加密的“manager”支付串存储数据库。

如果还想后面还原为以前的密码格式建议备份知识库数据库表:“t_user”用户表,“t_datasource”数据业务库表


4. 注意事项

       现象:使用该扩展包会与 SDK 中的登录接口冲突,因调用后会提示“验证码为空”。

       方案:需要修改extension.xml文件,下图所示位置的值。改为客户需要指定的用户名称即可。