Example usage for org.bouncycastle.asn1.icao DataGroupHash DataGroupHash

List of usage examples for org.bouncycastle.asn1.icao DataGroupHash DataGroupHash

Introduction

In this page you can find the example usage for org.bouncycastle.asn1.icao DataGroupHash DataGroupHash.

Prototype

public DataGroupHash(int dataGroupNumber, ASN1OctetString dataGroupHashValue) 

Source Link

Usage

From source file:org.jmrtd.lds.SODFile.java

License:Open Source License

private static ContentInfo toContentInfo(String contentTypeOID, String digestAlgorithm,
        Map<Integer, byte[]> dataGroupHashes, String ldsVersion, String unicodeVersion)
        throws NoSuchAlgorithmException, IOException {
    DataGroupHash[] dataGroupHashesArray = new DataGroupHash[dataGroupHashes.size()];
    int i = 0;/*  w ww  . jav  a  2s.c o  m*/
    for (int dataGroupNumber : dataGroupHashes.keySet()) {
        byte[] hashBytes = dataGroupHashes.get(dataGroupNumber);
        DataGroupHash hash = new DataGroupHash(dataGroupNumber, new DEROctetString(hashBytes));
        dataGroupHashesArray[i++] = hash;
    }
    AlgorithmIdentifier digestAlgorithmIdentifier = new AlgorithmIdentifier(
            new ASN1ObjectIdentifier(SignedDataUtil.lookupOIDByMnemonic(digestAlgorithm)));
    LDSSecurityObject securityObject = null;
    if (ldsVersion == null) {
        securityObject = new LDSSecurityObject(digestAlgorithmIdentifier, dataGroupHashesArray);
    } else {
        securityObject = new LDSSecurityObject(digestAlgorithmIdentifier, dataGroupHashesArray,
                new LDSVersionInfo(ldsVersion, unicodeVersion));
    }

    return new ContentInfo(new ASN1ObjectIdentifier(contentTypeOID), new DEROctetString(securityObject));
}

From source file:org.signserver.module.mrtdsodsigner.jmrtd.SODFile.java

License:Open Source License

private static ContentInfo createContentInfo(String digestAlgorithm, Map<Integer, byte[]> dataGroupHashes,
        String ldsVersion, String unicodeVersion) throws NoSuchAlgorithmException, IOException {
    DataGroupHash[] dataGroupHashesArray = new DataGroupHash[dataGroupHashes.size()];
    int i = 0;/*from   w  ww . ja v  a  2s .  c om*/
    for (int dataGroupNumber : dataGroupHashes.keySet()) {
        byte[] hashBytes = dataGroupHashes.get(dataGroupNumber);
        DataGroupHash hash = new DataGroupHash(dataGroupNumber, new DEROctetString(hashBytes));
        dataGroupHashesArray[i++] = hash;
    }
    AlgorithmIdentifier digestAlgorithmIdentifier = new AlgorithmIdentifier(
            lookupOIDByMnemonic(digestAlgorithm));
    LDSVersionInfo ldsVersionInfo;
    if (ldsVersion == null) {
        ldsVersionInfo = null;
    } else {
        ldsVersionInfo = new LDSVersionInfo(new DERPrintableString(ldsVersion, true),
                new DERPrintableString(unicodeVersion, true));
    }
    LDSSecurityObject sObject2 = new LDSSecurityObject(digestAlgorithmIdentifier, dataGroupHashesArray,
            ldsVersionInfo);
    return new ContentInfo(ICAO_SOD_OID, new DEROctetString(sObject2));
}

From source file:passwdmanager.hig.no.lds.DG_SOD.java

private static ContentInfo createContentInfo(String digestAlgorithm, Map<Integer, byte[]> dataGroupHashes)
        throws NoSuchAlgorithmException {
    DataGroupHash[] dataGroupHashesArray = new DataGroupHash[dataGroupHashes.size()];
    int i = 0;// w w  w . ja v  a2  s  . co m
    for (int dataGroupNumber : dataGroupHashes.keySet()) {
        byte[] hashBytes = dataGroupHashes.get(dataGroupNumber);
        DataGroupHash hash = new DataGroupHash(dataGroupNumber, new DEROctetString(hashBytes));
        dataGroupHashesArray[i++] = hash;
    }
    AlgorithmIdentifier digestAlgorithmIdentifier = new AlgorithmIdentifier(
            lookupOIDByMnemonic(digestAlgorithm), new DERNull());
    LDSSecurityObject sObject2 = new LDSSecurityObject(digestAlgorithmIdentifier, dataGroupHashesArray);
    return new ContentInfo(ICAO_SOD_OID, new DEROctetString(sObject2));
}