org.nhindirect.stagent.cert
Class X509CertificateEx

java.lang.Object
  extended by java.security.cert.Certificate
      extended by java.security.cert.X509Certificate
          extended by org.nhindirect.stagent.cert.X509CertificateEx
All Implemented Interfaces:
java.io.Serializable, java.security.cert.X509Extension

public class X509CertificateEx
extends java.security.cert.X509Certificate

Extended X509 certificate that contains private key information.

Author:
Greg Meyer
See Also:
Serialized Form

Method Summary
 void checkValidity()
           
 void checkValidity(java.util.Date date)
           
 boolean equals(java.lang.Object other)
           
static X509CertificateEx fromX509Certificate(java.security.cert.X509Certificate cert, java.security.PrivateKey privKey)
          Creates X509CertificateEx object from an existing certificate and its private key.
 int getBasicConstraints()
           
 java.util.Set<java.lang.String> getCriticalExtensionOIDs()
          
 byte[] getEncoded()
           
 java.util.List<java.lang.String> getExtendedKeyUsage()
           
 byte[] getExtensionValue(java.lang.String oid)
          
 java.util.Collection<java.util.List<?>> getIssuerAlternativeNames()
           
 java.security.Principal getIssuerDN()
           
 boolean[] getIssuerUniqueID()
           
 javax.security.auth.x500.X500Principal getIssuerX500Principal()
           
 boolean[] getKeyUsage()
           
 java.util.Set<java.lang.String> getNonCriticalExtensionOIDs()
          
 java.util.Date getNotAfter()
           
 java.util.Date getNotBefore()
           
 java.security.PrivateKey getPrivateKey()
          Gets the certificates private key.
 java.security.PublicKey getPublicKey()
           
 java.math.BigInteger getSerialNumber()
           
 java.lang.String getSigAlgName()
           
 java.lang.String getSigAlgOID()
           
 byte[] getSigAlgParams()
           
 byte[] getSignature()
           
 java.util.Collection<java.util.List<?>> getSubjectAlternativeNames()
           
 java.security.Principal getSubjectDN()
           
 boolean[] getSubjectUniqueID()
           
 javax.security.auth.x500.X500Principal getSubjectX500Principal()
           
 byte[] getTBSCertificate()
           
 int getVersion()
           
 int hashCode()
           
 boolean hasPrivateKey()
          Indicates if the certificate contains its private key.
 boolean hasUnsupportedCriticalExtension()
          
 java.lang.String toString()
           
 void verify(java.security.PublicKey key)
           
 void verify(java.security.PublicKey key, java.lang.String sigProvider)
           
 
Methods inherited from class java.security.cert.Certificate
getType
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

fromX509Certificate

public static X509CertificateEx fromX509Certificate(java.security.cert.X509Certificate cert,
                                                    java.security.PrivateKey privKey)
Creates X509CertificateEx object from an existing certificate and its private key.

Parameters:
cert - The original certificate.
privKey - The certificates private key.
Returns:
A certificate wrapper that contains the original certificates and its private key.

checkValidity

public void checkValidity()
                   throws java.security.cert.CertificateExpiredException,
                          java.security.cert.CertificateNotYetValidException
Specified by:
checkValidity in class java.security.cert.X509Certificate
Throws:
java.security.cert.CertificateExpiredException
java.security.cert.CertificateNotYetValidException

checkValidity

public void checkValidity(java.util.Date date)
                   throws java.security.cert.CertificateExpiredException,
                          java.security.cert.CertificateNotYetValidException
Specified by:
checkValidity in class java.security.cert.X509Certificate
Throws:
java.security.cert.CertificateExpiredException
java.security.cert.CertificateNotYetValidException

getBasicConstraints

public int getBasicConstraints()
Specified by:
getBasicConstraints in class java.security.cert.X509Certificate

getExtendedKeyUsage

public java.util.List<java.lang.String> getExtendedKeyUsage()
                                                     throws java.security.cert.CertificateParsingException
Overrides:
getExtendedKeyUsage in class java.security.cert.X509Certificate
Throws:
java.security.cert.CertificateParsingException

getIssuerAlternativeNames

public java.util.Collection<java.util.List<?>> getIssuerAlternativeNames()
                                                                  throws java.security.cert.CertificateParsingException
Overrides:
getIssuerAlternativeNames in class java.security.cert.X509Certificate
Throws:
java.security.cert.CertificateParsingException

getIssuerDN

public java.security.Principal getIssuerDN()
Specified by:
getIssuerDN in class java.security.cert.X509Certificate

getIssuerUniqueID

