1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2025-09-10 18:59:39 +02:00

Make more of the API null-safe by using @Nonnull/@Nullable

This commit is contained in:
Paul Schaub 2023-05-03 16:03:50 +02:00
parent 3b8a1b47d7
commit 953206b4ed
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
12 changed files with 263 additions and 137 deletions

View file

@ -60,11 +60,6 @@ public class RevocationStateTest {
assertEquals("softRevoked (2022-08-03 18:26:35 UTC)", state.toString());
}
@Test
public void testSoftRevokedNullDateThrows() {
assertThrows(NullPointerException.class, () -> RevocationState.softRevoked(null));
}
@Test
public void orderTest() {
assertEquals(RevocationState.notRevoked(), RevocationState.notRevoked());

View file

@ -95,6 +95,7 @@ public class UserIdRevocationTest {
KeyRingInfo info = new KeyRingInfo(secretKeys);
PGPSignature signature = info.getUserIdRevocation("secondary@key.id");
assertNotNull(signature);
RevocationReason reason = (RevocationReason) signature.getHashedSubPackets()
.getSubpacket(SignatureSubpacketTags.REVOCATION_REASON);
assertNotNull(reason);

View file

@ -145,6 +145,7 @@ public class SignatureSubpacketsUtilTest {
PGPSignature signature = generator.generateCertification(secretKeys.getPublicKey());
Set<Feature> featureSet = SignatureSubpacketsUtil.parseFeatures(signature);
assertNotNull(featureSet);
assertEquals(2, featureSet.size());
assertTrue(featureSet.contains(Feature.MODIFICATION_DETECTION));
assertTrue(featureSet.contains(Feature.AEAD_ENCRYPTED_DATA));
@ -216,6 +217,7 @@ public class SignatureSubpacketsUtilTest {
PGPSignature signature = generator.generateCertification(secretKeys.getPublicKey());
RevocationKey revocationKey = SignatureSubpacketsUtil.getRevocationKey(signature);
assertNotNull(revocationKey);
assertArrayEquals(secretKeys.getPublicKey().getFingerprint(), revocationKey.getFingerprint());
assertEquals(secretKeys.getPublicKey().getAlgorithm(), revocationKey.getAlgorithm());
}
@ -277,6 +279,7 @@ public class SignatureSubpacketsUtilTest {
PGPSignature signature = generator.generateCertification(secretKeys.getPublicKey());
TrustSignature trustSignature = SignatureSubpacketsUtil.getTrustSignature(signature);
assertNotNull(trustSignature);
assertEquals(10, trustSignature.getDepth());
assertEquals(3, trustSignature.getTrustAmount());
}

View file

@ -4,6 +4,7 @@
package org.pgpainless.signature.builder;
import org.bouncycastle.bcpg.sig.Exportable;
import org.bouncycastle.openpgp.PGPException;
import org.bouncycastle.openpgp.PGPPublicKeyRing;
import org.bouncycastle.openpgp.PGPSecretKeyRing;
@ -22,6 +23,7 @@ import java.security.NoSuchAlgorithmException;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
@ -61,7 +63,9 @@ public class ThirdPartyCertificationSignatureBuilderTest {
assertEquals(SignatureType.GENERIC_CERTIFICATION, SignatureType.valueOf(certification.getSignatureType()));
assertEquals(secretKeys.getPublicKey().getKeyID(), certification.getKeyID());
assertArrayEquals(secretKeys.getPublicKey().getFingerprint(), certification.getHashedSubPackets().getIssuerFingerprint().getFingerprint());
assertFalse(SignatureSubpacketsUtil.getExportableCertification(certification).isExportable());
Exportable exportable = SignatureSubpacketsUtil.getExportableCertification(certification);
assertNotNull(exportable);
assertFalse(exportable.isExportable());
// test sig correctness
certification.init(ImplementationFactory.getInstance().getPGPContentVerifierBuilderProvider(), secretKeys.getPublicKey());

View file

@ -376,7 +376,7 @@ public class SignatureSubpacketsTest {
public void testSetSignatureTarget() {
byte[] hash = new byte[20];
new Random().nextBytes(hash);
wrapper.setSignatureTarget(PublicKeyAlgorithm.fromId(key.getAlgorithm()), HashAlgorithm.SHA512, hash);
wrapper.setSignatureTarget(PublicKeyAlgorithm.requireFromId(key.getAlgorithm()), HashAlgorithm.SHA512, hash);
PGPSignatureSubpacketVector vector = SignatureSubpacketsHelper.toVector(wrapper);
SignatureTarget target = vector.getSignatureTarget();