mirror of
https://codeberg.org/PGPainless/sop-java.git
synced 2024-12-22 12:57:57 +01:00
Kotlin conversion: AbstractVerify
This commit is contained in:
parent
e68d6df57f
commit
08ddc5d8a5
2 changed files with 57 additions and 68 deletions
|
@ -1,68 +0,0 @@
|
|||
// SPDX-FileCopyrightText: 2022 Paul Schaub <vanitasvitae@fsfe.org>
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package sop.operation;
|
||||
|
||||
import sop.exception.SOPGPException;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Common API methods shared between verification of inline signatures ({@link InlineVerify})
|
||||
* and verification of detached signatures ({@link DetachedVerify}).
|
||||
*
|
||||
* @param <T> Builder type ({@link DetachedVerify}, {@link InlineVerify})
|
||||
*/
|
||||
public interface AbstractVerify<T> {
|
||||
|
||||
/**
|
||||
* Makes the SOP implementation consider signatures before this date invalid.
|
||||
*
|
||||
* @param timestamp timestamp
|
||||
* @return builder instance
|
||||
*/
|
||||
T notBefore(Date timestamp)
|
||||
throws SOPGPException.UnsupportedOption;
|
||||
|
||||
/**
|
||||
* Makes the SOP implementation consider signatures after this date invalid.
|
||||
*
|
||||
* @param timestamp timestamp
|
||||
* @return builder instance
|
||||
*/
|
||||
T notAfter(Date timestamp)
|
||||
throws SOPGPException.UnsupportedOption;
|
||||
|
||||
/**
|
||||
* Add one or more verification cert.
|
||||
*
|
||||
* @param cert input stream containing the encoded certs
|
||||
* @return builder instance
|
||||
*
|
||||
* @throws sop.exception.SOPGPException.BadData if the input stream does not contain an OpenPGP certificate
|
||||
* @throws IOException in case of an IO error
|
||||
*/
|
||||
T cert(InputStream cert)
|
||||
throws SOPGPException.BadData,
|
||||
IOException;
|
||||
|
||||
/**
|
||||
* Add one or more verification cert.
|
||||
*
|
||||
* @param cert byte array containing the encoded certs
|
||||
* @return builder instance
|
||||
*
|
||||
* @throws sop.exception.SOPGPException.BadData if the byte array does not contain an OpenPGP certificate
|
||||
* @throws IOException in case of an IO error
|
||||
*/
|
||||
default T cert(byte[] cert)
|
||||
throws SOPGPException.BadData,
|
||||
IOException {
|
||||
return cert(new ByteArrayInputStream(cert));
|
||||
}
|
||||
|
||||
}
|
57
sop-java/src/main/kotlin/sop/operation/AbstractVerify.kt
Normal file
57
sop-java/src/main/kotlin/sop/operation/AbstractVerify.kt
Normal file
|
@ -0,0 +1,57 @@
|
|||
// SPDX-FileCopyrightText: 2023 Paul Schaub <vanitasvitae@fsfe.org>
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package sop.operation
|
||||
|
||||
import java.io.IOException
|
||||
import java.io.InputStream
|
||||
import java.util.*
|
||||
import sop.exception.SOPGPException.BadData
|
||||
import sop.exception.SOPGPException.UnsupportedOption
|
||||
|
||||
/**
|
||||
* Common API methods shared between verification of inline signatures ([InlineVerify]) and
|
||||
* verification of detached signatures ([DetachedVerify]).
|
||||
*
|
||||
* @param <T> Builder type ([DetachedVerify], [InlineVerify])
|
||||
*/
|
||||
interface AbstractVerify<T> {
|
||||
|
||||
/**
|
||||
* Makes the SOP implementation consider signatures before this date invalid.
|
||||
*
|
||||
* @param timestamp timestamp
|
||||
* @return builder instance
|
||||
*/
|
||||
@Throws(UnsupportedOption::class) fun notBefore(timestamp: Date): T
|
||||
|
||||
/**
|
||||
* Makes the SOP implementation consider signatures after this date invalid.
|
||||
*
|
||||
* @param timestamp timestamp
|
||||
* @return builder instance
|
||||
*/
|
||||
@Throws(UnsupportedOption::class) fun notAfter(timestamp: Date): T
|
||||
|
||||
/**
|
||||
* Add one or more verification cert.
|
||||
*
|
||||
* @param cert input stream containing the encoded certs
|
||||
* @return builder instance
|
||||
* @throws BadData if the input stream does not contain an OpenPGP certificate
|
||||
* @throws IOException in case of an IO error
|
||||
*/
|
||||
@Throws(BadData::class, IOException::class) fun cert(cert: InputStream): T
|
||||
|
||||
/**
|
||||
* Add one or more verification cert.
|
||||
*
|
||||
* @param cert byte array containing the encoded certs
|
||||
* @return builder instance
|
||||
* @throws BadData if the byte array does not contain an OpenPGP certificate
|
||||
* @throws IOException in case of an IO error
|
||||
*/
|
||||
@Throws(BadData::class, IOException::class)
|
||||
fun cert(cert: ByteArray): T = cert(cert.inputStream())
|
||||
}
|
Loading…
Reference in a new issue