tr.gov.tubitak.uekae.esya.api.certificate.validation
Class CertificateValidation

java.lang.Object
  extended by tr.gov.tubitak.uekae.esya.api.certificate.validation.CertificateValidation

public class CertificateValidation
extends java.lang.Object

CertificateValidation class includes the main certificate validation routines After creating ( ValidationPolicy ), the validation can be performed by calling the static functions listed in this class The certificate validation algorithm consist of two process.The first one is Path Building and the second is Path Validation. Both of these operations are implemented according to Path Building and Basic Path Validation Algorithms described in RFC 5280(6.1). First a certificate path is built by path building process and then that path is tried to be validated by path validation process. Until a successfull path is found these two steps continue.

See Also:
ECertificate, ECRL, EOCSPResponse, CertificateStatusInfo, CRLStatusInfo, OCSPResponseStatusInfo

Constructor Summary
CertificateValidation()
           
 
Method Summary
static ValidationSystem createValidationSystem(ValidationPolicy aValidationPolicy)
          Create validation system from poliy
static CertificateStatusInfo validateCertificate(java.lang.String aPolicyFile, tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList)
          Validates certificate
static CertificateStatusInfo validateCertificate(ValidationPolicy aValidationPolicy, tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList)
          Validate certificate according to policy
static CertificateStatusInfo validateCertificate(ValidationSystem aValidationSystem, tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate)
          Validate certificate
static CertificateStatusInfo validateCertificateInPast(java.lang.String aPolicyFile, tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList, java.util.Calendar aBaseValidationTime, java.util.Calendar aLastRevocationTime)
          Validates certificate
static CertificateStatusInfo validateCertificateInPast(ValidationPolicy aValidationPolicy, tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList, java.util.Calendar aBaseValidationTime, java.util.Calendar aLastRevocationTime)
          Validate certificate according to policy in pat time
static java.util.Map<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate,CertificateStatusInfo> validateCertificates(java.lang.String aPolicyFile, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aCertificates, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList)
          Validates multiple certificates
static java.util.Map<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate,CertificateStatusInfo> validateCertificates(ValidationPolicy aValidationPolicy, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aCertificates, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList)
          Validates multiple certificates
static java.util.Map<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate,CertificateStatusInfo> validateCertificates(ValidationSystem aValidationSystem, java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aCertificates)
          Validates multiple ceritificates
static CRLStatusInfo validateCRL(java.lang.String aPolicyFile, tr.gov.tubitak.uekae.esya.api.asn.x509.ECRL aCRL)
          validate CRL according to policy
static CRLStatusInfo validateCRL(ValidationPolicy aValidationPolicy, tr.gov.tubitak.uekae.esya.api.asn.x509.ECRL aCRL)
          validate CRL according to policy
static CRLStatusInfo validateCRL(ValidationSystem aValidationSystem, tr.gov.tubitak.uekae.esya.api.asn.x509.ECRL aCRL)
          validate CRL according to validation system
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CertificateValidation

public CertificateValidation()
Method Detail

createValidationSystem

public static ValidationSystem createValidationSystem(ValidationPolicy aValidationPolicy)
                                               throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
Create validation system from poliy

Parameters:
aValidationPolicy - policy for
Returns:
a validation system
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong

validateCertificates

public static java.util.Map<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate,CertificateStatusInfo> validateCertificates(java.lang.String aPolicyFile,
                                                                                                                            java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aCertificates,
                                                                                                                            java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates,
                                                                                                                            java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList)
                                                                                                                     throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
Validates multiple certificates

Parameters:
aPolicyFile - XML policy config file
aCertificates - list of ceritificates for validation
aValidCertificates - known valid certificates
aUserInitialCertList - initial user defined ceritificates
Returns:
validation result per certificate
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong

validateCertificates

public static java.util.Map<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate,CertificateStatusInfo> validateCertificates(ValidationPolicy aValidationPolicy,
                                                                                                                            java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aCertificates,
                                                                                                                            java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates,
                                                                                                                            java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList)
                                                                                                                     throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
Validates multiple certificates

