Password Manager Pro自定义密码算法(加密和解密)使用说明:
(此功能只在企业版中可用)
Password Manager Pro默认使用AES-256对称密码算法,并只在密码数据库存储这些加密的数据。每次安装PMP都会自动生成一个主加密密钥,它是唯一的,每一次安装是不一样的。因此,整个加密和解密方法会被放在Password Manager Pro的类文件中。因此,密钥的生成和加密逻辑会由Password Manager Pro执行。
除了默认的密码算法,PMP还允许您自定义密码算法。例如,现在,加密和解密方法可以由Jave接口“PMPEncryptDecrypt”通过setter和getter方法来实现,也就是说,您可以使用自己的密钥和加密逻辑进行加密。
重要提示:- 在配置自定义密码算法前,请先对PMP安装文件进行备份。如果数据库服务器位于另一台主机,需要确保对该主机上的PMP数据库进行了备份。这样在配置过程中一旦产生错误时,可以避免数据丢失。此外,您还要从以下几方面采取必要的防范措施:
个人密码管理:
如果您或某些用户在PMP的“个人密码管理”中,选择了“使用我的密钥而且不存储此密钥”,那么,在配置自定义加密后,则用户的这些数据将会丢失,且不能找回。因此,在进行配置前,请务必使用“导出密码”功能,先将密码导出。
自定义密码算法步骤:
简单的说,配置自定义密码算法,需要执行一个包含您个人加密逻辑的实现类,下面是详细步骤:
第一步)编写您的个人实现类PMPEncryptDecrypt.java,如下所示:
请先按照如下说明编写您的个人实现类接口PMPEncryptDecrypt.java。
更多内容请参照java PMPEncryptDecrypt接口文档进行操作。
提示:-
- 类中的generateCryptographicKey()应该生成并返回一个新的32位密钥。getPmp32BitKey()应该返回最后生成的32bit密钥。无论何时调用它们,都应该是这样。
- getMSSQLMasterKey()应该返回数据库主加密密钥,用于配置将MSSQL Always-On集群作为后端数据库。如果返回值为null或者空字符串,则集群级别节点切换操作将不被执行。
第二步:编译您的实现类
现在,请将您的实现类转换为SampleEncryption.jar,并将其移动到<PMP-Installation Folder>/lib目录。
第三步,停止PMP服务器
如果Password Manager Pro正在运行,请停止。
第四步,执行迁移加密脚本
场景1:未配置高可用性/故障转移服务
在<PMP_HOME>\bin目录,执行MigrateCryptography.bat,并将您的实现类作为参数。
脚本使用范例:- MigrateCryptography.bat com.org.crypto.SampleEncryptDecrypt
场景2:配置了高可用性/故障转移服务
如果在Password Manager Pro中已经配置了高可用性/故障转移服务,请按照如下步骤执行脚本:
- 停止并卸载备用服务器。
- 在主服务器通过执行migrateCryptography.bat配置自定义密码
- 然后,重新安装一个PMP备用实例。
- 现在,配置高可用性/故障转移服务。HAPack.zip或FOSPack.zip将会包含您自定义密码算法的jar文件。
第五步,启动PMP服务器。
完成以上步骤后,您需要启动Password Manager Pro使相应设置生效。