List of usage examples for org.bouncycastle.bcpg ArmoredInputStream getArmorHeaders
public String[] getArmorHeaders()
From source file:org.sufficientlysecure.keychain.pgp.PgpDecryptVerifyOperation.java
License:Open Source License
private ArmorHeaders parseArmorHeaders(InputStream in, OperationLog log, int indent) { ArmorHeaders armorHeaders = new ArmorHeaders(); // If the input stream is armored, and there is a charset specified, take a note for later // https://tools.ietf.org/html/rfc4880#page56 if (in instanceof ArmoredInputStream) { ArmoredInputStream aIn = (ArmoredInputStream) in; if (aIn.getArmorHeaders() != null) { for (String header : aIn.getArmorHeaders()) { String[] pieces = header.split(":", 2); if (pieces.length != 2 || TextUtils.isEmpty(pieces[0]) || TextUtils.isEmpty(pieces[1])) { continue; }/*w w w . j a v a2 s . c o m*/ switch (pieces[0].toLowerCase()) { case "charset": { armorHeaders.charset = pieces[1].trim(); break; } case "backupversion": { try { armorHeaders.backupVersion = Integer.valueOf(pieces[1].trim()); } catch (NumberFormatException e) { continue; } break; } default: { // continue; } } } if (armorHeaders.charset != null) { log.add(LogType.MSG_DC_CHARSET, indent, armorHeaders.charset); } if (armorHeaders.backupVersion != null) { log.add(LogType.MSG_DC_BACKUP_VERSION, indent, Integer.toString(armorHeaders.backupVersion)); } } } return armorHeaders; }