Parameters:
aValidationPolicy - validation policy
aCertificates - list of ceritificates to be validated
aValidCertificates - known valid certificates
aUserInitialCertList - initial user defined ceritificates
Returns:
validation result
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong

validateCertificates

public static java.util.Map<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate,CertificateStatusInfo> validateCertificates(ValidationSystem aValidationSystem,
                                                                                                                            java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aCertificates)
                                                                                                                     throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
Validates multiple ceritificates

Parameters:
aValidationSystem - validation parameters
aCertificates - list of ceritificates for validation
Returns:
validation result per certificate
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong

validateCertificate

public static CertificateStatusInfo validateCertificate(java.lang.String aPolicyFile,
                                                        tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate,
                                                        java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates,
                                                        java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList)
                                                 throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
Validates certificate

Parameters:
aPolicyFile - XML policy config file
aCertificate - for validation
aValidCertificates - known valid certificates
aUserInitialCertList - initial user defined ceritificates
Returns:
validation result
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong

validateCertificateInPast

public static CertificateStatusInfo validateCertificateInPast(java.lang.String aPolicyFile,
                                                              tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate,
                                                              java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates,
                                                              java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList,
                                                              java.util.Calendar aBaseValidationTime,
                                                              java.util.Calendar aLastRevocationTime)
                                                       throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
Validates certificate

Parameters:
aPolicyFile - XML policy config file
aCertificate - for validation
aValidCertificates - known valid certificates
aUserInitialCertList - initial user defined ceritificates
Returns:
validation result
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong

validateCertificate

public static CertificateStatusInfo validateCertificate(ValidationPolicy aValidationPolicy,
                                                        tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate,
                                                        java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates,
                                                        java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList)
                                                 throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
Validate certificate according to policy

Parameters:
aValidationPolicy - policy for validation
aCertificate - for validation
aValidCertificates - known valid certificates
aUserInitialCertList - initial user defined ceritificates
Returns:
validation result for certificate
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong

validateCertificateInPast

public static CertificateStatusInfo validateCertificateInPast(ValidationPolicy aValidationPolicy,
                                                              tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate,
                                                              java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aValidCertificates,
                                                              java.util.List<tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate> aUserInitialCertList,
                                                              java.util.Calendar aBaseValidationTime,
                                                              java.util.Calendar aLastRevocationTime)
                                                       throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
Validate certificate according to policy in pat time

Parameters:
aValidationPolicy - policy for validation
aCertificate - for validation
aValidCertificates - known valid certificates
aUserInitialCertList - initial user defined ceritificates
Returns:
validation result for certificate
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong

validateCertificate

public static CertificateStatusInfo validateCertificate(ValidationSystem aValidationSystem,
                                                        tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate)
                                                 throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
Validate certificate

Parameters:
aValidationSystem - that will be used for validation
aCertificate - for validation
Returns:
validation result for certificate
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong

validateCRL

public static CRLStatusInfo validateCRL(java.lang.String aPolicyFile,
                                        tr.gov.tubitak.uekae.esya.api.asn.x509.ECRL aCRL)
                                 throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
validate CRL according to policy

Parameters:
aPolicyFile - validation policy file
aCRL - to be validated
Returns:
CRL validation result
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong

validateCRL

public static CRLStatusInfo validateCRL(ValidationPolicy aValidationPolicy,
                                        tr.gov.tubitak.uekae.esya.api.asn.x509.ECRL aCRL)
                                 throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
validate CRL according to policy

Parameters:
aValidationPolicy - policy for validation
aCRL - to be validated
Returns:
CRL validation result
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong

validateCRL

public static CRLStatusInfo validateCRL(ValidationSystem aValidationSystem,
                                        tr.gov.tubitak.uekae.esya.api.asn.x509.ECRL aCRL)
                                 throws tr.gov.tubitak.uekae.esya.api.common.ESYAException
validate CRL according to validation system

Parameters:
aValidationSystem - validation system for validation
aCRL - to be validated
Returns:
CRL validation result
Throws:
tr.gov.tubitak.uekae.esya.api.common.ESYAException - if anything goes wrong