1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-12-23 03:17:58 +01:00

SOP: Hide armor version header by default

This commit is contained in:
Paul Schaub 2022-11-11 13:45:25 +01:00
parent 48005da7f3
commit 86b06ee5e3
3 changed files with 19 additions and 6 deletions

View file

@ -31,7 +31,11 @@ public final class ArmoredOutputStreamFactory {
*/ */
public static ArmoredOutputStream get(OutputStream outputStream) { public static ArmoredOutputStream get(OutputStream outputStream) {
ArmoredOutputStream armoredOutputStream = new ArmoredOutputStream(outputStream); ArmoredOutputStream armoredOutputStream = new ArmoredOutputStream(outputStream);
armoredOutputStream.setHeader(ArmorUtils.HEADER_VERSION, version); armoredOutputStream.clearHeaders();
if (version != null && !version.isEmpty()) {
armoredOutputStream.setHeader(ArmorUtils.HEADER_VERSION, version);
}
for (String comment : comment) { for (String comment : comment) {
ArmorUtils.addCommentHeader(armoredOutputStream, comment); ArmorUtils.addCommentHeader(armoredOutputStream, comment);
} }
@ -55,10 +59,16 @@ public final class ArmoredOutputStreamFactory {
* @param versionString version string * @param versionString version string
*/ */
public static void setVersionInfo(String versionString) { public static void setVersionInfo(String versionString) {
if (versionString == null || versionString.trim().isEmpty()) { if (versionString == null) {
throw new IllegalArgumentException("Version Info MUST NOT be null NOR empty."); version = null;
return;
}
String trimmed = versionString.trim();
if (trimmed.isEmpty()) {
version = null;
} else {
version = trimmed;
} }
version = versionString;
} }
/** /**

View file

@ -4,6 +4,7 @@
package org.pgpainless.sop; package org.pgpainless.sop;
import org.pgpainless.util.ArmoredOutputStreamFactory;
import sop.SOP; import sop.SOP;
import sop.operation.Armor; import sop.operation.Armor;
import sop.operation.Dearmor; import sop.operation.Dearmor;
@ -20,6 +21,10 @@ import sop.operation.Version;
public class SOPImpl implements SOP { public class SOPImpl implements SOP {
static {
ArmoredOutputStreamFactory.setVersionInfo(null);
}
@Override @Override
public Version version() { public Version version() {
return new VersionImpl(); return new VersionImpl();

View file

@ -18,7 +18,6 @@ import sop.exception.SOPGPException;
public class ExtractCertTest { public class ExtractCertTest {
public static final String key = "-----BEGIN PGP PRIVATE KEY BLOCK-----\n" + public static final String key = "-----BEGIN PGP PRIVATE KEY BLOCK-----\n" +
"Version: PGPainless\n" +
"Comment: A8D9 9FF4 C8DD BBA6 C610 A6B7 9ACB 2195 A9BC DF5B\n" + "Comment: A8D9 9FF4 C8DD BBA6 C610 A6B7 9ACB 2195 A9BC DF5B\n" +
"Comment: Alice <alice@pgpainless.org>\n" + "Comment: Alice <alice@pgpainless.org>\n" +
"\n" + "\n" +
@ -42,7 +41,6 @@ public class ExtractCertTest {
"-----END PGP PRIVATE KEY BLOCK-----\n"; "-----END PGP PRIVATE KEY BLOCK-----\n";
public static final String cert = "-----BEGIN PGP PUBLIC KEY BLOCK-----\n" + public static final String cert = "-----BEGIN PGP PUBLIC KEY BLOCK-----\n" +
"Version: PGPainless\n" +
"Comment: A8D9 9FF4 C8DD BBA6 C610 A6B7 9ACB 2195 A9BC DF5B\n" + "Comment: A8D9 9FF4 C8DD BBA6 C610 A6B7 9ACB 2195 A9BC DF5B\n" +
"Comment: Alice <alice@pgpainless.org>\n" + "Comment: Alice <alice@pgpainless.org>\n" +
"\n" + "\n" +