All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sop.operation.ExtractCert.kt Maven / Gradle / Ivy

There is a newer version: 10.0.3
Show newest version
// SPDX-FileCopyrightText: 2023 Paul Schaub 
//
// SPDX-License-Identifier: Apache-2.0

package sop.operation

import java.io.IOException
import java.io.InputStream
import sop.Ready
import sop.exception.SOPGPException.BadData

interface ExtractCert {

    /**
     * Disable ASCII armor encoding.
     *
     * @return builder instance
     */
    fun noArmor(): ExtractCert

    /**
     * Extract the cert(s) from the provided key(s).
     *
     * @param keyInputStream input stream containing the encoding of one or more OpenPGP keys
     * @return result containing the encoding of the keys certs
     * @throws IOException in case of an IO error
     * @throws BadData if the [InputStream] does not contain an OpenPGP key
     */
    @Throws(IOException::class, BadData::class) fun key(keyInputStream: InputStream): Ready

    /**
     * Extract the cert(s) from the provided key(s).
     *
     * @param key byte array containing the encoding of one or more OpenPGP key
     * @return result containing the encoding of the keys certs
     * @throws IOException in case of an IO error
     * @throws BadData if the byte array does not contain an OpenPGP key
     */
    @Throws(IOException::class, BadData::class)
    fun key(key: ByteArray): Ready = key(key.inputStream())
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy