jws.setPayload(jwsPayload);
jws.setAlgorithmHeaderValue(AlgorithmIdentifiers.HMAC_SHA256);
jws.setKeyIdHeaderValue(jwk.getKeyId());
jws.setKey(jwk.getKey());
// To create a detached signature, sign and then concatenate the encoded header, two dots "..", and the encoded signature
jws.sign();
String encodedHeader = jws.getHeaders().getEncodedHeader();
String encodedSignature = jws.getEncodedSignature();
String reproducedDetachedCs = encodedHeader + ".." + encodedSignature;
assertThat(detachedCs, is(equalTo(reproducedDetachedCs)));
assertThat(encodedJwsPayload, is(equalTo(jws.getEncodedPayload())));