From 08bc34f1e11fe5a055363efed0002ff306a5c33c Mon Sep 17 00:00:00 2001 From: Till Neunast Date: Sun, 26 Nov 2017 18:36:26 +1300 Subject: [PATCH] Release 1.4 --- README.md | 45 ++++++++++++++++++++++++++++++++++---------- docs/decryption.png | Bin 0 -> 48463 bytes pom.xml | 4 ++-- 3 files changed, 37 insertions(+), 12 deletions(-) create mode 100644 docs/decryption.png diff --git a/README.md b/README.md index 6d61ccd..c40a1f7 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,17 @@ Overview ------------ -Apache JMeter plugin for signing and encrypting SOAP messages (WS-Security). +Apache JMeter plugin for signing, encrypting and decrypting SOAP messages (WS-Security). -The plugin provides [Preprocessors](http://jmeter.apache.org/usermanual/component_reference.html#preprocessors) -that can be configured for signing and encrypting the payloads of an HTTP Request or JMS Publisher/Point-to-Point sampler -with a digital certificate from a given JKS keystore, or for adding a Username Token. +The plugin provides +* [Pre-Processors](http://jmeter.apache.org/usermanual/component_reference.html#preprocessors) +for adding digital signature or encryption to a sampler's payload (based on a certificate from a given keystore), +* a Pre-Processor for adding a Username Token to a sampler's payload, +* a [Post-Processor](http://jmeter.apache.org/usermanual/component_reference.html#postprocessors) +for decrypting a sampler's response. + +Supported are HTTP Request, JMS Publisher and JMS Point-to-Point samplers, as well as third party samplers +that expose the payload via a pair of getter/setter methods. Installation ------------ @@ -21,11 +27,11 @@ Under tab "Available Plugins", select "WS Security for SOAP", then click "Apply ### Via Package from [JMeter-Plugins.org](https://jmeter-plugins.org/) -Extract the [zip package](https://jmeter-plugins.org/files/packages/tilln-wssecurity-1.3.zip) into JMeter's lib directory, then restart JMeter. +Extract the [zip package](https://jmeter-plugins.org/files/packages/tilln-wssecurity-1.4.zip) into JMeter's lib directory, then restart JMeter. ### Via Manual Download -1. Copy the [jmeter-wssecurity jar file](https://github.com/tilln/jmeter-wssecurity/releases/download/1.3/jmeter-wssecurity-1.3.jar) into JMeter's lib/ext directory. +1. Copy the [jmeter-wssecurity jar file](https://github.com/tilln/jmeter-wssecurity/releases/download/1.4/jmeter-wssecurity-1.4.jar) into JMeter's lib/ext directory. 2. Copy the following dependencies into JMeter's lib directory: * [org.apache.wss4j / wss4j-ws-security-dom](https://search.maven.org/remotecontent?filepath=org/apache/wss4j/wss4j-ws-security-dom/2.1.8/wss4j-ws-security-dom-2.1.8.jar) * [org.apache.wss4j / wss4j-ws-security-common](https://search.maven.org/remotecontent?filepath=org/apache/wss4j/wss4j-ws-security-common/2.1.8/wss4j-ws-security-common-2.1.8.jar) @@ -42,7 +48,9 @@ The message to be signed or encrypted must be a valid SOAP message and must be i * For [JMS Point-to-Point](http://jmeter.apache.org/usermanual/component_reference.html#JMS_Point-to-Point): Text area "Content" * For [JMS Publisher](http://jmeter.apache.org/usermanual/component_reference.html#JMS_Publisher): Text area "Text Message..." with "Message source": Textarea (from files is not supported) -*Note that the plugin does not assist with composing the message nor does it do any XML schema validation.* +*Note that the plugin does not assist with composing the message nor does it do any XML schema validation. +Only the WS-Security header element will be inserted or modified.* +*It is recommended to exclude the WS-Security header from the SOAP request.* Users familiar with SoapUI will find similarities to the [outgoing WS-Security configuration](https://www.soapui.org/soapui-projects/ws-security.html#3-Outgoing-WS-Security-configurations). @@ -58,7 +66,14 @@ Users familiar with SoapUI will find similarities to the [outgoing WS-Security c ![SOAP Message Username Token](https://raw.githubusercontent.com/tilln/jmeter-wssecurity/master/docs/usernametoken.png) -### Configuration +### SOAP Message Decrypter + +![SOAP Message Decrypter](https://raw.githubusercontent.com/tilln/jmeter-wssecurity/master/docs/decryption.png) + +Configuration +------------- + +### Pre-Processors The dropdown fields are initialized with WSS default values, and allow the customization of most signature and encryption settings, depending on what the endpoint's WSDL defines. @@ -72,7 +87,7 @@ Suppose the Timestamp element was to be included in the signature or encryption |Body|http://schemas.xmlsoap.org/soap/envelope/ | | |Timestamp|http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd | | -*Note that the Timestamp element is not inserted by the Preprocessor but has to be present in the payload.* +*Note that the Timestamp element is not inserted by the Pre-Processor but has to be present in the payload.* Encode is only relevant for encryption and can be one of the following: * "Element" (default): The entire XML element is encrypted. @@ -80,13 +95,22 @@ Encode is only relevant for encryption and can be one of the following: * "Header": Encloses the XML element in an EncryptedHeader element ("http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"), but only if it is an immediate child node of the SOAP Header. +### Post-Processor + +Any WS-Security related exception encountered by the SOAP Message Decrypter +while trying to decrypt a response message will cause the sampler to fail and will create an +[assertion](http://jmeter.apache.org/usermanual/component_reference.html#assertions) result, +effectively behaving like an implicit assertion. + +If this behaviour is not desired, it may be turned off via setting the JMeter property `jmeter.wssecurity.failSamplerOnWSSException=false`. + ### Support for 3rd party samplers Samplers that are not JMeter core functionality, such as [JMeter-Plugins](http://jmeter-plugins.org), can also be used if they provide a getter/setter pair to access a String property that contains the sampler's payload that is to be signed or encrypted. In that case, the JMeter property `jmeter.wssecurity.samplerPayloadAccessors` can be used to specify the class and member name (without the get/set prefix) -which the Preprocessor will access at run time via Reflection. +which the Pre-Processor will access at run time via Reflection. Suppose a sampler like the following: ```java @@ -118,3 +142,4 @@ etc. It may be useful to increase the logging level in order to investigate any keystore or encryption related issues, for example by adding `--loglevel=org.apache.wss4j=DEBUG` to the JMeter command line. +It may also be helpful to inspect server side logs, especially for HTTP 500 type responses, unspecific SOAP Fault messages etc. diff --git a/docs/decryption.png b/docs/decryption.png new file mode 100644 index 0000000000000000000000000000000000000000..dec2efe49f1d715d60f18809e4da1f2503b32d06 GIT binary patch literal 48463 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 BCcyvz literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index c9b80a8..8d85317 100644 --- a/pom.xml +++ b/pom.xml @@ -1,10 +1,10 @@ 4.0.0 - co.nz.breakpoint.jmeter.modifiers + nz.co.breakpoint jmeter-wssecurity jar - 1.4-SNAPSHOT + 1.4 jmeter-wssecurity http://maven.apache.org