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 sop.SOP;
|
||||
import sop.exception.SOPGPException;
|
||||
import sop.testsuite.JUtils;
|
||||
import sop.testsuite.TestData;
|
||||
import sop.util.UTF8Util;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -17,6 +19,7 @@ import java.nio.charset.StandardCharsets;
|
|||
import java.util.stream.Stream;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
@EnabledIf("sop.testsuite.operation.AbstractSOPTest#hasBackends")
|
||||
|
@ -95,4 +98,27 @@ public class ChangeKeyPasswordTest extends AbstractSOPTest {
|
|||
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));
|
||||
}
|
||||
|
||||
@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
|
||||
@MethodSource("provideInstances")
|
||||
public void revokeUnprotectedKeyUnarmored(SOP sop) throws IOException {
|
||||
|
|
Loading…
Reference in a new issue