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 String
ENC_KEY_SHA1_URI
static String
SECURITY_TOKEN_REFERENCE
static String
SKI_URI
static QName
STR_QNAME
static String
THUMB_URI
static String
X509_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 void
addTokenType(String tokenType)
Add a wsse11:TokenType attribute to this SecurityTokenReferencevoid
addWSSENamespace()
Add the WSSE Namespace to this STR.void
addWSUNamespace()
Add the WSU Namespace to this STR.boolean
containsKeyIdentifier()
Method containsKeyIdentifier.boolean
containsReference()
Method containsReferenceboolean
containsX509Data()
Method containsX509Databoolean
containsX509IssuerSerial()
Method containsX509IssuerSerialboolean
equals(Object object)
Element
getElement()
Get the DOM element.Element
getFirstElement()
get the first child element.String
getID()
Get the idX509Certificate[]
getKeyIdentifier(Crypto crypto)
Gets the KeyIdentifier.String
getKeyIdentifierEncodingType()
String
getKeyIdentifierValue()
String
getKeyIdentifierValueType()
Reference
getReference()
Gets the Reference.byte[]
getSKIBytes()
String
getTokenType()
Get the wsse11:TokenType attribute of this SecurityTokenReferenceX509Certificate[]
getX509IssuerSerial(Crypto crypto)
Gets the certificate identified with X509 issuerSerial data.X509Certificate
getX509SKIAlias(Crypto crypto)
int
hashCode()
void
setID(String id)
set the id.void
setKeyIdentifier(String valueType, String keyIdVal)
void
setKeyIdentifier(String valueType, String keyIdVal, boolean base64)
void
setKeyIdentifier(X509Certificate cert)
Sets the KeyIdentifier Element as a X509 certificate.void
setKeyIdentifierEncKeySHA1(String value)
void
setKeyIdentifierSKI(X509Certificate cert, Crypto crypto)
Sets the KeyIdentifier Element as a X509 Subject-Key-Identifier (SKI).void
setKeyIdentifierThumb(X509Certificate cert)
Sets the KeyIdentifier Element as a Thumbprint.void
setReference(Reference ref)
set the reference.void
setUnknownElement(Element unknownElement)
Set an unknown element.String
toString()
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
Reference
element 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:KeyIdentifier
element, which is placed in thewsse:SecurityTokenReference
element.- 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:KeyIdentifier
element, which is placed in thewsse:SecurityTokenReference
element.- 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:KeyIdentifier
element, which is placed in thewsse:SecurityTokenReference
element.- 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
Element
child 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
SecurityTokenReference
contains awsse:Reference
element
-
containsX509IssuerSerial
public boolean containsX509IssuerSerial()
Method containsX509IssuerSerial- Returns:
- true if the
SecurityTokenReference
contains ads:IssuerSerial
element
-
containsX509Data
public boolean containsX509Data()
Method containsX509Data- Returns:
- true if the
SecurityTokenReference
contains ads:X509Data
element
-
containsKeyIdentifier
public boolean containsKeyIdentifier()
Method containsKeyIdentifier.- Returns:
- true if the
SecurityTokenReference
contains awsse:KeyIdentifier
element
-
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.
-
-