Class CertificateValidationService
java.lang.Object
br.ufsc.labsec.validationDataServices.services.CertificateValidationService
- All Implemented Interfaces:
CertificateValidation
- Direct Known Subclasses:
CertificateVerifier
Esta classe realiza a validação de um certificado e sua LCR
-
Nested Class Summary
Nested classes/interfaces inherited from interface CertificateValidation
CertificateValidation.Validate -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final booleanDefine o comportamento de validação de caminho de certificação.protected final ValidationServiceRepositoryInterfaceComponente de repositório PKCS12 -
Constructor Summary
ConstructorsConstructorDescriptionCertificateValidationService(ValidationServiceRepositoryInterface validationService) Construtor -
Method Summary
Modifier and TypeMethodDescriptioncreateCertStoreVariable(X509Certificate x509Certificate, Set<TrustAnchor> trustAnchors) Cria o conjunto de certificados na cadeia de certificação e LCRs do certificado dadogenerateCertPath(SignatureObject signature, org.bouncycastle.cert.X509AttributeCertificateHolder attributeCertificate, Set<TrustAnchor> trustAnchors) generateCertPath(Certificate certificate, Set<TrustAnchor> trustAnchors) Cria o caminho de certificação do certificado dado, no caso do caminho ser construído corretamente, popula-se as coleções de certificados utilizadas na verificação.generateCertPath(org.bouncycastle.cert.X509AttributeCertificateHolder attributeCertificate, Set<TrustAnchor> trustAnchors) validate(CertPath certPath, SignatureObject signatureObject, TrustAnchorProvider trustAnchorProvider, RevocationPolicyProvider revocationPolicyProvider, Date timeReference, boolean verifyAlgorithm, CertificateValidation.Validate validate) Valida o certificado e seu caminho de certificaçãovoidvalidateAttributeCertificateWithReport(SignatureObject signature, X509Certificate signerCertificate, TrustAnchorProvider trustAnchorProvider, RevocationPolicyProvider revocationPolicyProvider, CompleteWriter writer, List<Date> timeReferences) validateWithReport(CertPath certPath, SignatureObject signature, TrustAnchorProvider trustAnchorProvider, RevocationPolicyProvider revocationPolicyProvider, CertificateValidation.Validate validate, List<Date> timeReferences, CompleteWriter writer, ValidationDataReport attributeValidation) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CertificateValidation
validateAttributeCertificateWithReport, validateWithReport, validateWithReport
-
Field Details
-
SKIP_OLD_TIME_REFERENCES_WITH_NO_CACHE
public static final boolean SKIP_OLD_TIME_REFERENCES_WITH_NO_CACHEDefine o comportamento de validação de caminho de certificação.O `SKIP_OLD_TIME_REFERENCES_WITH_NO_CACHE` muda o resultado final no relatório. Considere nâo possuirmos certificados em cache e que no tempo atual o certificado esteja expirado.
O tempo do carimbo alega não ser possível determinar o estado de revogação. Mas esta verificação será ignorada, e o relatório dirá que o certificado está expirado (mesmo havendo um carimbo de tempo).
Se a primeira verificação nâo for ignorada, será mantido no relatório que nâo foi possível determinar o estado de revogação.
- See Also:
-
vsRepository
Componente de repositório PKCS12
-
-
Constructor Details
-
CertificateValidationService
Construtor- Parameters:
validationService- Componente de repositório PKCS12
-
-
Method Details
-
validateWithReport
public ValidationResult validateWithReport(CertPath certPath, SignatureObject signature, TrustAnchorProvider trustAnchorProvider, RevocationPolicyProvider revocationPolicyProvider, CertificateValidation.Validate validate, List<Date> timeReferences, CompleteWriter writer, ValidationDataReport attributeValidation) - Specified by:
validateWithReportin interfaceCertificateValidation
-
validate
public ValidationResult validate(CertPath certPath, SignatureObject signatureObject, TrustAnchorProvider trustAnchorProvider, RevocationPolicyProvider revocationPolicyProvider, Date timeReference, boolean verifyAlgorithm, CertificateValidation.Validate validate) throws CRLException Description copied from interface:CertificateValidationValida o certificado e seu caminho de certificação- Specified by:
validatein interfaceCertificateValidation- Parameters:
certPath- O caminho de certificados a ser validadosignatureObject- O objeto de assinatura relacionado à validaçãotrustAnchorProvider- O provedor de âncoras de confiançarevocationPolicyProvider- O provedor de políticas de revogaçãotimeReference- Data de referência da validaçãoverifyAlgorithm- sinaliza se os algoritmos de assinatura devem ser validados conforme a ICP-Brasil- Returns:
- O resultado da validação
- Throws:
CRLException
-
validateAttributeCertificateWithReport
public void validateAttributeCertificateWithReport(SignatureObject signature, X509Certificate signerCertificate, TrustAnchorProvider trustAnchorProvider, RevocationPolicyProvider revocationPolicyProvider, CompleteWriter writer, List<Date> timeReferences) - Specified by:
validateAttributeCertificateWithReportin interfaceCertificateValidation
-
generateCertPath
Cria o caminho de certificação do certificado dado, no caso do caminho ser construído corretamente, popula-se as coleções de certificados utilizadas na verificação.- Specified by:
generateCertPathin interfaceCertificateValidation- Parameters:
certificate- O certificadotrustAnchors- Conjunto de âncoras de confiança para o caminho de certificação- Returns:
- O caminho de certificação gerado
-
generateCertPath
public CertPath generateCertPath(org.bouncycastle.cert.X509AttributeCertificateHolder attributeCertificate, Set<TrustAnchor> trustAnchors) - Specified by:
generateCertPathin interfaceCertificateValidation
-
generateCertPath
public CertPath generateCertPath(SignatureObject signature, org.bouncycastle.cert.X509AttributeCertificateHolder attributeCertificate, Set<TrustAnchor> trustAnchors) - Specified by:
generateCertPathin interfaceCertificateValidation
-
createCertStoreVariable
public CertStore createCertStoreVariable(X509Certificate x509Certificate, Set<TrustAnchor> trustAnchors) Cria o conjunto de certificados na cadeia de certificação e LCRs do certificado dado- Parameters:
x509Certificate- O certificado no qual será construído oCertStoretrustAnchors- O conjunto de âncoras de confiança- Returns:
- O conjunto de certificados criado
-
getAiaCache
- Specified by:
getAiaCachein interfaceCertificateValidation
-