【问题标题】:JMeter : SOAP Message Signer PluginJMeter:SOAP 消息签名插件
【发布时间】:2017-08-22 06:02:37
【问题描述】:

我正在尝试使用 HTTP 请求采样器和 SOAP 消息签名器插件发送 SOAP 请求(签名)。请求适用于 SOAPUI。如果我使用相同的参数(对于 SOAP 消息签名器),它似乎无法通过 JMeter。

作为 SOAP Request 的一部分,Header 需要被签名。签名时出现以下错误。谁能告诉我失败的原因?

n.c.b.j.m.AbstractWSSecurityPreProcessor:构建 WSS 标头 o.a.w.d.m.WSSecSignature:开始签名...错误 n.c.b.j.m.AbstractWSSecurityPreProcessor: org.apache.wss4j.common.ext.WSSecurityException:没有证书 找到用户“cert_alias”进行签名

【问题讨论】:

    标签: soap jmeter ws-security


    【解决方案1】:

    您是否在 jmeter 密钥库中添加了别名 cert_alias 下的证书?

    这就是消息的意思:

    未找到用户“cert_alias”的签名证书

    Keystore 位于 jmeter/bin 文件夹中

    你可能想试试这个插件:

    【讨论】:

    • 您好,我已将密钥库文件放在 jmeter/bin 文件夹中。但它没有工作。但是我在证书设置下的“SOAP 消息签名者”中指定了文件(.p12)文件名。
    【解决方案2】:

    最后我能够使用插件发送成功的请求。 我使用签名标头作为 SOAP 请求的一部分。 插件配置: 密钥库文件:.jks 文件的路径 密钥库密码:密码 证书别名 - cert_alias 证书密码 - 证书密码

    从 SOAP 请求中删除签名标头后,它起作用了。谢谢你。

    【讨论】:

      【解决方案3】:

      如果您的 SOAP 端点希望使用客户端证书加密消息,您可以通过将下一行添加到 system.properties 文件来配置 JMeter 以使用它:

      javax.net.ssl.keyStoreType=pkcs12 or jks  
      javax.net.ssl.keyStore=/path/to/your/jsk keystore or .p12 certificate
      javax.net.ssl.keyStorePassword=your certificate or keystore password
      

      需要重新启动 JMeter 才能获取属性。

      您也可以通过 -D 命令行参数传递它们,例如:

      jmeter -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStore=your-certificate.p12 -Djavax.net.ssl.keyStorePassword=secret
      

      更多信息:

      【讨论】:

      • 我已将 .p12 文件放在 jmeter/bin 文件夹中,并在 system.properties 文件中指定。仍然失败并显示相同的错误消息。我应该对 SOAP 消息的标头进行任何更改/参数化吗?如果我使用 SOAP Message Signer 插件,如何为每个请求替换标头?有没有样品测试计划可以参考?
      猜你喜欢
      • 2019-01-13
      • 2011-08-04
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多