Search in sources :

Example 1 with DigestAlgorithm

use of es.gob.jmulticard.CryptoHelper.DigestAlgorithm in project jmulticard by ctt-gob-es.

the class DigestInfo method encode.

/**
 * Codifica una estructura <code>DigestInfo</code>.
 * @param signingAlgorithm Algoritmo de huella digital o de firma electr&oacute;nica.
 * @param data Datos de los que obtener la estructura.
 * @param cryptoHelper Manejador de operaciones criptogr&aacute;ficas.
 * @return Estructura DigestInfo.
 * @throws IOException Cuando se produce algun error en la estrucura de la estructura.
 */
public static byte[] encode(final String signingAlgorithm, final byte[] data, final CryptoHelper cryptoHelper) throws IOException {
    final String normalizedSignningAlgorithm = getNormalizedSigningAlgorithm(signingAlgorithm);
    final DigestAlgorithm digestAlgorithm = getDigestAlgorithm(normalizedSignningAlgorithm);
    final byte[] header = selectHeaderTemplate(digestAlgorithm);
    final byte[] md = cryptoHelper.digest(digestAlgorithm, data);
    final byte[] digestInfo = new byte[header.length + md.length];
    System.arraycopy(header, 0, digestInfo, 0, header.length);
    System.arraycopy(md, 0, digestInfo, header.length, md.length);
    return digestInfo;
}
Also used : OctectString(es.gob.jmulticard.asn1.der.OctectString) DigestAlgorithm(es.gob.jmulticard.CryptoHelper.DigestAlgorithm)

Aggregations

DigestAlgorithm (es.gob.jmulticard.CryptoHelper.DigestAlgorithm)1 OctectString (es.gob.jmulticard.asn1.der.OctectString)1