List of usage examples for org.bouncycastle.asn1.icao DataGroupHash DataGroupHash
public DataGroupHash(int dataGroupNumber, ASN1OctetString dataGroupHashValue)
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)); }