com.verisign.epp.codec.signedMark
Class EPPSignedMark

java.lang.Object
  extended by com.verisign.epp.codec.signedMark.EPPSignedMark
All Implemented Interfaces:
EPPCodecComponent, java.io.Serializable, java.lang.Cloneable

public class EPPSignedMark
extends java.lang.Object
implements EPPCodecComponent

Class for the signed mark, which contains the mark (EPPMark), and additional elements associated with the signing of the mark like the serial number of the signed mark, the expiration of the signed mark, and the XMLSignature itself.

See Also:
Serialized Form

Field Summary
static java.lang.String ELM_ENCODED_SIGNED_MARK_LOCALNAME
          Constant for the mark local name for signedMark element
static java.lang.String ELM_ENCODED_SIGNED_MARK_NAME
          Constant for the mark tag for signedMark element
static java.lang.String ELM_SIGNED_MARK_LOCALNAME
          Constant for the mark local name for signedMark element
static java.lang.String ELM_SIGNED_MARK_NAME
          Constant for the mark tag for signedMark element
static java.lang.String NS
          Namespace URI associated with EPPLaunchExtFactory.
static java.lang.String NS_PREFIX
          Namespace prefix associated with EPPLaunchExtFactory.
static java.lang.String NS_SCHEMA
          XML Schema definition for EPPLaunchExtFactory
 
Constructor Summary
EPPSignedMark()
          Create an EPPSignedMark instance.
EPPSignedMark(java.lang.String aId, EPPIssuer aIssuer, java.util.Date aNotBefore, java.util.Date aNotAfter, EPPMark aMark)
          Create an EPPSignedMark with the id, issuer, not before date, not after date, and the mark attributes of the signed mark.
EPPSignedMark(java.lang.String aId, EPPIssuer aIssuer, java.util.Date aNotBefore, java.util.Date aNotAfter, EPPMark aMark, boolean aBase64Encoded)
          Create an EPPSignedMark will all of the attributes except for the signature that must be generated by calling sign(PrivateKey).
 
Method Summary
 java.lang.Object clone()
          Clone EPPSignedMark.
 void decode(byte[] aSignedMarkArray)
          Decode the EPPSignedMark attributes from the input byte[].
 void decode(org.w3c.dom.Element aElement)
          Decode the EPPSignedMark component
 byte[] encode()
          Encode the signed mark to a byte[].
 org.w3c.dom.Element encode(org.w3c.dom.Document aDocument)
          Sets all this instance's data in the given XML document
 boolean equals(java.lang.Object aObject)
          implements a deep EPPSignedMark compare.
 java.lang.String getId()
          Gets the identifier of the signed mark.
 EPPIssuer getIssuer()
          Gets issuer of the signed mark.
 java.lang.String getLocalName()
          Gets the XML local name for the signed mark.
 EPPMark getMark()
          Gets the mark associated with the signed mark.
 java.util.Date getNotAfter()
          Gets the date of expiration of the signed mark.
 java.util.Date getNotBefore()
          Gets the date of creation of the signed mark.
 javax.xml.crypto.dsig.XMLSignature getSignature()
          Gets the XMLSignature associated with the signed mark.
 org.w3c.dom.Element getSignatureElement()
          The DOM Element of the XMLSignature.
 boolean isBase64Encode()
          Gets if the signed mark should be encoded in Base64 with the <encodedSignedMark> root element.
 void setBase64Encode(boolean aBase64Encode)
          Sets if the signed mark should be encoded in Base64 with the <encodedSignedMark> root element.
 void setId(java.lang.String aId)
          Sets the identifier of the signed mark.
 void setIssuer(EPPIssuer aIssuer)
          Sets the issuer of the signed mark.
 void setLocalName(java.lang.String aLocalName)
          Sets the XML local name for the signed mark.
 void setMark(EPPMark aMark)
          Sets the mark associated with the signed mark.
 void setNotAfter(java.util.Date aNotAfter)
          Sets the date of expiration of the signed mark.
 void setNotBefore(java.util.Date aNotBefore)
          Sets the date of creation of the signed mark.
 void sign(java.security.PrivateKey aPrivateKey)
          Digitally sign the signed mark using the passed private key.
 void sign(java.security.PrivateKey aPrivateKey, java.security.cert.Certificate[] aCertChain)
          Digitally sign the signed mark using the passed private key and a chain of certificates.
 boolean validate(java.security.cert.PKIXParameters aPKIXParameters)
          Validate the signature attribute against the signed mark attributes by using the public key of the certificate or the top certificate in the certificate chain contained in the XMLSignature with using the passed PKIX parameters to the PKIX CertPathValidator algorithm.
 boolean validate(java.security.cert.PKIXParameters aPKIXParameters, boolean aSynchronizePKIXParameters)
          Validate the signature attribute against the signed mark attributes by using the public key of the certificate or the top certificate in the certificate chain contained in the XMLSignature with using the passed PKIX parameters to the PKIX CertPathValidator algorithm.
 boolean validate(java.security.PublicKey aPublicKey)
          Validate the signature attribute against the signed mark attributes.
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NS

public static final java.lang.String NS
Namespace URI associated with EPPLaunchExtFactory.

See Also:
Constant Field Values

NS_PREFIX

public static final java.lang.String NS_PREFIX
Namespace prefix associated with EPPLaunchExtFactory.

See Also:
Constant Field Values

NS_SCHEMA

public static final java.lang.String NS_SCHEMA
XML Schema definition for EPPLaunchExtFactory

See Also:
Constant Field Values

ELM_SIGNED_MARK_LOCALNAME

public static final java.lang.String ELM_SIGNED_MARK_LOCALNAME
Constant for the mark local name for signedMark element

See Also:
Constant Field Values

ELM_SIGNED_MARK_NAME

public static final java.lang.String ELM_SIGNED_MARK_NAME
Constant for the mark tag for signedMark element

See Also:
Constant Field Values

ELM_ENCODED_SIGNED_MARK_LOCALNAME

public static final java.lang.String ELM_ENCODED_SIGNED_MARK_LOCALNAME
Constant for the mark local name for signedMark element

See Also:
Constant Field Values

ELM_ENCODED_SIGNED_MARK_NAME

public static final java.lang.String ELM_ENCODED_SIGNED_MARK_NAME
Constant for the mark tag for signedMark element

See Also:
Constant Field Values
Constructor Detail

EPPSignedMark

public EPPSignedMark()
Create an EPPSignedMark instance. Use the setter methods to set the attributes of the instance.


EPPSignedMark

public EPPSignedMark(java.lang.String aId,
                     EPPIssuer aIssuer,
                     java.util.Date aNotBefore,
                     java.util.Date aNotAfter,
                     EPPMark aMark)
Create an EPPSignedMark with the id, issuer, not before date, not after date, and the mark attributes of the signed mark. The default encoding is XML and the signature must be generated by calling sign(PrivateKey).

Parameters:
aId - Identifier of signed mark
aIssuer - Signed mark issuer information
aNotBefore - Date and time that the signed mark was created.
aNotAfter - Date and time that the signed mark expires.
aMark - Mark information

EPPSignedMark

public EPPSignedMark(java.lang.String aId,
                     EPPIssuer aIssuer,
                     java.util.Date aNotBefore,
                     java.util.Date aNotAfter,
                     EPPMark aMark,
                     boolean aBase64Encoded)
Create an EPPSignedMark will all of the attributes except for the signature that must be generated by calling sign(PrivateKey).

Parameters:
aId - Identifier of signed mark
aIssuer - Signed mark issuer information
aNotBefore - Date and time that the signed mark was created.
aNotAfter - OPTIONAL date and time that the mark expires. If set to null there is no expiration.
aMark - Mark information
aBase64Encoded - Base64 encode the signed mark by enclosing in the <encodedSignedMark> element
Method Detail

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Clone EPPSignedMark.

Specified by:
clone in interface EPPCodecComponent
Overrides:
clone in class java.lang.Object
Returns:
clone of EPPSignedMark
Throws:
java.lang.CloneNotSupportedException - standard Object.clone exception

sign

public void sign(java.security.PrivateKey aPrivateKey)
          throws EPPException
Digitally sign the signed mark using the passed private key. The resulting signature is stored as an attribute. The signature can be retrieved with the getSignature() method. No certificates will be added using this method. If certificates need to be added use sign(PrivateKey, Certificate[]).

Parameters:
aPrivateKey - Private key used to sign the signed mark
Throws:
EPPException - Error creating the digital signature

sign

public void sign(java.security.PrivateKey aPrivateKey,
                 java.security.cert.Certificate[] aCertChain)
          throws EPPException
Digitally sign the signed mark using the passed private key and a chain of certificates. The resulting signature is stored as an attribute. The signature can be retrieved with the getSignature() method.

Parameters:
aPrivateKey - Private key used to sign the signed mark
aCertChain - Certificate chain to include in the XMLSignature associated with the private key. Pass null to not include the certificate chain in the XMLSignature.
Throws:
EPPException - Error creating the digital signature

validate

public boolean validate(java.security.cert.PKIXParameters aPKIXParameters)
Validate the signature attribute against the signed mark attributes by using the public key of the certificate or the top certificate in the certificate chain contained in the XMLSignature with using the passed PKIX parameters to the PKIX CertPathValidator algorithm. The trust store can be loaded and used to create an instance of PKIXParameters to verify the certificate chain included in the XMLSignature with the trust anchors included in the trust store. This method will automatically synchronize the aPKIXParameters parameter when used, since it is not thread-safe. Use validate(PKIXParameters, boolean) to explicitly set the aPKIXParameters synchronization setting.

Parameters:
aPKIXParameters - Parameters used as input for the PKIX CertPathValidator algorithm.
Returns:
true if valid; false otherwise.

validate

public boolean validate(java.security.cert.PKIXParameters aPKIXParameters,
                        boolean aSynchronizePKIXParameters)
Validate the signature attribute against the signed mark attributes by using the public key of the certificate or the top certificate in the certificate chain contained in the XMLSignature with using the passed PKIX parameters to the PKIX CertPathValidator algorithm. The trust store can be loaded and used to create an instance of PKIXParameters to verify the certificate chain included in the XMLSignature with the trust anchors included in the trust store.

Parameters:
aPKIXParameters - Parameters used as input for the PKIX CertPathValidator algorithm.
aSynchronizePKIXParameters - Should the aPKIXParameters be synchronized inside the method? If there is no reason to synchronize, then false can be passed to increase performance.
Returns:
true if valid; false otherwise.

validate

public boolean validate(java.security.PublicKey aPublicKey)
Validate the signature attribute against the signed mark attributes.

Parameters:
aPublicKey - Public used to validate the signature
Returns:
true if valid; false otherwise.

encode

public byte[] encode()
              throws EPPEncodeException
Encode the signed mark to a byte[].

Returns:
Encoded signed mark
Throws:
EPPEncodeException - Error encoding the signed mark

encode

public org.w3c.dom.Element encode(org.w3c.dom.Document aDocument)
                           throws EPPEncodeException
Sets all this instance's data in the given XML document

Specified by:
encode in interface EPPCodecComponent
Parameters:
aDocument - a DOM Document to attach data to.
Returns:
The root element of this component.
Throws:
EPPEncodeException - Thrown if any errors prevent encoding.

decode

public void decode(byte[] aSignedMarkArray)
            throws EPPDecodeException
Decode the EPPSignedMark attributes from the input byte[].

Parameters:
aSignedMarkArray - byte[] to decode the attribute values
Throws:
EPPDecodeException - Error decoding the byte[].

decode

public void decode(org.w3c.dom.Element aElement)
            throws EPPDecodeException
Decode the EPPSignedMark component

Specified by:
decode in interface EPPCodecComponent
Parameters:
aElement - Root element of the EPPSignedMark
Throws:
EPPDecodeException - Error decoding the EPPSignedMark

equals

public boolean equals(java.lang.Object aObject)
implements a deep EPPSignedMark compare.

Overrides:
equals in class java.lang.Object
Parameters:
aObject - EPPSignedMark instance to compare with
Returns:
true if equal false otherwise

getLocalName

public java.lang.String getLocalName()
Gets the XML local name for the signed mark.

Returns:
Either ELM_SIGNED_MARK_LOCALNAME or ELM_ENCODED_SIGNED_MARK_LOCALNAME

setLocalName

public void setLocalName(java.lang.String aLocalName)
Sets the XML local name for the signed mark.

Parameters:
aLocalName - Either ELM_SIGNED_MARK_LOCALNAME or ELM_ENCODED_SIGNED_MARK_LOCALNAME

getId

public java.lang.String getId()
Gets the identifier of the signed mark.

Returns:
The identifier for the signed mark if set; null otherwise.

setId

public void setId(java.lang.String aId)
Sets the identifier of the signed mark.

Parameters:
aId - Identifier of the signed mark.

getIssuer

public EPPIssuer getIssuer()
Gets issuer of the signed mark.

Returns:
The issuer of the signed mark if defined: null otherwise.

setIssuer

public void setIssuer(EPPIssuer aIssuer)
Sets the issuer of the signed mark.

Parameters:
aIssuer - Issuer of the signed mark.

getNotBefore

public java.util.Date getNotBefore()
Gets the date of creation of the signed mark.

Returns:
the date of creation of the signed mark if set; null otherwise.

setNotBefore

public void setNotBefore(java.util.Date aNotBefore)
Sets the date of creation of the signed mark.

Parameters:
aNotBefore - The date of creation of the signed mark

getNotAfter

public java.util.Date getNotAfter()
Gets the date of expiration of the signed mark.

Returns:
the date of expiration of the signed mark if set; null otherwise.

setNotAfter

public void setNotAfter(java.util.Date aNotAfter)
Sets the date of expiration of the signed mark.

Parameters:
aNotAfter - The date of expiration of the signed mark

getMark

public EPPMark getMark()
Gets the mark associated with the signed mark.

Returns:
The mark associated with the signed mark if defined: null otherwise.

setMark

public void setMark(EPPMark aMark)
Sets the mark associated with the signed mark.

Parameters:
aMark - Mark associated with the signed mark.

getSignature

public javax.xml.crypto.dsig.XMLSignature getSignature()
Gets the XMLSignature associated with the signed mark.

Returns:
XMLSignature instance if set; null otherwise.

getSignatureElement

public org.w3c.dom.Element getSignatureElement()
The DOM Element of the XMLSignature.

Returns:
The DOM Element of the XMLSignature if set; null otherwise.

isBase64Encode

public boolean isBase64Encode()
Gets if the signed mark should be encoded in Base64 with the <encodedSignedMark> root element. The default value is false.

Returns:
true if Base64 encode; false otherwise.

setBase64Encode

public void setBase64Encode(boolean aBase64Encode)
Sets if the signed mark should be encoded in Base64 with the <encodedSignedMark> root element.

Parameters:
aBase64Encode - true to Base64 encode; false otherwise.


Copyright © VeriSign Inc. All Rights Reserved.