Skip to content

Commit

Permalink
Updated documentation for release 1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
tilln committed Mar 2, 2017
1 parent 5c604af commit bef7142
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 6 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ deploy:
provider: releases
api_key:
secure: il+4mUffdzWdz604Aig4rFjwBowSQMyFCqRomT4MvO0sj1yr5ripdSEsuJN9epfzZJvYuttJ48egNtMf/7Cbxh6/uN4NTFYfMPB6TOYL7OR52WtqFnkUjD0M7LRKCeeO2iWrhWqdhEEcKFuD1rCDKwZRYYgCDCIxLmG++etkxombVjsYu/RwuvTcV97I0ekfMZ7FZTePo3DS7W/1WJx68rGgNZD4STerAtPxpeoSMHo+eXHDfGetBS6TfyDjfewPCRcIJdZ82fo7Cdeks37LqSJJnpG1XNK6Ojd97tp4C9yseq5EZtTbBa1TzNKE46+xnlDCOC0iqZ1q+maKtfqzJTvHJyM6cT9dYY3rm4Xv+yNXNhRGtANSfPsihnHkA/jPj/jAiJU15NjUnv0MT8kmyzu0H9qLE3alz9uoUdY33J3T0Xgj50I+jiynfrug/Mg43rGD23IlHTjtqssW1+ZVjlsh6Ax+LFRA8wzfZuc5Fq7k/R7HdkhVPE+pzw+4wj6WFfBZnepsDLuncN+wOCTgDvz8YtofYTroNc7M3onG/0QgIxyf667gv5kb0KfTxUcv8nCaj9fVDIrWxx1eh7TOeLKxI6z75BpAc6hwwBPmarFYfXtV9Weh8UM58A8KkB1lv3/1x2fFEPJUKE8HjfzoYt8OwvAEajSImWICbQ3Uuqg=
file: target/jmeter-wssecurity-1.1-SNAPSHOT.jar
file: target/jmeter-wssecurity-1.1.jar
skip_cleanup: true
overwrite: true
on:
Expand Down
36 changes: 32 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Apache JMeter plugin for signing and encrypting SOAP messages (WS-Security).
Installation
------------

1. Copy the [jmeter-wssecurity jar file](https://github.com/tilln/jmeter-wssecurity/releases/download/1.0/jmeter-wssecurity-1.0.jar) into JMeter's lib/ext directory.
1. Copy the [jmeter-wssecurity jar file](https://github.com/tilln/jmeter-wssecurity/releases/download/1.1/jmeter-wssecurity-1.1.jar) into JMeter's lib/ext directory.
2. Copy the following dependencies into JMeter's lib directory:
* [org.apache.wss4j / wss4j-ws-security-dom](http://central.maven.org/maven2/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](http://central.maven.org/maven2/org/apache/wss4j/wss4j-ws-security-common/2.1.8/wss4j-ws-security-common-2.1.8.jar)
Expand All @@ -24,7 +24,8 @@ Usage
------------

The plugin provides two [Preprocessors](http://jmeter.apache.org/usermanual/component_reference.html#preprocessors)
that can be configured for signing and encrypting the payloads of an HTTP or JMS request.
that can be configured for signing and encrypting the payloads of an [HTTP request](http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request)
or [JMS Publisher](http://jmeter.apache.org/usermanual/component_reference.html#JMS_Publisher)/[Point-to-Point sampler](http://jmeter.apache.org/usermanual/component_reference.html#JMS_Point-to-Point).
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).

### SOAP Message Signer
Expand All @@ -40,7 +41,7 @@ Users familiar with SoapUI will find similarities to the [outgoing WS-Security c
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.

The "Parts to Sign"/"Parts to Encrypt" are empty by default, however, that results in the SOAP Body element to be signed or encrypted.
The "Parts to Sign"/"Parts to Encrypt" are empty by default, however, that results in the SOAP Body content to be signed or encrypted.

Suppose the Timestamp element was to be included in the signature or encryption in addition to the Body element, both would have to be listed as follows:

Expand All @@ -51,4 +52,31 @@ Suppose the Timestamp element was to be included in the signature or encryption

Note that the Preprocessor does not generate the Timestamp element but it needs to be present in the payload.

Encode is only relevant for encryption and can be "Content" (default) or "Element".
Encode is only relevant for encryption and can be one of the following:
* "Element" (default): The entire XML element is encrypted.
* "Content": Only child nodes of the XML element are encrypted (i.e. the element name and its attributes will remain in clear text).
* "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.

### 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.

Suppose a sampler like the following:
```java
package some.package;
public class SomeSampler extends AbstractSampler {
public String getPayload()
// ...
public void setPayload(String content)
// ...
}
```

Then the JMeter property should be set like so: `jmeter.wssecurity.samplerPayloadAccessors=some.package.SomeSampler.payload`

More than one of these can be comma separated (if really required).
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<groupId>co.nz.breakpoint.jmeter.modifiers</groupId>
<artifactId>jmeter-wssecurity</artifactId>
<packaging>jar</packaging>
<version>1.1-SNAPSHOT</version>
<version>1.1</version>
<name>jmeter-wssecurity</name>
<url>http://maven.apache.org</url>

Expand Down

0 comments on commit bef7142

Please sign in to comment.