mirror of
https://github.com/pgpainless/pgpainless.git
synced 2024-12-22 19:08:00 +01:00
Kotlin conversion: MissingPublicKeyCallback
This commit is contained in:
parent
a268cfd51a
commit
1234c8800a
2 changed files with 9 additions and 15 deletions
|
@ -1,33 +1,28 @@
|
|||
// SPDX-FileCopyrightText: 2018 Paul Schaub <vanitasvitae@fsfe.org>
|
||||
// SPDX-FileCopyrightText: 2023 Paul Schaub <vanitasvitae@fsfe.org>
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package org.pgpainless.decryption_verification;
|
||||
package org.pgpainless.decryption_verification
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import org.bouncycastle.openpgp.PGPPublicKeyRing
|
||||
|
||||
import org.bouncycastle.openpgp.PGPPublicKeyRing;
|
||||
|
||||
public interface MissingPublicKeyCallback {
|
||||
fun interface MissingPublicKeyCallback {
|
||||
|
||||
/**
|
||||
* This method gets called if we encounter a signature made by a key which was not provided for signature verification.
|
||||
* If you cannot provide the requested key, it is safe to return null here.
|
||||
* PGPainless will then continue verification with the next signature.
|
||||
*
|
||||
* Note: The key-id might belong to a subkey, so be aware that when looking up the {@link PGPPublicKeyRing},
|
||||
* Note: The key-id might belong to a subkey, so be aware that when looking up the [PGPPublicKeyRing],
|
||||
* you may not only search for the key-id on the key rings primary key!
|
||||
*
|
||||
* It would be super cool to provide the OpenPgp fingerprint here, but unfortunately one-pass-signatures
|
||||
* only contain the key id.
|
||||
*
|
||||
* @param keyId ID of the missing signing (sub)key
|
||||
*
|
||||
* @return keyring containing the key or null
|
||||
*
|
||||
* @see <a href="https://datatracker.ietf.org/doc/html/rfc4880#section-5.4">RFC</a>
|
||||
*/
|
||||
@Nullable PGPPublicKeyRing onMissingPublicKeyEncountered(@Nonnull Long keyId);
|
||||
|
||||
}
|
||||
fun onMissingPublicKeyEncountered(keyId: Long): PGPPublicKeyRing?
|
||||
}
|
|
@ -14,7 +14,6 @@ import java.io.IOException;
|
|||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.InvalidAlgorithmParameterException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import org.bouncycastle.openpgp.PGPException;
|
||||
import org.bouncycastle.openpgp.PGPPublicKey;
|
||||
|
@ -63,8 +62,8 @@ public class VerifyWithMissingPublicKeyCallbackTest {
|
|||
.addVerificationCert(unrelatedKeys)
|
||||
.setMissingCertificateCallback(new MissingPublicKeyCallback() {
|
||||
@Override
|
||||
public PGPPublicKeyRing onMissingPublicKeyEncountered(@Nonnull Long keyId) {
|
||||
assertEquals(signingKey.getKeyID(), (long) keyId, "Signing key-ID mismatch.");
|
||||
public PGPPublicKeyRing onMissingPublicKeyEncountered(long keyId) {
|
||||
assertEquals(signingKey.getKeyID(), keyId, "Signing key-ID mismatch.");
|
||||
return signingPubKeys;
|
||||
}
|
||||
}));
|
||||
|
|
Loading…
Reference in a new issue