Class IdAaSigningCertificate
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.signed.IdAaSigningCertificate
- All Implemented Interfaces:
SigningCertificateInterface,SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>,Cloneable,CertSelector,org.bouncycastle.util.Selector<Certificate>
public class IdAaSigningCertificate extends Object implements SigningCertificateInterface
O atributo IdAaSigningCertificate é designado para previnir o ataque de
substituição, e para permitir um conjunto restrito de certificados a serem
usados na verificação da assinatura.
Este atributo é obrigatório para todas as políticas do Padrão Brasileiro de Assinatura Digital.
Esta versão representa uma referência do certificado do signatário utilizando o algoritmo de hash SHA1.
SigningCertificate ::= SEQUENCE {
certs SEQUENCE OF ESSCertID,
policies SEQUENCE OF PolicyInformation OPTIONAL
}
- See Also:
- RFC 5035
-
Field Summary
Fields Modifier and Type Field Description protected List<org.bouncycastle.asn1.ess.ESSCertID>certsLista de identificadores dos certificadosstatic StringIDENTIFIERprotected AbstractVerifiersignatureVerifierObjeto de verificador -
Constructor Summary
Constructors Constructor Description IdAaSigningCertificate(AbstractVerifier signatureVerifier, Integer index)Deve-se utilizar este construtor no momento de validação do atributo.IdAaSigningCertificate(List<Certificate> certificates)Cria o atributo id-aa-signingCertificate a partir de uma lista de certificados.IdAaSigningCertificate(org.bouncycastle.asn1.cms.Attribute genericEncoding)Constrói um objetoIdAaSigningCertificate. -
Method Summary
Modifier and Type Method Description CertSelectorclone()Faz uma cópia deste objetoorg.bouncycastle.asn1.cms.AttributegetEncoded()Retorna o atributo codificadoList<org.bouncycastle.asn1.ess.ESSCertID>getESSCertID()Obtém todos os certificados que foram guardados no atributo signing certificate da assinatura.StringgetIdentifier()Retorna o identificador do atributobooleanisSigned()Informa se o atributo é assinadobooleanisUnique()Verifica se o atributo deve ter apenas uma instância na assinaturabooleanmatch(Certificate certificate)Verifica se o certificado dado é o mesmo que está no atributostatic booleanmatch(Certificate certificate, org.bouncycastle.asn1.ess.ESSCertID essCertID)voidvalidate()Valida o atributo de acordo com suas regras específicasMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface br.ufsc.labsec.signature.conformanceVerifier.common.SignatureAttribute
getValue
-
Field Details
-
IDENTIFIER
-
certs
Lista de identificadores dos certificados -
signatureVerifier
Objeto de verificador
-
-
Constructor Details
-
IdAaSigningCertificate
public IdAaSigningCertificate(AbstractVerifier signatureVerifier, Integer index) throws SignatureAttributeExceptionDeve-se utilizar este construtor no momento de validação do atributo. Este método decodifica todos os certificados que foram adicionados no atributo SigningCertificate, ou seja, ele funciona para os casos SignerOnly e FullPath.- Parameters:
signatureVerifier- Usado para criar e verificar o atributoindex- Este índide deve ser 0 para este atributo- Throws:
SignatureAttributeException
-
IdAaSigningCertificate
Cria o atributo id-aa-signingCertificate a partir de uma lista de certificados. Este método decodifica todos os certificados que foram adicionados no atributo SigningCertificate.- Parameters:
certificates- Lista de certificados que serão guardados no atributo signing certificate da assinatura- Throws:
SignatureAttributeException
-
IdAaSigningCertificate
public IdAaSigningCertificate(org.bouncycastle.asn1.cms.Attribute genericEncoding)Constrói um objetoIdAaSigningCertificate.- Parameters:
genericEncoding- O atributo codificado
-
-
Method Details
-
getIdentifier
Retorna o identificador do atributo- Specified by:
getIdentifierin interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>- Returns:
- O identificador do atributo
-
validate
Valida o atributo de acordo com suas regras específicas- Specified by:
validatein interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>- Throws:
SignatureAttributeException
-
getEncoded
public org.bouncycastle.asn1.cms.Attribute getEncoded()Retorna o atributo codificado- Specified by:
getEncodedin interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>- Returns:
- O atributo em formato ASN1
-
isSigned
public boolean isSigned()Informa se o atributo é assinado- Specified by:
isSignedin interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>- Returns:
- Indica se o atributo é assinado
-
getESSCertID
Obtém todos os certificados que foram guardados no atributo signing certificate da assinatura.- Specified by:
getESSCertIDin interfaceSigningCertificateInterface- Returns:
- A lista dos certificados do atributo
-
match
public static boolean match(Certificate certificate, org.bouncycastle.asn1.ess.ESSCertID essCertID) -
match
Verifica se o certificado dado é o mesmo que está no atributo- Specified by:
matchin interfaceCertSelector- Specified by:
matchin interfaceorg.bouncycastle.util.Selector<Certificate>- Parameters:
certificate- O certificado a ser comparado- Returns:
- Indica se o certificado dado é o mesmo que está no atributo
-
clone
Faz uma cópia deste objeto- Specified by:
clonein interfaceCertSelector- Specified by:
clonein interfaceorg.bouncycastle.util.Selector<Certificate>- Overrides:
clonein classObject- Returns:
- Uma cópia do objeto
-
isUnique
public boolean isUnique()Verifica se o atributo deve ter apenas uma instância na assinatura- Specified by:
isUniquein interfaceSignatureAttribute<org.bouncycastle.asn1.cms.Attribute>- Returns:
- Indica se o atributo deve ter apenas uma instância na assinatura
-