3.2.10. 从外部源获取密钥存储密码
可在 vault 配置中使用 EXT、EXT C、CMD、CMD C 或 CLASS 方法来获取 Java 密钥存储密码。
<vault-option name="KEYSTORE_PASSWORD" value="METHOD_TO_OBTAIN_PASSWORD"/>
方法的描述列为:
- {EXT}…
-
指的是确切的命令,其中
…是确切的命令。例如:{EXT}/usr/bin/getmypassword --section 1 --query company运行/usr/bin/getmypassword命令,该命令可在标准输出上显示密码,并将它用作 Security Vault 的密钥存储的密码。在本例中,命令使用两个选项:第 1 部分和--query company。 - {EXTC[:expiration_in_millis]}…
-
指的是确切的命令,其中
…是传递给Runtime.exec(String)方法的确切命令行,以执行平台命令。命令输出的第一行用作密码。EXTC 变体缓存expiration_in_millis毫秒的密码。默认缓存到期时间为0 = infinity.例如:{EXTC:120000}/usr/bin/getmypassword --section 1 --query company验证缓存是否包含/usr/bin/getmypassword输出,如果它包含输出,然后将其使用。如果它不包含输出,请运行 命令将其输出到缓存并使用它。在本例中,缓存在 2 分钟后过期,该缓存为 120000 毫秒。 - {CMD}… 或 {CMDC[:expiration_in_millis]}…
-
常规命令是用
(comma)分隔的字符串,其中第一部分是实际命令,而其他部分则表示参数。逗号可以反斜杠,使它成为 参数的一部分。例如:{CMD}/usr/bin/getmypassword,--section,1,--query,company。 - {CLASS[@jboss_module_spec]}classname[:ctorargs]
-
其中
[:ctorargs]是用以下分隔的可选字符串:(冒号)将类名称传递到类名称器。Thectorargs是一个以逗号分隔的字符串列表。例如:{CLASS@org.test.passwd}org.test.passwd.ExternamPassworProvider。在本例中,org.test.passwd.ExternamPassworProvider类是从org.test.passwd模块加载的,并使用toCharArray()方法获取密码。如果toCharArray()不可用,则使用toString()方法。org.test.passwd.ExternamPassworProvider类必须具有默认的构造器。