@Override public String toString() { if (this == BDOC || this == ASICE) return MimeType.ASICE.getMimeTypeString(); if (this == ASICS) return MimeType.ASICS.getMimeTypeString(); return super.toString(); } }
private void validateParseResult() { if (!StringUtils.equalsIgnoreCase(MimeType.ASICE.getMimeTypeString(), mimeType) && !StringUtils.equalsIgnoreCase(MimeType.ASICS.getMimeTypeString(), mimeType)) { logger.error("Container mime type is not " + MimeType.ASICE.getMimeTypeString() + " but is " + mimeType); throw new UnsupportedFormatException("Container mime type is not " + MimeType.ASICE.getMimeTypeString() + " OR " + MimeType.ASICS.getMimeTypeString() + " but is " + mimeType); } if (!this.signatures.isEmpty() && this.dataFiles.isEmpty()) { throw new ContainerWithoutFilesException("The reference data object(s) is not found!"); } }
/** * Returns the file media type. * * @return media type */ public String getMediaType() { logger.debug(""); String mediaType = document.getMimeType().getMimeTypeString(); logger.debug("Media type is: " + mediaType); return mediaType; }
public static String createBDocUserAgent() { return createUserAgent(MimeType.ASICE.getMimeTypeString(), null, EMPTY_CONTAINER_SIGNATURE_LEVEL_ASIC_E); }
public static String createBDocAsicSUserAgent() { return createUserAgent(MimeType.ASICS.getMimeTypeString(), null, EMPTY_CONTAINER_SIGNATURE_LEVEL_ASIC_S); }
@Override public String toString() { final StringWriter stringWriter = new StringWriter(); stringWriter.append("Name: " + getName()).append(" / ").append(mimeType == null ? "" : mimeType.getMimeTypeString()).append(" / ") .append(getAbsolutePath()); return stringWriter.toString(); }
/** * @param containerType type */ public void writeAsiceMimeType(String containerType) { logger.debug("Writing asic mime type to asic zip file"); String mimeTypeString; if (Constant.ASICS_CONTAINER_TYPE.equals(containerType)){ mimeTypeString = MimeType.ASICS.getMimeTypeString(); } else { mimeTypeString = MimeType.ASICE.getMimeTypeString(); } byte[] mimeTypeBytes = mimeTypeString.getBytes(CHARSET); new BytesEntryCallback(getAsicMimeTypeZipEntry(mimeTypeBytes), mimeTypeBytes).write(); }
private void extractTimeStamp(ZipEntry entry) { logger.debug("Extracting timestamp file"); InputStream zipFileInputStream = getZipEntryInputStream(entry); String fileName = entry.getName(); timestampToken = new DataFile(zipFileInputStream, fileName, MimeType.TST.getMimeTypeString()); }
private void generateAsicManifest(String containerType) { logger.debug("Creating new manifest"); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { DocumentBuilder db = dbf.newDocumentBuilder(); dom = db.newDocument(); rootElement = dom.createElement("manifest:manifest"); rootElement.setAttribute("xmlns:manifest", "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"); Element firstChild = dom.createElement("manifest:file-entry"); firstChild.setAttribute("manifest:full-path", "/"); if (Constant.ASICS_CONTAINER_TYPE.equals(containerType)){ firstChild.setAttribute("manifest:media-type", MimeType.ASICS.getMimeTypeString()); } else{ firstChild.setAttribute("manifest:media-type", MimeType.ASICE.getMimeTypeString()); } rootElement.appendChild(firstChild); dom.appendChild(rootElement); } catch (ParserConfigurationException e) { logger.error(e.getMessage()); throw new TechnicalException("Error creating manifest", e); } }
protected String getDataFileMimeType(String fileName) { if (manifestFileItems.containsKey(fileName)) { ManifestEntry manifestEntry = manifestFileItems.get(fileName); return manifestEntry.getMimeType(); } else { MimeType mimetype = MimeType.fromFileName(fileName); return mimetype.getMimeTypeString(); } }
private String getMimeType(String documentPath) { String mimeType = this.commandLineExecutor.getContext().getCommandLine().getOptionValue("mimeType"); if (StringUtils.isNotBlank(mimeType)) { return mimeType; } return MimeType.fromFileName(documentPath).getMimeTypeString(); }
private static boolean parseAsicContainer(BufferedInputStream stream, MimeType mtype) throws IOException { stream.mark(stream.available() + 1); ZipInputStream zipInputStream = new ZipInputStream(stream); try { ZipEntry entry; while ((entry = zipInputStream.getNextEntry()) != null) { if (StringUtils.equalsIgnoreCase("mimetype", entry.getName())) { InputStream zipFileInputStream = zipInputStream; BOMInputStream bomInputStream = new BOMInputStream(zipFileInputStream); DSSDocument document = new InMemoryDocument(bomInputStream); String mimeType = StringUtils.trim(IOUtils.toString(IOUtils.toByteArray(document.openStream()), "UTF-8")); if (StringUtils.equalsIgnoreCase(mimeType, mtype.getMimeTypeString())) { return true; } } } } catch (IOException e) { logger.error("Error reading asic container stream: " + e.getMessage()); throw new TechnicalException("Error reading asic container stream: ", e); } finally { stream.reset(); } return false; }
private static String createBDocUserAgent(SignatureLevel signatureLevel) { return createUserAgent(MimeType.ASICE.getMimeTypeString(), null, signatureLevel.name()); }
public static String createBDocAsicSUserAgent(SignatureProfile signatureProfile) { if (signatureProfile == SignatureProfile.LT_TM) { return createUserAgent(MimeType.ASICS.getMimeTypeString(), null, ASIC_S_TM_SIGNATURE_LEVEL); } SignatureLevel signatureLevel = determineSignatureLevel(signatureProfile); return createBDocUserAgent(signatureLevel); }
public static String createBDocUserAgent(SignatureProfile signatureProfile) { if (signatureProfile == SignatureProfile.LT_TM) { return createUserAgent(MimeType.ASICE.getMimeTypeString(), null, ASIC_E_TM_SIGNATURE_LEVEL); } SignatureLevel signatureLevel = determineSignatureLevel(signatureProfile); return createBDocUserAgent(signatureLevel); }
private void updateDataFilesMimeType() { for (DataFile dataFile : getDataFiles().values()) { String fileName = dataFile.getName(); String mimeType = MimeTypeUtil.mimeTypeOf(getDataFileMimeType(fileName)).getMimeTypeString(); dataFile.setMediaType(mimeType); } }
private static DataFile getTimestampToken(OnlineTSPSource onlineTSPSource, DigestAlgorithm digestAlgorithm, byte[] digest) { DataFile timeStampToken = new DataFile(); TimeStampToken timeStampResponse = onlineTSPSource.getTimeStampResponse(digestAlgorithm, digest); String timestampFilename = "timestamp"; timeStampToken.setDocument( new InMemoryDocument(DSSASN1Utils.getEncoded(timeStampResponse), timestampFilename, MimeType.TST)); timeStampToken.setMediaType(MimeType.TST.getMimeTypeString()); return timeStampToken; }
parameters.aSiC().setContainerType(ASiCContainerType.ASiC_E); parameters.setDigestAlgorithm(DigestAlgorithm.SHA256); parameters.aSiC().setMimeType(MimeType.ASICE.getMimeTypeString()); parameters.setSigningCertificate(privateKeyEntry.getCertificate()); parameters.setEncryptionAlgorithm(privateKeyEntry.getEncryptionAlgorithm());