|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.opensaml.common.impl.SAMLObjectContentReference
public class SAMLObjectContentReference
A content reference for SAML objects that will be signed. The reference is created per the SAML specification.
The default digest algorithm used is the value configured in the global security configuration's
SecurityConfiguration.getSignatureReferenceDigestMethod()
, if available, otherwise
it will be SignatureConstants.ALGO_ID_DIGEST_SHA1
.
The default set of transforms applied consists of SignatureConstants.TRANSFORM_ENVELOPED_SIGNATURE
and SignatureConstants.TRANSFORM_C14N_EXCL_WITH_COMMENTS
.
When generating an exclusive canonicalization transform, an inclusive namespace list is
generated from the namespaces, retrieved from XMLObject.getNamespaces()
,
used by the SAML object to be signed and all of it's descendants.
Note that the SAML specification states that: 1) an exclusive canonicalization transform (either with or without comments) SHOULD be used. 2) transforms other than enveloped signature and one of the two exclusive canonicalizations SHOULD NOT be used. Careful consideration should be made before deviating from these recommendations.
Field Summary | |
---|---|
private String |
digestAlgorithm
Algorithm used to digest the content. |
private org.slf4j.Logger |
log
Class logger. |
private SignableSAMLObject |
signableObject
SAMLObject this reference refers to. |
private List<String> |
transforms
Transforms applied to the content. |
Constructor Summary | |
---|---|
SAMLObjectContentReference(SignableSAMLObject newSignableObject)
Constructor. |
Method Summary | |
---|---|
void |
createReference(org.apache.xml.security.signature.XMLSignature signature)
|
String |
getDigestAlgorithm()
Gets the algorithm used to digest the content. |
List<String> |
getTransforms()
Gets the transforms applied to the content prior to digest generation. |
private void |
populateNamespacePrefixes(Set<String> namespacePrefixes,
XMLObject signatureContent)
Populates the given set with the non-visibly used namespace prefixes used by the given XMLObject and all of its descendants, as determined by the signature content object's namespace manager. |
private void |
processExclusiveTransform(org.apache.xml.security.signature.XMLSignature signature,
org.apache.xml.security.transforms.Transform transform)
Populate the inclusive namspace prefixes on the specified Apache (exclusive) transform object. |
void |
setDigestAlgorithm(String newAlgorithm)
Sets the algorithm used to digest the content. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final org.slf4j.Logger log
private SignableSAMLObject signableObject
private String digestAlgorithm
private List<String> transforms
Constructor Detail |
---|
public SAMLObjectContentReference(SignableSAMLObject newSignableObject)
newSignableObject
- the SAMLObject this reference refers toMethod Detail |
---|
public List<String> getTransforms()
public String getDigestAlgorithm()
public void setDigestAlgorithm(String newAlgorithm)
newAlgorithm
- the algorithm used to digest the contentpublic void createReference(org.apache.xml.security.signature.XMLSignature signature)
createReference
in interface ContentReference
private void processExclusiveTransform(org.apache.xml.security.signature.XMLSignature signature, org.apache.xml.security.transforms.Transform transform)
signature
- the Apache XMLSignature objecttransform
- the Apache Transform object representing an exclusive transformprivate void populateNamespacePrefixes(Set<String> namespacePrefixes, XMLObject signatureContent)
namespacePrefixes
- the namespace prefix set to be populatedsignatureContent
- the XMLObject whose namespace prefixes will be used to populate the set
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |