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
Direct Known Subclasses:
EPPEncodedSignedMark

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_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(byte[] aSignedMarkArray)
          Create the EPPSignedMark object from the input byte[] (XML).
EPPSignedMark(EPPEncodedSignedMark aEncodedSignedMark)
          Convert an EPPEncodedSignedMark into an EPPSignedMark.
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.
 
Method Summary
 java.lang.Object clone()
          Clone EPPSignedMark.
protected  void decode(byte[] aSignedMarkArray)
          Create a DOM document from byte array.
 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 getAttrIdValue()
          Gets the "id" attribute value.
 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.
 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.
 java.lang.String toString()
          Implementation of Object.toString, which will result in an indented XML String representation of the concrete EPPCodecComponent.
 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, 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
Constructor Detail

EPPSignedMark

public EPPSignedMark()
Create an EPPSignedMark instance.


EPPSignedMark

public EPPSignedMark(EPPEncodedSignedMark aEncodedSignedMark)
Convert an EPPEncodedSignedMark into an EPPSignedMark.

Parameters:
aEncodedSignedMark - EPPEncodedSignedMark to convert from.

EPPSignedMark

public EPPSignedMark(java.lang.String aId,
                     EPPIssuer aIssuer,
                     java.util.Date aNotBefore,
                     java.util.Date aNotAfter,
                     EPPMark aMark)
              throws EPPEncodeException,
                     EPPDecodeException
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). Once object is created using this constructor, one should not update the Mark object. In case mark object get updated, changes will not be included in XML/signature.

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
Throws:
EPPEncodeException - Thrown if any errors prevent encoding.
EPPDecodeException - Error decoding the Issuer or Mark object.

EPPSignedMark

public EPPSignedMark(byte[] aSignedMarkArray)
              throws EPPDecodeException
Create the EPPSignedMark object from the input byte[] (XML).

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

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

decode

protected void decode(byte[] aSignedMarkArray)
               throws EPPDecodeException
Create a DOM document from byte array. Initialized the instance variables like mark, issuer etc. Sets the signedMarkElement.

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

encode

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

Returns:
byte[] representing 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.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Clone EPPSignedMark. Signature element is not cloned.

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. 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.

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.

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

getId

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

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

getIssuer

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

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

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.

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.

getMark

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

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

getAttrIdValue

public java.lang.String getAttrIdValue()
Gets the "id" attribute value.

Returns:
Value of the "id" attribute value.

toString

public java.lang.String toString()
Implementation of Object.toString, which will result in an indented XML String representation of the concrete EPPCodecComponent.

Overrides:
toString in class java.lang.Object
Returns:
Indented XML String if successful; ERROR otherwise.


Copyright © VeriSign Inc. All Rights Reserved.