如果您打开此文档:
关于如何在数据导入配置XML中加密数据库密码,有一个非常难以理解的描述:
或者,可以按如下方式加密密码。这是由命令openssl enc -aes-128-cbc -a -salt -in pwd.txt password =“U2FsdGVkX18QMjY0yfCqlfBMvAB4d3XkwY96L7gfO2o =”获得的值。密码加密后,您必须提供额外的属性encryptKeyFile =“/ location / of / encryptionkey”。该文件应该是一个包含加密/解密密码的单行文本文件。
有人可以帮助我将其分解为实际需要遵循的步骤吗?
答案 0 :(得分:1)
这仅适用于Solr 5.1和6 +
openssl enc -aes-128-cbc -a -salt -md md5 -in pwd.txt
。- >这假定pwd.txt是保存在文本文件中的密码,所以这是一个例子:
echo "my password" > pwd.txt
openssl enc -aes-128-cbc -a -salt -md md5 -in pwd.txt
enter aes-128-cbc encryption password: myencryptfilepwd
Verifying - enter aes-128-cbc encryption password: myencryptfilepwd
U2FsdGVkX1/zZp+RS3oim80coh80ARe8l+EF+w0La0TKRfNpZ4+smdokcV3zYyLm
将上面输入的密码保存到文件中:echo "myencryptfilepwd" > "/location/of/encryptionkey"
将/location/of/encryptionkey
保存到Solr服务器和chmod 0600
以保护内容。
将openssl enc调用的结果添加到password
并将encryptKeyFile
路径设置为DIH xml文件:<dataSource driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:./example-DIH/hsqldb/ex" user="sa" password="U2FsdGVkX1/zZp+RS3oim80coh80ARe8l+EF+w0La0TKRfNpZ4+smdokcV3zYyLm" encryptKeyFile="/location/of/encryptionkey" />
如果您已正确完成此操作,Solr DIH应该能够使用加密密码。
答案 1 :(得分:1)
FYI, 我遇到了一些问题,在dataConfig中获取密码和encryptKeyFile工作。
运行echo命令时,请务必使用echo -n以确保没有EOL字符。
答案 2 :(得分:1)
根据https://issues.apache.org/jira/browse/SOLR-11690
openssl将消息摘要默认值从MD5更改为SHA256 (https://github.com/openssl/openssl/issues/2206),但Solr使用MD5,因此 正确的密码加密命令必须包含-md md5
因此: openssl enc -aes-128-cbc -a -salt -md md5 -in pwd.txt
使它对我有用。