|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.ws.security.message.WSSecBase
org.apache.ws.security.message.WSSecSignature
Creates a Signature according to WS Specification, X509 profile.
This class is a re-factored implementation of the previous WSS4J class
WSSignEnvlope
. This new class allows better control of
the process to create a Signature and to add it to the Security header.
The flexibility and fine granular control is required to implement a handler
that uses WSSecurityPolicy files to control the setup of a Security header.
Field Summary | |
protected BinarySecurity |
bstToken
|
protected java.lang.String |
canonAlgo
|
protected java.lang.String |
certUri
|
protected org.w3c.dom.Document |
document
|
protected org.apache.xml.security.keys.KeyInfo |
keyInfo
|
protected java.lang.String |
keyInfoUri
|
protected SecurityTokenReference |
secRef
|
protected org.apache.xml.security.signature.XMLSignature |
sig
|
protected java.lang.String |
sigAlgo
|
protected byte[] |
signatureValue
|
protected java.lang.String |
strUri
|
protected WSSecUsernameToken |
usernameToken
|
protected boolean |
useSingleCert
|
protected WSDocInfo |
wsDocInfo
|
Fields inherited from class org.apache.ws.security.message.WSSecBase |
doDebug, keyIdentifierType, parts, password, user, wssConfig |
Constructor Summary | |
WSSecSignature()
Constructor. |
Method Summary | |
void |
addReferencesToSign(java.util.Vector references,
WSSecHeader secHeader)
This method adds references to the Signature. |
void |
appendBSTElementToHeader(WSSecHeader secHeader)
|
void |
appendToHeader(WSSecHeader secHeader)
Appends the Signature element to the elements already in the Security header. |
org.w3c.dom.Document |
build(org.w3c.dom.Document doc,
Crypto cr,
WSSecHeader secHeader)
Builds a signed soap envelope. |
void |
computeSignature()
Compute the Signature over the references. |
protected org.w3c.dom.Element |
createSTRParameter(org.w3c.dom.Document doc)
|
org.w3c.dom.Element |
getBinarySecurityTokenElement()
Returns the BST Token element. |
java.lang.String |
getBSTTokenId()
Get the id of the BSt generated during prepare() . |
java.lang.String |
getDigestAlgo()
|
java.lang.String |
getId()
Get the id generated during prepare() . |
protected java.util.Set |
getInclusivePrefixes(org.w3c.dom.Element target)
|
protected java.util.Set |
getInclusivePrefixes(org.w3c.dom.Element target,
boolean excludeVisible)
|
java.lang.String |
getSigCanonicalization()
Get the canonicalization method. |
java.lang.String |
getSignatureAlgorithm()
Get the name of the signature algorithm that is being used. |
org.w3c.dom.Element |
getSignatureElement()
Returns the SignatureElement. |
byte[] |
getSignatureValue()
Returns the computed Signature value. |
boolean |
isUseSingleCertificate()
Get the single cert flag. |
void |
prepare(org.w3c.dom.Document doc,
Crypto cr,
WSSecHeader secHeader)
Initialize a WSSec Signature. |
void |
prependBSTElementToHeader(WSSecHeader secHeader)
Prepend the BinarySecurityToken to the elements already in the Security header. |
void |
prependToHeader(WSSecHeader secHeader)
Prepends the Signature element to the elements already in the Security header. |
void |
setCustomTokenId(java.lang.String customTokenId)
|
void |
setCustomTokenValueType(java.lang.String customTokenValueType)
|
void |
setDigestAlgo(java.lang.String digestAlgo)
Set the string that defines which digest algorithm to use |
void |
setEncrKeySha1value(java.lang.String encrKeySha1value)
|
void |
setSecretKey(byte[] secretKey)
|
void |
setSigCanonicalization(java.lang.String algo)
Set the canonicalization method to use. |
void |
setSignatureAlgorithm(java.lang.String algo)
Set the name of the signature encryption algorithm to use. |
void |
setUsernameToken(WSSecUsernameToken usernameToken)
|
void |
setUseSingleCertificate(boolean useSingleCert)
set the single cert flag. |
Methods inherited from class org.apache.ws.security.message.WSSecBase |
getKeyIdentifierType, setBodyID, setKeyIdentifierType, setParts, setUserInfo, setWsConfig, setWsuId |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected boolean useSingleCert
protected java.lang.String sigAlgo
protected java.lang.String canonAlgo
protected WSSecUsernameToken usernameToken
protected byte[] signatureValue
protected org.w3c.dom.Document document
protected WSDocInfo wsDocInfo
protected java.lang.String certUri
protected org.apache.xml.security.signature.XMLSignature sig
protected org.apache.xml.security.keys.KeyInfo keyInfo
protected java.lang.String keyInfoUri
protected SecurityTokenReference secRef
protected java.lang.String strUri
protected BinarySecurity bstToken
Constructor Detail |
public WSSecSignature()
Method Detail |
public void setUseSingleCertificate(boolean useSingleCert)
useSingleCert
- public boolean isUseSingleCertificate()
public void setSignatureAlgorithm(java.lang.String algo)
prepare()
method. Refer to WSConstants which algorithms are supported.
algo
- Is the name of the signature algorithmWSConstants.RSA
,
WSConstants.DSA
public java.lang.String getSignatureAlgorithm()
prepare
to get the information
which signature algorithm was automatically detected if no signature
algorithm was preset.
public void setSigCanonicalization(java.lang.String algo)
algo
- Is the name of the signature algorithmWSConstants.C14N_OMIT_COMMENTS
,
WSConstants.C14N_WITH_COMMENTS
,
WSConstants.C14N_EXCL_OMIT_COMMENTS
,
WSConstants.C14N_EXCL_WITH_COMMENTS
public java.lang.String getSigCanonicalization()
public java.lang.String getDigestAlgo()
public void setDigestAlgo(java.lang.String digestAlgo)
digestAlgo
- the digestAlgo to setpublic void setUsernameToken(WSSecUsernameToken usernameToken)
usernameToken
- The usernameToken to set.public byte[] getSignatureValue()
computeSignature()
or build()
methods were called.
public java.lang.String getId()
prepare()
.
Returns the the value of wsu:Id attribute of the Signature element.
prepare()
was not called before.public java.lang.String getBSTTokenId()
prepare()
.
public void prepare(org.w3c.dom.Document doc, Crypto cr, WSSecHeader secHeader) throws WSSecurityException
prependSignatureElementToHeader()
method.
doc
- The SOAP envelope as Document
cr
- An instance of the Crypto API to handle keystore and
certificatessecHeader
- The security header that will hold the Signature. This is used
to construct namespace prefixes for Signature. This method
WSSecurityException
public void addReferencesToSign(java.util.Vector references, WSSecHeader secHeader) throws WSSecurityException
computeSignature()
. This method can be called several
times to add references as required. addReferencesToSign()
can be called any time after prepare
.
references
- A vector containing WSEncryptionPart
objects
that define the parts to sign.secHeader
- Used to compute namespaces to be inserted by
InclusiveNamespaces to be WSI compliant.
WSSecurityException
public void prependToHeader(WSSecHeader secHeader)
prepare()
.
This allows to insert the Signature element at any position in the
Security header.
secHeader
- The secHeader that holds the Signature element.public void appendToHeader(WSSecHeader secHeader)
prepare()
.
This allows to insert the Signature element at any position in the
Security header.
secHeader
- The secHeader that holds the Signature element.public void prependBSTElementToHeader(WSSecHeader secHeader)
prepare()
.
This allows to insert the BST element at any position in the Security
header.
secHeader
- The security header that holds the BST element.public org.w3c.dom.Element getSignatureElement()
prepare()
.
public org.w3c.dom.Element getBinarySecurityTokenElement()
prepare()
.
public void appendBSTElementToHeader(WSSecHeader secHeader)
public void computeSignature() throws WSSecurityException
addReferencesToSign()
.
WSSecurityException
public org.w3c.dom.Document build(org.w3c.dom.Document doc, Crypto cr, WSSecHeader secHeader) throws WSSecurityException
doc
- The unsigned SOAP envelope as Document
cr
- An instance of the Crypto API to handle keystore and
certificatessecHeader
- the security header element to hold the encrypted key element.
Document
WSSecurityException
protected org.w3c.dom.Element createSTRParameter(org.w3c.dom.Document doc)
protected java.util.Set getInclusivePrefixes(org.w3c.dom.Element target)
protected java.util.Set getInclusivePrefixes(org.w3c.dom.Element target, boolean excludeVisible)
public void setSecretKey(byte[] secretKey)
public void setCustomTokenValueType(java.lang.String customTokenValueType)
public void setCustomTokenId(java.lang.String customTokenId)
public void setEncrKeySha1value(java.lang.String encrKeySha1value)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |