001// SPDX-FileCopyrightText: 2021 Paul Schaub <vanitasvitae@fsfe.org>
002//
003// SPDX-License-Identifier: Apache-2.0
004
005package sop.operation;
006
007import java.io.ByteArrayInputStream;
008import java.io.IOException;
009import java.io.InputStream;
010
011import sop.Ready;
012import sop.exception.SOPGPException;
013
014public interface Dearmor {
015
016    /**
017     * Dearmor armored OpenPGP data.
018     *
019     * @param data armored OpenPGP data
020     * @return input stream of unarmored data
021     */
022    Ready data(InputStream data) throws SOPGPException.BadData, IOException;
023
024    /**
025     * Dearmor armored OpenPGP data.
026     *
027     * @param data armored OpenPGP data
028     * @return input stream of unarmored data
029     */
030    default Ready data(byte[] data) throws SOPGPException.BadData, IOException {
031        return data(new ByteArrayInputStream(data));
032    }
033}