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

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

Introduction

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

Prototype

public LDSVersionInfo(String ldsVersion, String unicodeVersion) 

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;/*from  w w w.  j  a  v a  2 s .  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(
            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));
}