public boolean[] getIssuerUniqueID()
Specified by:
getIssuerUniqueID in class java.security.cert.X509Certificate

getIssuerX500Principal

public javax.security.auth.x500.X500Principal getIssuerX500Principal()
Overrides:
getIssuerX500Principal in class java.security.cert.X509Certificate

getKeyUsage

public boolean[] getKeyUsage()
Specified by:
getKeyUsage in class java.security.cert.X509Certificate

getNotAfter

public java.util.Date getNotAfter()
Specified by:
getNotAfter in class java.security.cert.X509Certificate

getNotBefore

public java.util.Date getNotBefore()
Specified by:
getNotBefore in class java.security.cert.X509Certificate

getSerialNumber

public java.math.BigInteger getSerialNumber()
Specified by:
getSerialNumber in class java.security.cert.X509Certificate

getSigAlgName

public java.lang.String getSigAlgName()
Specified by:
getSigAlgName in class java.security.cert.X509Certificate

getSigAlgOID

public java.lang.String getSigAlgOID()
Specified by:
getSigAlgOID in class java.security.cert.X509Certificate

getSigAlgParams

public byte[] getSigAlgParams()
Specified by:
getSigAlgParams in class java.security.cert.X509Certificate

getSignature

public byte[] getSignature()
Specified by:
getSignature in class java.security.cert.X509Certificate

getSubjectAlternativeNames

public java.util.Collection<java.util.List<?>> getSubjectAlternativeNames()
                                                                   throws java.security.cert.CertificateParsingException
Overrides:
getSubjectAlternativeNames in class java.security.cert.X509Certificate
Throws:
java.security.cert.CertificateParsingException

getSubjectDN

public java.security.Principal getSubjectDN()
Specified by:
getSubjectDN in class java.security.cert.X509Certificate

getSubjectUniqueID

public boolean[] getSubjectUniqueID()
Specified by:
getSubjectUniqueID in class java.security.cert.X509Certificate

getSubjectX500Principal

public javax.security.auth.x500.X500Principal getSubjectX500Principal()
Overrides:
getSubjectX500Principal in class java.security.cert.X509Certificate

getTBSCertificate

public byte[] getTBSCertificate()
                         throws java.security.cert.CertificateEncodingException
Specified by:
getTBSCertificate in class java.security.cert.X509Certificate
Throws:
java.security.cert.CertificateEncodingException

getVersion

public int getVersion()
Specified by:
getVersion in class java.security.cert.X509Certificate

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.security.cert.Certificate

getEncoded

public byte[] getEncoded()
                  throws java.security.cert.CertificateEncodingException
Specified by:
getEncoded in class java.security.cert.Certificate
Throws:
java.security.cert.CertificateEncodingException

getPublicKey

public java.security.PublicKey getPublicKey()
Specified by:
getPublicKey in class java.security.cert.Certificate

hashCode

public int hashCode()
Overrides:
hashCode in class java.security.cert.Certificate

toString

public java.lang.String toString()
Specified by:
toString in class java.security.cert.Certificate

verify

public void verify(java.security.PublicKey key)
            throws java.security.cert.CertificateException,
                   java.security.NoSuchAlgorithmException,
                   java.security.InvalidKeyException,
                   java.security.NoSuchProviderException,
                   java.security.SignatureException
Specified by:
verify in class java.security.cert.Certificate
Throws:
java.security.cert.CertificateException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.security.NoSuchProviderException
java.security.SignatureException

verify

public void verify(java.security.PublicKey key,
                   java.lang.String sigProvider)
            throws java.security.cert.CertificateException,
                   java.security.NoSuchAlgorithmException,
                   java.security.InvalidKeyException,
                   java.security.NoSuchProviderException,
                   java.security.SignatureException
Specified by:
verify in class java.security.cert.Certificate
Throws:
java.security.cert.CertificateException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.security.NoSuchProviderException
java.security.SignatureException

hasUnsupportedCriticalExtension

public boolean hasUnsupportedCriticalExtension()


getCriticalExtensionOIDs

public java.util.Set<java.lang.String> getCriticalExtensionOIDs()


getNonCriticalExtensionOIDs

public java.util.Set<java.lang.String> getNonCriticalExtensionOIDs()


getExtensionValue

public byte[] getExtensionValue(java.lang.String oid)


hasPrivateKey

public boolean hasPrivateKey()
Indicates if the certificate contains its private key.

Returns:
True if the certificate has access to its private key. False otherwise.

getPrivateKey

public java.security.PrivateKey getPrivateKey()
Gets the certificates private key.

Returns:
Gets the certificates private key.


Copyright © 2010-2011 HNIN Direct. All Rights Reserved.