Compare commits

...

3 commits
main ... 6.1.1

4 changed files with 12 additions and 11 deletions

View file

@ -6,6 +6,9 @@ SPDX-License-Identifier: Apache-2.0
# Changelog # Changelog
## 6.1.1
- `decrypt`: Do not throw `NoSignature` exception if `--verify-with` was provided, but `VERIFICATIONS` is empty
## 6.1.0 ## 6.1.0
- `listProfiles()`: Add shortcut methods `generateKey()` and `encrypt()` - `listProfiles()`: Add shortcut methods `generateKey()` and `encrypt()`
- Add DSL for testing `Verification` results - Add DSL for testing `Verification` results

View file

@ -115,11 +115,6 @@ public class DecryptCmd extends AbstractSopCmd {
private void writeVerifyOut(DecryptionResult result) throws IOException { private void writeVerifyOut(DecryptionResult result) throws IOException {
if (verifyOut != null) { if (verifyOut != null) {
if (result.getVerifications().isEmpty()) {
String errorMsg = getMsg("sop.error.runtime.no_verifiable_signature_found");
throw new SOPGPException.NoSignature(errorMsg);
}
try (OutputStream fileOut = getOutput(verifyOut)) { try (OutputStream fileOut = getOutput(verifyOut)) {
PrintWriter writer = new PrintWriter(fileOut); PrintWriter writer = new PrintWriter(fileOut);
for (Verification verification : result.getVerifications()) { for (Verification verification : result.getVerifications()) {

View file

@ -21,6 +21,7 @@ import sop.operation.Decrypt;
import sop.util.HexUtil; import sop.util.HexUtil;
import sop.util.UTCUtil; import sop.util.UTCUtil;
import javax.annotation.Nonnull;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.File; import java.io.File;
@ -247,15 +248,17 @@ public class DecryptCmdTest {
} }
@Test @Test
@ExpectSystemExitWithStatus(SOPGPException.NoSignature.EXIT_CODE) public void assertNoVerificationsIsOkay() throws SOPGPException.CannotDecrypt, SOPGPException.MissingArg, SOPGPException.BadData, IOException {
public void assertNoSignatureExceptionCausesExit3() throws SOPGPException.CannotDecrypt, SOPGPException.MissingArg, SOPGPException.BadData, IOException { File tempFile = File.createTempFile("verify-with-", ".tmp");
File verifyOut = new File(tempFile.getParent(), "verifications.out");
verifyOut.deleteOnExit();
when(decrypt.ciphertext((InputStream) any())).thenReturn(new ReadyWithResult<DecryptionResult>() { when(decrypt.ciphertext((InputStream) any())).thenReturn(new ReadyWithResult<DecryptionResult>() {
@Override @Override
public DecryptionResult writeTo(OutputStream outputStream) throws SOPGPException.NoSignature { public DecryptionResult writeTo(@Nonnull OutputStream outputStream) throws SOPGPException.NoSignature {
throw new SOPGPException.NoSignature(); return new DecryptionResult(null, Collections.emptyList());
} }
}); });
SopCLI.main(new String[] {"decrypt"}); SopCLI.main(new String[] {"decrypt", "--verify-with", tempFile.getAbsolutePath(), "--verifications-out", verifyOut.getAbsolutePath()});
} }
@Test @Test

View file

@ -5,7 +5,7 @@
allprojects { allprojects {
ext { ext {
shortVersion = '6.1.1' shortVersion = '6.1.1'
isSnapshot = true isSnapshot = false
minAndroidSdk = 10 minAndroidSdk = 10
javaSourceCompatibility = 1.8 javaSourceCompatibility = 1.8
gsonVersion = '2.10.1' gsonVersion = '2.10.1'