Class EPPSignedCode
- java.lang.Object
-
- com.verisign.epp.codec.verificationcode.EPPSignedCode
-
- All Implemented Interfaces:
EPPCodecComponent,java.io.Serializable,java.lang.Cloneable
- Direct Known Subclasses:
EPPEncodedSignedCodeValue
public class EPPSignedCode extends java.lang.Object implements EPPCodecComponent
Class for the signed code, which contains the verification code and theXMLSignature.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringELM_SIGNED_CODEConstant for the code tag for signedCode elementstatic java.lang.StringELM_SIGNED_CODE_LOCALNAMEConstant for the code local name for signedCode element
-
Constructor Summary
Constructors Constructor Description EPPSignedCode()Create anEPPSignedCodeinstance.EPPSignedCode(byte[] aSignedCodeArray)Create theEPPSignedCodeobject from the inputbyte[](XML).EPPSignedCode(EPPEncodedSignedCodeValue aEncodedSignedCode)Convert anEPPEncodedSignedCodeinto anEPPSignedCode.EPPSignedCode(EPPVerificationCode aCode)Create anEPPSignedCodewith the code of the signed code.EPPSignedCode(java.lang.String aCode, java.lang.String aType)Create anEPPSignedCodewith the type and code of the signed code.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()CloneEPPSignedCode.voiddecode(byte[] aSignedCodeArray)Create a DOM document from byte array.voiddecode(org.w3c.dom.Element aElement)Decode theEPPSignedCodecomponentbyte[]encode()Encode the signed code to abyte[].org.w3c.dom.Elementencode(org.w3c.dom.Document aDocument)Sets all this instance's data in the given XML documentbooleanequals(java.lang.Object aObject)implements a deepEPPSignedCodecompare.java.lang.StringgetAttrIdValue()Gets the "id" attribute value.EPPVerificationCodegetCode()Gets the code value associated with the signed code.java.lang.StringgetCodeType()Gets the code type of the contained code.java.lang.StringgetCodeValue()Gets the code value of the contained code.java.lang.StringgetLocalName()Gets the XML local name for the signed code.java.lang.StringgetNamespace()Returns the XML namespace associated with theEPPCodecComponent.java.security.cert.TrustAnchorgetTrustAnchor()Gets the Trust Anchor associated with the validated signed code.booleanhasTrustAnchor()Has the Trust Anchor been set?voidsign(java.security.PrivateKey aPrivateKey)Digitally sign the signed code using the passed private key.voidsign(java.security.PrivateKey aPrivateKey, java.security.cert.Certificate[] aCertChain)Digitally sign the signed code using the passed private key and a chain of certificates.java.lang.StringtoString()Implementation ofObject.toString, which will result in an indented XMLStringrepresentation of the concreteEPPCodecComponent.booleanvalidate(java.security.cert.PKIXParameters aPKIXParameters)Validate the signature attribute against the signed code attributes by using the public key of the certificate or the top certificate in the certificate chain contained in theXMLSignaturewith using the passed PKIX parameters to the PKIXCertPathValidatoralgorithm.booleanvalidate(java.security.cert.PKIXParameters aPKIXParameters, boolean aSynchronizePKIXParameters)Validate the signature attribute against the signed code attributes by using the public key of the certificate or the top certificate in the certificate chain contained in theXMLSignaturewith using the passed PKIX parameters to the PKIXCertPathValidatoralgorithm.booleanvalidate(java.security.PublicKey aPublicKey)Validate the signature attribute against the signed code attributes.
-
-
-
Field Detail
-
ELM_SIGNED_CODE_LOCALNAME
public static final java.lang.String ELM_SIGNED_CODE_LOCALNAME
Constant for the code local name for signedCode element- See Also:
- Constant Field Values
-
ELM_SIGNED_CODE
public static final java.lang.String ELM_SIGNED_CODE
Constant for the code tag for signedCode element- See Also:
- Constant Field Values
-
-
Constructor Detail
-
EPPSignedCode
public EPPSignedCode()
Create anEPPSignedCodeinstance.
-
EPPSignedCode
public EPPSignedCode(EPPEncodedSignedCodeValue aEncodedSignedCode)
Convert anEPPEncodedSignedCodeinto anEPPSignedCode.- Parameters:
aEncodedSignedCode-EPPEncodedSignedCodeto convert from.
-
EPPSignedCode
public EPPSignedCode(EPPVerificationCode aCode) throws EPPEncodeException
Create anEPPSignedCodewith the code of the signed code. The default encoding is XML and the signature must be generated by callingsign(PrivateKey). Once the object is created using this constructor, one should not update the object. In the case the object gets updated, changes will not be included in XML/signature.- Parameters:
aCode- Verification code- Throws:
EPPEncodeException- Thrown if any errors prevent encoding.
-
EPPSignedCode
public EPPSignedCode(java.lang.String aCode, java.lang.String aType) throws EPPEncodeExceptionCreate anEPPSignedCodewith the type and code of the signed code. The default encoding is XML and the signature must be generated by callingsign(PrivateKey). Once the object is created using this constructor, one should not update the object. In the case the object gets updated, changes will not be included in XML/signature.- Parameters:
aCode- Verification codeaType- Type of the verification code- Throws:
EPPEncodeException- Thrown if any errors prevent encoding.
-
EPPSignedCode
public EPPSignedCode(byte[] aSignedCodeArray) throws EPPDecodeExceptionCreate theEPPSignedCodeobject from the inputbyte[](XML).- Parameters:
aSignedCodeArray-byte[]to decode the attribute values- Throws:
EPPDecodeException- Error decoding thebyte[].
-
-
Method Detail
-
decode
public void decode(org.w3c.dom.Element aElement) throws EPPDecodeExceptionDecode theEPPSignedCodecomponent- Specified by:
decodein interfaceEPPCodecComponent- Parameters:
aElement- Root element of theEPPSignedCode- Throws:
EPPDecodeException- Error decoding theEPPSignedCode
-
decode
public void decode(byte[] aSignedCodeArray) throws EPPDecodeExceptionCreate a DOM document from byte array. Initialized the instance variables like code, issuer etc. Sets the signedCodeElement.- Parameters:
aSignedCodeArray-byte[]to decode the attribute values- Throws:
EPPDecodeException- Error decoding thebyte[].
-
encode
public byte[] encode() throws EPPEncodeExceptionEncode the signed code to abyte[].- Returns:
byte[]representing signed code- Throws:
EPPEncodeException- Error encoding the signed code
-
encode
public org.w3c.dom.Element encode(org.w3c.dom.Document aDocument) throws EPPEncodeExceptionSets all this instance's data in the given XML document- Specified by:
encodein interfaceEPPCodecComponent- 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.CloneNotSupportedExceptionCloneEPPSignedCode. Signature element is not cloned.- Specified by:
clonein interfaceEPPCodecComponent- Overrides:
clonein classjava.lang.Object- Returns:
- clone of
EPPSignedCode - Throws:
java.lang.CloneNotSupportedException- standard Object.clone exception
-
sign
public void sign(java.security.PrivateKey aPrivateKey) throws EPPExceptionDigitally sign the signed code using the passed private key. No certificates will be added using this method. If certificates need to be added usesign(PrivateKey, Certificate[]).- Parameters:
aPrivateKey- Private key used to sign the signed code- Throws:
EPPException- Error creating the digital signature
-
sign
public void sign(java.security.PrivateKey aPrivateKey, java.security.cert.Certificate[] aCertChain) throws EPPExceptionDigitally sign the signed code using the passed private key and a chain of certificates.- Parameters:
aPrivateKey- Private key used to sign the signed codeaCertChain- Certificate chain to include in the XMLSignature associated with the private key. Passnullto 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 code attributes by using the public key of the certificate or the top certificate in the certificate chain contained in theXMLSignaturewith using the passed PKIX parameters to the PKIXCertPathValidatoralgorithm. The trust store can be loaded and used to create an instance ofPKIXParametersto verify the certificate chain included in theXMLSignaturewith the trust anchors included in the trust store. This method will automatically synchronize theaPKIXParametersparameter when used, since it is not thread-safe. Usevalidate(PKIXParameters, boolean)to explicitly set theaPKIXParameterssynchronization setting.- Parameters:
aPKIXParameters- Parameters used as input for the PKIXCertPathValidatoralgorithm.- Returns:
trueif valid;falseotherwise.
-
validate
public boolean validate(java.security.cert.PKIXParameters aPKIXParameters, boolean aSynchronizePKIXParameters)Validate the signature attribute against the signed code attributes by using the public key of the certificate or the top certificate in the certificate chain contained in theXMLSignaturewith using the passed PKIX parameters to the PKIXCertPathValidatoralgorithm. The trust store can be loaded and used to create an instance ofPKIXParametersto verify the certificate chain included in theXMLSignaturewith the trust anchors included in the trust store.- Parameters:
aPKIXParameters- Parameters used as input for the PKIXCertPathValidatoralgorithm.aSynchronizePKIXParameters- Should theaPKIXParametersbe synchronized inside the method? If there is no reason to synchronize, thenfalsecan be passed to increase performance.- Returns:
trueif valid;falseotherwise.
-
validate
public boolean validate(java.security.PublicKey aPublicKey)
Validate the signature attribute against the signed code attributes.- Parameters:
aPublicKey- Public used to validate the signature- Returns:
trueif valid;falseotherwise.
-
equals
public boolean equals(java.lang.Object aObject)
implements a deepEPPSignedCodecompare.- Overrides:
equalsin classjava.lang.Object- Parameters:
aObject-EPPSignedCodeinstance to compare with- Returns:
- true if equal false otherwise
-
getLocalName
public java.lang.String getLocalName()
Gets the XML local name for the signed code.- Returns:
- Either
ELM_SIGNED_MARK_LOCALNAMEorELM_ENCODED_SIGNED_MARK_LOCALNAME
-
getCode
public EPPVerificationCode getCode()
Gets the code value associated with the signed code.- Returns:
- The code associated with the signed code if defined:
nullotherwise.
-
getCodeValue
public java.lang.String getCodeValue()
Gets the code value of the contained code.- Returns:
- Verification code value
-
getCodeType
public java.lang.String getCodeType()
Gets the code type of the contained code.- Returns:
- Verification code type
-
getAttrIdValue
public java.lang.String getAttrIdValue()
Gets the "id" attribute value.- Returns:
- Value of the "id" attribute value.
-
hasTrustAnchor
public boolean hasTrustAnchor()
Has the Trust Anchor been set?- Returns:
trueif the Trust Anchor has been set;falseotherwise.
-
getTrustAnchor
public java.security.cert.TrustAnchor getTrustAnchor()
Gets the Trust Anchor associated with the validated signed code.- Returns:
- Trust Anchor if defined;
nullotherwise.
-
toString
public java.lang.String toString()
Implementation ofObject.toString, which will result in an indented XMLStringrepresentation of the concreteEPPCodecComponent.- Overrides:
toStringin classjava.lang.Object- Returns:
- Indented XML
Stringif successful;ERRORotherwise.
-
getNamespace
public java.lang.String getNamespace()
Returns the XML namespace associated with theEPPCodecComponent.- Specified by:
getNamespacein interfaceEPPCodecComponent- Returns:
- XML namespace for the
EPPCodecComponent.
-
-