Package es.gob.jmulticard.asn1.icao
Class Sod
- java.lang.Object
-
- es.gob.jmulticard.asn1.DecoderObject
-
- es.gob.jmulticard.asn1.icao.Sod
-
public final class Sod extends DecoderObject
SOD de ICAO 9303. La implementación interna se apoya en BouncyCastle.
-
-
Field Summary
Fields Modifier and Type Field Description private java.security.cert.X509Certificate[]certificateChainprivate CryptoHelpercryptoHelperprivate LdsSecurityObjectldsSecurityObjectprivate byte[]ldsSecurityObjectBytesprivate static byteTAG
-
Constructor Summary
Constructors Constructor Description Sod(CryptoHelper ch)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddecodeValue()Decodifica el valor DER establecido comprobando que corresponde al esperado y formando las estructuras internas.java.security.cert.X509Certificate[]getCertificateChain()Obtiene la cadena de certificados del firmante del LDSSecurityObject.protected bytegetDefaultTag()Obtiene la etiqueta de tipo ASN.1 del objeto.LdsSecurityObjectgetLdsSecurityObject()Obtiene elLDSSecurityObject.byte[]getLdsSecurityObjectBytes()Obtiene la codificación binaria del LDSSecurityObject.java.lang.StringtoString()voidvalidateSignature()Valida la firma electrónica del SOD.-
Methods inherited from class es.gob.jmulticard.asn1.DecoderObject
checkTag, getBytes, getRawDerValue, setDerValue
-
-
-
-
Field Detail
-
cryptoHelper
private final transient CryptoHelper cryptoHelper
-
TAG
private static final byte TAG
- See Also:
- Constant Field Values
-
ldsSecurityObjectBytes
private transient byte[] ldsSecurityObjectBytes
-
ldsSecurityObject
private transient LdsSecurityObject ldsSecurityObject
-
certificateChain
private transient java.security.cert.X509Certificate[] certificateChain
-
-
Constructor Detail
-
Sod
public Sod(CryptoHelper ch)
Constructor.- Parameters:
ch- Clase de utilidad para operaciones criptográficas.
-
-
Method Detail
-
decodeValue
protected void decodeValue() throws Asn1Exception, TlvExceptionDescription copied from class:DecoderObjectDecodifica el valor DER establecido comprobando que corresponde al esperado y formando las estructuras internas.- Specified by:
decodeValuein classDecoderObject- Throws:
Asn1Exception- Si hay errores correspondientes a las estructuras ASN.1 DER.TlvException- Si hay errores relativos a los TLV DER.
-
validateSignature
public void validateSignature() throws TlvException, java.security.SignatureException, java.security.cert.CertificateException, java.io.IOException, Asn1ExceptionValida la firma electrónica del SOD.- Throws:
TlvException- Si el SOD no es un TLV correctamente formado.java.security.SignatureException- Si la firma no es válida.java.security.cert.CertificateException- Si hay problemas relacionados con los certificados de firma.java.io.IOException- Si los datos proporcionados no son una firma CMS/PKCS#7 bien formada.Asn1Exception- Si el SOD no contiene unLDSSecurityObjectválido.
-
getDefaultTag
protected byte getDefaultTag()
Description copied from class:DecoderObjectObtiene la etiqueta de tipo ASN.1 del objeto.- Specified by:
getDefaultTagin classDecoderObject- Returns:
- Etiqueta de tipo ASN.1 del objeto.
-
getLdsSecurityObjectBytes
public byte[] getLdsSecurityObjectBytes() throws java.security.SignatureException, java.security.cert.CertificateException, TlvException, java.io.IOException, Asn1ExceptionObtiene la codificación binaria del LDSSecurityObject. La obtención desencadena una validación de la firma electrónica del SOD.- Returns:
- Codificación binaria del LDSSecurityObject.
- Throws:
java.io.IOException- Si se encunetra alguna estructura ASN.1 mal formada.java.security.cert.CertificateException- Si los certificados de firma del SOD presentan problemas.java.security.SignatureException- Si la firma del SOD es inválida o presenta problemas.TlvException- Si el SOD del documento no es un TLV válido.Asn1Exception- Si el SOD no contiene unLDSSecurityObjectválido.
-
getLdsSecurityObject
public LdsSecurityObject getLdsSecurityObject() throws TlvException, Asn1Exception, java.io.IOException, java.security.SignatureException, java.security.cert.CertificateException
Obtiene elLDSSecurityObject. La obtención desencadena una validación de la firma electrónica del SOD.- Returns:
- LDSSecurityObject.
- Throws:
TlvException- Si el SOD del documento no es un TLV válido.java.io.IOException- Si no se puede construir elLDSSecurityObject.Asn1Exception- Si los datos encontrados no conforman unLDSSecurityObjectválido.java.security.cert.CertificateException- Si los certificados de firma del SOD presentan problemas.java.security.SignatureException- Si la firma del SOD es inválida o presenta problemas.
-
getCertificateChain
public java.security.cert.X509Certificate[] getCertificateChain() throws TlvException, Asn1Exception, java.security.SignatureException, java.security.cert.CertificateException, java.io.IOExceptionObtiene la cadena de certificados del firmante del LDSSecurityObject. La obtención desencadena una validación de la firma electrónica del SOD.- Returns:
- Cadena de certificados del firmante del LDSSecurityObject.
- Throws:
TlvException- Si el SOD del documento no es un TLV válido.Asn1Exception- Si el SOD del documento no es un tipo ASN.1 válido.java.io.IOException- Si se encunetra alguna estructura ASN.1 mal formada.java.security.cert.CertificateException- Si los certificados de firma del SOD presentan problemas.java.security.SignatureException- Si la firma del SOD es inválida o presenta problemas.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-