in modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java [1656:1725]
public static boolean isSecHeaderRequired(RampartPolicyData rpd, boolean initiator, boolean inflow ) {
// Checking for time stamp
if ( rpd.isIncludeTimestamp() ) {
return true;
}
// Checking for signed parts and elements
if (rpd.isSignBody() || rpd.getSignedParts().size() != 0 ||
rpd.getSignedElements().size() != 0) {
return true;
}
// Checking for encrypted parts and elements
if (rpd.isEncryptBody() || rpd.getEncryptedParts().size() != 0 ||
rpd.getEncryptedElements().size() != 0 ) {
return true;
}
// Checking for supporting tokens
SupportingToken supportingTokens;
if (!initiator && inflow || initiator && !inflow ) {
List<SupportingToken> supportingToks = rpd.getSupportingTokensList();
for (SupportingToken supportingTok : supportingToks) {
if (supportingTok != null && supportingTok.getTokens().size() != 0) {
return true;
}
}
supportingTokens = rpd.getSignedSupportingTokens();
if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
return true;
}
supportingTokens = rpd.getEndorsingSupportingTokens();
if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
return true;
}
supportingTokens = rpd.getSignedEndorsingSupportingTokens();
if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
return true;
}
supportingTokens = rpd.getEncryptedSupportingTokens();
if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
return true;
}
supportingTokens = rpd.getSignedEncryptedSupportingTokens();
if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
return true;
}
supportingTokens = rpd.getEndorsingEncryptedSupportingTokens();
if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
return true;
}
supportingTokens = rpd.getSignedEndorsingEncryptedSupportingTokens();
if (supportingTokens != null && supportingTokens.getTokens().size() != 0) {
return true;
}
}
return false;
}