Package org.apache.wss4j.common.token
Class SecurityTokenReference
- java.lang.Object
-
- org.apache.wss4j.common.token.SecurityTokenReference
-
public class SecurityTokenReference extends Object
Security Token Reference.
-
-
Field Summary
Fields Modifier and Type Field Description static StringENC_KEY_SHA1_URIstatic StringSECURITY_TOKEN_REFERENCEstatic StringSKI_URIstatic QNameSTR_QNAMEstatic StringTHUMB_URIstatic StringX509_V3_TYPE
-
Constructor Summary
Constructors Constructor Description SecurityTokenReference(Document doc)Constructor.SecurityTokenReference(Element elem, BSPEnforcer bspEnforcer)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTokenType(String tokenType)Add a wsse11:TokenType attribute to this SecurityTokenReferencevoidaddWSSENamespace()Add the WSSE Namespace to this STR.voidaddWSUNamespace()Add the WSU Namespace to this STR.booleancontainsKeyIdentifier()Method containsKeyIdentifier.booleancontainsReference()Method containsReferencebooleancontainsX509Data()Method containsX509DatabooleancontainsX509IssuerSerial()Method containsX509IssuerSerialbooleanequals(Object object)ElementgetElement()Get the DOM element.ElementgetFirstElement()get the first child element.StringgetID()Get the idX509Certificate[]getKeyIdentifier(Crypto crypto)Gets the KeyIdentifier.StringgetKeyIdentifierEncodingType()StringgetKeyIdentifierValue()StringgetKeyIdentifierValueType()ReferencegetReference()Gets the Reference.byte[]getSKIBytes()StringgetTokenType()Get the wsse11:TokenType attribute of this SecurityTokenReferenceX509Certificate[]getX509IssuerSerial(Crypto crypto)Gets the certificate identified with X509 issuerSerial data.X509CertificategetX509SKIAlias(Crypto crypto)inthashCode()voidsetID(String id)set the id.voidsetKeyIdentifier(String valueType, String keyIdVal)voidsetKeyIdentifier(String valueType, String keyIdVal, boolean base64)voidsetKeyIdentifier(X509Certificate cert)Sets the KeyIdentifier Element as a X509 certificate.voidsetKeyIdentifierEncKeySHA1(String value)voidsetKeyIdentifierSKI(X509Certificate cert, Crypto crypto)Sets the KeyIdentifier Element as a X509 Subject-Key-Identifier (SKI).voidsetKeyIdentifierThumb(X509Certificate cert)Sets the KeyIdentifier Element as a Thumbprint.voidsetReference(Reference ref)set the reference.voidsetUnknownElement(Element unknownElement)Set an unknown element.StringtoString()return the string representation.
-
-
-
Field Detail
-
SECURITY_TOKEN_REFERENCE
public static final String SECURITY_TOKEN_REFERENCE
- See Also:
- Constant Field Values
-
STR_QNAME
public static final QName STR_QNAME
-
SKI_URI
public static final String SKI_URI
- See Also:
- Constant Field Values
-
THUMB_URI
public static final String THUMB_URI
- See Also:
- Constant Field Values
-
ENC_KEY_SHA1_URI
public static final String ENC_KEY_SHA1_URI
- See Also:
- Constant Field Values
-
X509_V3_TYPE
public static final String X509_V3_TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SecurityTokenReference
public SecurityTokenReference(Element elem, BSPEnforcer bspEnforcer) throws WSSecurityException
Constructor.- Parameters:
elem- A SecurityTokenReference elementbspEnforcer- a BSPEnforcer instance to enforce BSP rules- Throws:
WSSecurityException
-
SecurityTokenReference
public SecurityTokenReference(Document doc)
Constructor.- Parameters:
doc- The Document
-
-
Method Detail
-
addWSSENamespace
public void addWSSENamespace()
Add the WSSE Namespace to this STR. The namespace is not added by default for efficiency purposes.
-
addWSUNamespace
public void addWSUNamespace()
Add the WSU Namespace to this STR. The namespace is not added by default for efficiency purposes.
-
addTokenType
public void addTokenType(String tokenType)
Add a wsse11:TokenType attribute to this SecurityTokenReference- Parameters:
tokenType- the wsse11:TokenType attribute to add
-
getTokenType
public String getTokenType()
Get the wsse11:TokenType attribute of this SecurityTokenReference- Returns:
- the value of the wsse11:TokenType attribute
-
setReference
public void setReference(Reference ref)
set the reference.- Parameters:
ref-
-
getReference
public Reference getReference() throws WSSecurityException
Gets the Reference.- Returns:
- the
Referenceelement contained in this SecurityTokenReference - Throws:
WSSecurityException
-
setKeyIdentifier
public void setKeyIdentifier(X509Certificate cert) throws WSSecurityException
Sets the KeyIdentifier Element as a X509 certificate. Takes a X509 certificate, converts its data into base 64 and inserts it into awsse:KeyIdentifierelement, which is placed in thewsse:SecurityTokenReferenceelement.- Parameters:
cert- is the X509 certificate to be inserted as key identifier- Throws:
WSSecurityException
-
setKeyIdentifierSKI
public void setKeyIdentifierSKI(X509Certificate cert, Crypto crypto) throws WSSecurityException
Sets the KeyIdentifier Element as a X509 Subject-Key-Identifier (SKI). Takes a X509 certificate, gets the SKI data, converts it into base 64 and inserts it into awsse:KeyIdentifierelement, which is placed in thewsse:SecurityTokenReferenceelement.- Parameters:
cert- is the X509 certificate to get the SKIcrypto- is the Crypto implementation. Used to read SKI info bytes from certificate- Throws:
WSSecurityException
-
setKeyIdentifierThumb
public void setKeyIdentifierThumb(X509Certificate cert) throws WSSecurityException
Sets the KeyIdentifier Element as a Thumbprint. Takes a X509 certificate, computes its thumbprint using SHA-1, converts into base 64 and inserts it into awsse:KeyIdentifierelement, which is placed in thewsse:SecurityTokenReferenceelement.- Parameters:
cert- is the X509 certificate to get the thumbprint- Throws:
WSSecurityException
-
setKeyIdentifierEncKeySHA1
public void setKeyIdentifierEncKeySHA1(String value) throws WSSecurityException
- Throws:
WSSecurityException
-
setKeyIdentifier
public void setKeyIdentifier(String valueType, String keyIdVal) throws WSSecurityException
- Throws:
WSSecurityException
-
setKeyIdentifier
public void setKeyIdentifier(String valueType, String keyIdVal, boolean base64) throws WSSecurityException
- Throws:
WSSecurityException
-
getFirstElement
public Element getFirstElement()
get the first child element.- Returns:
- the first
Elementchild node
-
getKeyIdentifier
public X509Certificate[] getKeyIdentifier(Crypto crypto) throws WSSecurityException
Gets the KeyIdentifier.- Returns:
- the the X509 certificate or zero if a unknown key identifier type was detected.
- Throws:
WSSecurityException
-
getKeyIdentifierValue
public String getKeyIdentifierValue()
-
getKeyIdentifierValueType
public String getKeyIdentifierValueType()
-
getKeyIdentifierEncodingType
public String getKeyIdentifierEncodingType()
-
getX509SKIAlias
public X509Certificate getX509SKIAlias(Crypto crypto) throws WSSecurityException
- Throws:
WSSecurityException
-
getSKIBytes
public byte[] getSKIBytes()
-
setUnknownElement
public void setUnknownElement(Element unknownElement)
Set an unknown element.- Parameters:
unknownElement- the org.w3c.dom.Element to put into this SecurityTokenReference
-
getX509IssuerSerial
public X509Certificate[] getX509IssuerSerial(Crypto crypto) throws WSSecurityException
Gets the certificate identified with X509 issuerSerial data.- Returns:
- a certificate array or null if nothing found
- Throws:
WSSecurityException
-
containsReference
public boolean containsReference()
Method containsReference- Returns:
- true if the
SecurityTokenReferencecontains awsse:Referenceelement
-
containsX509IssuerSerial
public boolean containsX509IssuerSerial()
Method containsX509IssuerSerial- Returns:
- true if the
SecurityTokenReferencecontains ads:IssuerSerialelement
-
containsX509Data
public boolean containsX509Data()
Method containsX509Data- Returns:
- true if the
SecurityTokenReferencecontains ads:X509Dataelement
-
containsKeyIdentifier
public boolean containsKeyIdentifier()
Method containsKeyIdentifier.- Returns:
- true if the
SecurityTokenReferencecontains awsse:KeyIdentifierelement
-
getElement
public Element getElement()
Get the DOM element.- Returns:
- the DOM element
-
setID
public void setID(String id)
set the id.- Parameters:
id-
-
getID
public String getID()
Get the id- Returns:
- the wsu ID of the element
-
toString
public String toString()
return the string representation.
-
-