mirror of
https://codeberg.org/PGPainless/sop-java.git
synced 2024-12-22 12:57:57 +01:00
Add tests for --no-armor for change-key-password and revoke-key
This commit is contained in:
parent
3dde174880
commit
03cabdf3fb
2 changed files with 35 additions and 0 deletions
|
@ -10,6 +10,8 @@ import org.junit.jupiter.params.provider.Arguments;
|
||||||
import org.junit.jupiter.params.provider.MethodSource;
|
import org.junit.jupiter.params.provider.MethodSource;
|
||||||
import sop.SOP;
|
import sop.SOP;
|
||||||
import sop.exception.SOPGPException;
|
import sop.exception.SOPGPException;
|
||||||
|
import sop.testsuite.JUtils;
|
||||||
|
import sop.testsuite.TestData;
|
||||||
import sop.util.UTF8Util;
|
import sop.util.UTF8Util;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -17,6 +19,7 @@ import java.nio.charset.StandardCharsets;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
||||||
@EnabledIf("sop.testsuite.operation.AbstractSOPTest#hasBackends")
|
@EnabledIf("sop.testsuite.operation.AbstractSOPTest#hasBackends")
|
||||||
|
@ -95,4 +98,27 @@ public class ChangeKeyPasswordTest extends AbstractSOPTest {
|
||||||
sop.changeKeyPassword().newKeyPassphrase(new byte[] {(byte) 0xff, (byte) 0xfe}));
|
sop.changeKeyPassword().newKeyPassphrase(new byte[] {(byte) 0xff, (byte) 0xfe}));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ParameterizedTest
|
||||||
|
@MethodSource("provideInstances")
|
||||||
|
public void testNoArmor(SOP sop) throws IOException {
|
||||||
|
byte[] oldPassword = "sw0rdf1sh".getBytes(UTF8Util.UTF8);
|
||||||
|
byte[] newPassword = "0r4ng3".getBytes(UTF8Util.UTF8);
|
||||||
|
byte[] protectedKey = sop.generateKey().withKeyPassword(oldPassword).generate().getBytes();
|
||||||
|
|
||||||
|
byte[] armored = sop.changeKeyPassword()
|
||||||
|
.oldKeyPassphrase(oldPassword)
|
||||||
|
.newKeyPassphrase(newPassword)
|
||||||
|
.keys(protectedKey)
|
||||||
|
.getBytes();
|
||||||
|
JUtils.assertArrayStartsWith(armored, TestData.BEGIN_PGP_PRIVATE_KEY_BLOCK);
|
||||||
|
|
||||||
|
byte[] unarmored = sop.changeKeyPassword()
|
||||||
|
.noArmor()
|
||||||
|
.oldKeyPassphrase(oldPassword)
|
||||||
|
.newKeyPassphrase(newPassword)
|
||||||
|
.keys(protectedKey)
|
||||||
|
.getBytes();
|
||||||
|
assertFalse(JUtils.arrayStartsWith(unarmored, TestData.BEGIN_PGP_PRIVATE_KEY_BLOCK));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,15 @@ public class RevokeKeyTest extends AbstractSOPTest {
|
||||||
assertFalse(Arrays.equals(secretKey, revocation));
|
assertFalse(Arrays.equals(secretKey, revocation));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ParameterizedTest
|
||||||
|
@MethodSource("provideInstances")
|
||||||
|
public void revokeUnprotectedKeyNoArmor(SOP sop) throws IOException {
|
||||||
|
byte[] secretKey = sop.generateKey().userId("Alice <alice@pgpainless.org>").generate().getBytes();
|
||||||
|
byte[] revocation = sop.revokeKey().noArmor().keys(secretKey).getBytes();
|
||||||
|
|
||||||
|
assertFalse(JUtils.arrayStartsWith(revocation, TestData.BEGIN_PGP_PUBLIC_KEY_BLOCK));
|
||||||
|
}
|
||||||
|
|
||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
@MethodSource("provideInstances")
|
@MethodSource("provideInstances")
|
||||||
public void revokeUnprotectedKeyUnarmored(SOP sop) throws IOException {
|
public void revokeUnprotectedKeyUnarmored(SOP sop) throws IOException {
|
||||||
|
|
Loading…
Reference in a new issue