从.properties文件引用JBoss库

时间:2018-08-16 12:11:08

标签: java jboss

使用JBoss EAP 7,我在类路径中成功包含一个.properties文件。

我还设置了一个保管库,并通过命令行插入了一个值。我检查了值是否存在。

我正在尝试在应用程序中使用保管库条目。因此,例如,在属性文件中,如果我输入以下内容:

token.secret=mysecret

,然后运行我的一个POST请求,它返回一个密钥。然后,我可以运行JUnit测试,并且断言返回真,即密钥的编码确实使用了值“ mysecret”。

因此,如果我将“ mysecret”放入保管库:

vault.bat --keystore ..\vault\vault.keystore --keystore-password <password> --alias vault --vault-block mySecret --attribute myAtt --sec-attr mysecret --enc-dir ../vault --iteration 97 --salt abcdefgh

命令行将其退回使用:

${VAULT::mySecret::myAtt::1}

然后,如果我在.properties文件中使用它:

token.secret=${VAULT::mySecret::myAtt::1}

并发出相同的POST请求,并运行JUnit测试,这表明返回的密钥不是从“ mysecret”生成的。

如何使用属性文件中文件库中的值使我的JUnit测试通过?

2 个答案:

答案 0 :(得分:0)

我没有我想要的官方答案,但这是可以使用的替代方法*。

您可以将其放在JBoss使用的任何standalone.xml文件中(如果您使用的是独立模式),而不是从.properties文件中引用该文件库,请在system-properties节点下(将其创建)如果还不存在):

<property name="token.secret" value="${VAULT::mySecret::myAtt::1}"/>

这将通过我的断言测试。

* 我仍然希望有人来告诉我如何从.properties文件中引用它...

答案 1 :(得分:0)

  1. 设置Vault并将Vault属性存储在属性文件中,例如

    //vault.property file contents
    
    KEYSTORE_URL=/home/userid/jboss/jbossvault.jceks
    KEYSTORE_PASSWORD=MASK-0Kuitk9Sz/R./bViQcAEXY
    KEYSTORE_ALIAS=appln_name_vault
    SALT=12345678
    ITERATION_COUNT=888
    ENC_FILE_DIR=/home/userid/jboss
    
  2. 添加$ JBOSS_HOME / standalone / configuration / standalone.xml

    a。保险库部分

    <vault>  
          <vault-option name="KEYSTORE_URL" value="${KEYSTORE_URL}"/>  
          <vault-option name="KEYSTORE_PASSWORD" value="${KEYSTORE_PASSWORD}"/>  
          <vault-option name="KEYSTORE_ALIAS" value="${KEYSTORE_ALIAS}"/>  
          <vault-option name="SALT" value="${SALT}"/>  
          <vault-option name="ITERATION_COUNT" value="${ITERATION_COUNT}"/>  
          <vault-option name="ENC_FILE_DIR" value="${ENC_FILE_DIR}"/>  
    </vault> 
    

    b。 ssl密钥存储区

    <server-identities>
        <ssl>
            <keystore path="$JBOSS_HOME/keystore/Appln_Cert_KeyStore.jks" keystore-password="${VAULT::Appln_SSL_block::passphrase::1}"/>
        </ssl>
    </server-identities>
    
  3. 以独立后台模式启动jboss eap nohup $ JBOSS_HOME / bin / standalone.sh -P /home/userid/jboss/vault-config.properties&