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ónica.
* @param data Datos de los que obtener la estructura.
* @param cryptoHelper Manejador de operaciones criptográ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;
}
Aggregations