gpt4 book ai didi

soapui - SOAP-UI - 如何在项目中外部化或加密密码

转载 作者:行者123 更新时间:2023-12-02 08:21:47 31 4
gpt4 key购买 nike

我有一个项目,其中配置了一些 SOAP 接口(interface)来测试我的后端。

为了能够转移凭据,我可以选择:

  1. 放置肥皂头 <soapenv:Header>...</soapenv:Header>包含用户名和密码 但在这种情况下,我必须在所有请求中声明它,并且它不是动态的,因为配置的不同端点(环境)的凭据会发生变化

  2. 创建 Outgoing WS-Security Configurations对于我的所有环境并将它们关联到 Endpoint每个的配置Interface
    这样,无论使用什么端点,它都可以轻松自动地切换凭据。 在此配置中,我还可以定义不生成 nonce ,其他方式自动生成,服务器不接受。

现在我遇到了一个安全问题。我的 SOAP-UI 位于 git 存储库中,如果我只是打开项目 xml 文件,我就可以以明文形式看到我的密码。

我尝试使用Hashed password但是:

  1. 服务器不允许这样做:它需要 PasswordText 中的密码格式
  2. 我认为哈希是 base64 编码的,然后不安全

有没有办法将密码外部化(它们可以存储在本地明文文件中)或在project.xml文件中加密?

我在 5.2.0 版中通过用户界面使用 SOAP-UI 开源版本(不是 PRO),而不是使用 Maven 或任何其他工具。

最佳答案

您可以使用全局属性。为此,您需要首先定义一个外部文件,例如名为soapuiProperties.txt 的文件。

在此文件中放置两个属性:

myProject.username=yourUserName
myProject.password=yourPassword

然后配置您的 WS-Security 配置设置并将 ${myProject.username} 设置为用户名,将 ${myProject.password} 设置为密码(您不需要查看密码文本,因为 UI 字段有一个掩码,但不用担心,如果您正确放置了属性,那么 SOAPUI 无论如何都会将其替换为属性文件中的正确值)。

enter image description here

最后,您必须将文件传递到 SOAPUI,因此编辑 SOAPUI_HOME\bin\soapui.bat 并添加以下 -Dsoapui.properties=soapuiProperties.txtJAVA_OPTS:

设置 JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx256m -Dsoapui.properties=soapuiProperties.txt

就这样,当您将 WSSSettings 应用到您的请求时,您将看到从属性文件中获取的正确值。

您可以在 SOAPUI 文档 here 中查看更多信息

编辑

在新版本中,至少 5.2.1 似乎更容易,默认情况下 SOAPUI 配置为加载 SOAPUI_HOME\bin\soapui.properties。因此,创建此文件并在此处添加属性。您必须执行其余步骤,但可以避免编辑 soapui.bat

希望这有帮助,

关于soapui - SOAP-UI - 如何在项目中外部化或加密密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33297503/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com