mirror of
https://codeberg.org/PGPainless/sop-java.git
synced 2025-03-15 20:03:11 +01:00
Kotlin conversion: AbstractVerify
This commit is contained in:
parent
e68d6df57f
commit
08ddc5d8a5
2 changed files with 57 additions and 68 deletions
sop-java/src/main
|
@ -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…
Add table
Reference in a new issue