From fa52df385e3f9c0254ee5d9178deafbb264db37e Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Mon, 25 Jul 2022 19:15:47 +0200 Subject: [PATCH 1/5] Split message resources into separate per-command resource files. Since picocli 4.7.0, subcommands inherit resources from their parent commands, so we can store shared stuff like error msgs etc. in the parent (sop) resources file. This enables us to rename the parent command downstream (e.g. in pgpainless-cli). Only the help command breaks when renaming the parent command. TODO: Fix --- .../sop/cli/picocli/commands/ArmorCmd.java | 4 +- .../sop/cli/picocli/commands/DearmorCmd.java | 2 +- .../sop/cli/picocli/commands/DecryptCmd.java | 20 ++-- .../sop/cli/picocli/commands/EncryptCmd.java | 14 +-- .../cli/picocli/commands/ExtractCertCmd.java | 4 +- .../cli/picocli/commands/GenerateKeyCmd.java | 8 +- .../cli/picocli/commands/InlineDetachCmd.java | 6 +- .../cli/picocli/commands/InlineSignCmd.java | 10 +- .../cli/picocli/commands/InlineVerifyCmd.java | 10 +- .../sop/cli/picocli/commands/SignCmd.java | 12 +-- .../sop/cli/picocli/commands/VerifyCmd.java | 10 +- .../sop/cli/picocli/commands/VersionCmd.java | 6 +- .../src/main/resources/armor.properties | 5 + .../src/main/resources/armor_de.properties | 5 + .../src/main/resources/dearmor.properties | 4 + .../src/main/resources/dearmor_de.properties | 4 + .../src/main/resources/decrypt.properties | 23 +++++ .../src/main/resources/decrypt_de.properties | 23 +++++ .../main/resources/detached-sign.properties | 12 +++ .../resources/detached-sign_de.properties | 12 +++ .../main/resources/detached-verify.properties | 13 +++ .../resources/detached-verify_de.properties | 13 +++ .../src/main/resources/encrypt.properties | 12 +++ .../src/main/resources/encrypt_de.properties | 12 +++ .../main/resources/extract-cert.properties | 5 + .../main/resources/extract-cert_de.properties | 5 + .../main/resources/generate-key.properties | 8 ++ .../main/resources/generate-key_de.properties | 8 ++ .../main/resources/inline-detach.properties | 6 ++ .../resources/inline-detach_de.properties | 6 ++ .../src/main/resources/inline-sign.properties | 14 +++ .../main/resources/inline-sign_de.properties | 14 +++ .../main/resources/inline-verify.properties | 13 +++ .../resources/inline-verify_de.properties | 13 +++ .../src/main/resources/sop.properties | 95 ++----------------- .../src/main/resources/sop_de.properties | 92 +----------------- .../src/main/resources/version.properties | 6 ++ .../src/main/resources/version_de.properties | 6 ++ version.gradle | 2 +- 39 files changed, 307 insertions(+), 230 deletions(-) create mode 100644 sop-java-picocli/src/main/resources/armor.properties create mode 100644 sop-java-picocli/src/main/resources/armor_de.properties create mode 100644 sop-java-picocli/src/main/resources/dearmor.properties create mode 100644 sop-java-picocli/src/main/resources/dearmor_de.properties create mode 100644 sop-java-picocli/src/main/resources/decrypt.properties create mode 100644 sop-java-picocli/src/main/resources/decrypt_de.properties create mode 100644 sop-java-picocli/src/main/resources/detached-sign.properties create mode 100644 sop-java-picocli/src/main/resources/detached-sign_de.properties create mode 100644 sop-java-picocli/src/main/resources/detached-verify.properties create mode 100644 sop-java-picocli/src/main/resources/detached-verify_de.properties create mode 100644 sop-java-picocli/src/main/resources/encrypt.properties create mode 100644 sop-java-picocli/src/main/resources/encrypt_de.properties create mode 100644 sop-java-picocli/src/main/resources/extract-cert.properties create mode 100644 sop-java-picocli/src/main/resources/extract-cert_de.properties create mode 100644 sop-java-picocli/src/main/resources/generate-key.properties create mode 100644 sop-java-picocli/src/main/resources/generate-key_de.properties create mode 100644 sop-java-picocli/src/main/resources/inline-detach.properties create mode 100644 sop-java-picocli/src/main/resources/inline-detach_de.properties create mode 100644 sop-java-picocli/src/main/resources/inline-sign.properties create mode 100644 sop-java-picocli/src/main/resources/inline-sign_de.properties create mode 100644 sop-java-picocli/src/main/resources/inline-verify.properties create mode 100644 sop-java-picocli/src/main/resources/inline-verify_de.properties create mode 100644 sop-java-picocli/src/main/resources/version.properties create mode 100644 sop-java-picocli/src/main/resources/version_de.properties diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ArmorCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ArmorCmd.java index 891b974..9d626e5 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ArmorCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ArmorCmd.java @@ -14,12 +14,12 @@ import sop.operation.Armor; import java.io.IOException; @CommandLine.Command(name = "armor", - resourceBundle = "sop", + resourceBundle = "armor", exitCodeOnInvalidInput = SOPGPException.UnsupportedOption.EXIT_CODE) public class ArmorCmd extends AbstractSopCmd { @CommandLine.Option(names = {"--label"}, - descriptionKey = "sop.armor.usage.option.label", + descriptionKey = "usage.option.label", paramLabel = "{auto|sig|key|cert|message}") ArmorLabel label; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DearmorCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DearmorCmd.java index 1bca4d7..76f1b31 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DearmorCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DearmorCmd.java @@ -12,7 +12,7 @@ import sop.operation.Dearmor; import java.io.IOException; @CommandLine.Command(name = "dearmor", - resourceBundle = "sop", + resourceBundle = "dearmor", exitCodeOnInvalidInput = SOPGPException.UnsupportedOption.EXIT_CODE) public class DearmorCmd extends AbstractSopCmd { diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DecryptCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DecryptCmd.java index 5a9b4f5..9f02bb8 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DecryptCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DecryptCmd.java @@ -24,7 +24,7 @@ import java.util.List; import java.util.regex.Pattern; @CommandLine.Command(name = "decrypt", - resourceBundle = "sop", + resourceBundle = "decrypt", exitCodeOnInvalidInput = SOPGPException.UnsupportedOption.EXIT_CODE) public class DecryptCmd extends AbstractSopCmd { @@ -40,49 +40,49 @@ public class DecryptCmd extends AbstractSopCmd { @CommandLine.Option( names = {OPT_SESSION_KEY_OUT}, - descriptionKey = "sop.decrypt.usage.option.session_key_out", + descriptionKey = "usage.option.session_key_out", paramLabel = "SESSIONKEY") String sessionKeyOut; @CommandLine.Option( names = {OPT_WITH_SESSION_KEY}, - descriptionKey = "sop.decrypt.usage.option.with_session_key", + descriptionKey = "usage.option.with_session_key", paramLabel = "SESSIONKEY") List withSessionKey = new ArrayList<>(); @CommandLine.Option( names = {OPT_WITH_PASSWORD}, - descriptionKey = "sop.decrypt.usage.option.with_password", + descriptionKey = "usage.option.with_password", paramLabel = "PASSWORD") List withPassword = new ArrayList<>(); @CommandLine.Option(names = {OPT_VERIFY_OUT}, - descriptionKey = "sop.decrypt.usage.option.verify_out", + descriptionKey = "usage.option.verify_out", paramLabel = "VERIFICATIONS") String verifyOut; @CommandLine.Option(names = {OPT_VERIFY_WITH}, - descriptionKey = "sop.decrypt.usage.option.certs", + descriptionKey = "usage.option.certs", paramLabel = "CERT") List certs = new ArrayList<>(); @CommandLine.Option(names = {OPT_NOT_BEFORE}, - descriptionKey = "sop.decrypt.usage.option.not_before", + descriptionKey = "usage.option.not_before", paramLabel = "DATE") String notBefore = "-"; @CommandLine.Option(names = {OPT_NOT_AFTER}, - descriptionKey = "sop.decrypt.usage.option.not_after", + descriptionKey = "usage.option.not_after", paramLabel = "DATE") String notAfter = "now"; @CommandLine.Parameters(index = "0..*", - descriptionKey = "sop.decrypt.usage.param.keys", + descriptionKey = "usage.param.keys", paramLabel = "KEY") List keys = new ArrayList<>(); @CommandLine.Option(names = {OPT_WITH_KEY_PASSWORD}, - descriptionKey = "sop.decrypt.usage.option.with_key_password", + descriptionKey = "usage.option.with_key_password", paramLabel = "PASSWORD") List withKeyPassword = new ArrayList<>(); diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/EncryptCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/EncryptCmd.java index 3af1bb1..f87aba2 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/EncryptCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/EncryptCmd.java @@ -17,36 +17,36 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "encrypt", - resourceBundle = "sop", + resourceBundle = "encrypt", exitCodeOnInvalidInput = 37) public class EncryptCmd extends AbstractSopCmd { @CommandLine.Option(names = "--no-armor", - descriptionKey = "sop.encrypt.usage.option.armor", + descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; @CommandLine.Option(names = {"--as"}, - descriptionKey = "sop.encrypt.usage.option.type", + descriptionKey = "usage.option.type", paramLabel = "{binary|text}") EncryptAs type; @CommandLine.Option(names = "--with-password", - descriptionKey = "sop.encrypt.usage.option.with_password", + descriptionKey = "usage.option.with_password", paramLabel = "PASSWORD") List withPassword = new ArrayList<>(); @CommandLine.Option(names = "--sign-with", - descriptionKey = "sop.encrypt.usage.option.sign_with", + descriptionKey = "usage.option.sign_with", paramLabel = "KEY") List signWith = new ArrayList<>(); @CommandLine.Option(names = "--with-key-password", - descriptionKey = "sop.encrypt.usage.option.with_key_password", + descriptionKey = "usage.option.with_key_password", paramLabel = "PASSWORD") List withKeyPassword = new ArrayList<>(); - @CommandLine.Parameters(descriptionKey = "sop.encrypt.usage.param.certs", + @CommandLine.Parameters(descriptionKey = "usage.param.certs", index = "0..*", paramLabel = "CERTS") List certs = new ArrayList<>(); diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ExtractCertCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ExtractCertCmd.java index 960a263..4bb1c18 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ExtractCertCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ExtractCertCmd.java @@ -13,12 +13,12 @@ import sop.exception.SOPGPException; import sop.operation.ExtractCert; @CommandLine.Command(name = "extract-cert", - resourceBundle = "sop", + resourceBundle = "extract-cert", exitCodeOnInvalidInput = 37) public class ExtractCertCmd extends AbstractSopCmd { @CommandLine.Option(names = "--no-armor", - descriptionKey = "sop.extract-cert.usage.option.armor", + descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java index fbf415c..82c0a37 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java @@ -15,20 +15,20 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "generate-key", - resourceBundle = "sop", + resourceBundle = "generate-key", exitCodeOnInvalidInput = 37) public class GenerateKeyCmd extends AbstractSopCmd { @CommandLine.Option(names = "--no-armor", - descriptionKey = "sop.generate-key.usage.option.armor", + descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; - @CommandLine.Parameters(descriptionKey = "sop.generate-key.usage.option.user_id") + @CommandLine.Parameters(descriptionKey = "usage.option.user_id") List userId = new ArrayList<>(); @CommandLine.Option(names = "--with-key-password", - descriptionKey = "sop.generate-key.usage.option.with_key_password", + descriptionKey = "usage.option.with_key_password", paramLabel = "PASSWORD") String withKeyPassword; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineDetachCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineDetachCmd.java index bcd269d..3ed6f7a 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineDetachCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineDetachCmd.java @@ -14,18 +14,18 @@ import java.io.IOException; import java.io.OutputStream; @CommandLine.Command(name = "inline-detach", - resourceBundle = "sop", + resourceBundle = "inline-detach", exitCodeOnInvalidInput = SOPGPException.UnsupportedOption.EXIT_CODE) public class InlineDetachCmd extends AbstractSopCmd { @CommandLine.Option( names = {"--signatures-out"}, - descriptionKey = "sop.inline-detach.usage.option.signatures_out", + descriptionKey = "usage.option.signatures_out", paramLabel = "SIGNATURES") String signaturesOut; @CommandLine.Option(names = "--no-armor", - descriptionKey = "sop.inline-detach.usage.option.armor", + descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineSignCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineSignCmd.java index 2cf5ebd..823e332 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineSignCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineSignCmd.java @@ -17,26 +17,26 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "inline-sign", - resourceBundle = "sop", + resourceBundle = "inline-sign", exitCodeOnInvalidInput = 37) public class InlineSignCmd extends AbstractSopCmd { @CommandLine.Option(names = "--no-armor", - descriptionKey = "sop.inline-sign.usage.option.armor", + descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; @CommandLine.Option(names = "--as", - descriptionKey = "sop.inline-sign.usage.option.as", + descriptionKey = "usage.option.as", paramLabel = "{binary|text|cleartextsigned}") InlineSignAs type; - @CommandLine.Parameters(descriptionKey = "sop.inline-sign.usage.parameter.keys", + @CommandLine.Parameters(descriptionKey = "usage.parameter.keys", paramLabel = "KEYS") List secretKeyFile = new ArrayList<>(); @CommandLine.Option(names = "--with-key-password", - descriptionKey = "sop.inline-sign.usage.option.with_key_password", + descriptionKey = "usage.option.with_key_password", paramLabel = "PASSWORD") List withKeyPassword = new ArrayList<>(); diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineVerifyCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineVerifyCmd.java index 249d8a1..df1f805 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineVerifyCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineVerifyCmd.java @@ -19,27 +19,27 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "inline-verify", - resourceBundle = "sop", + resourceBundle = "inline-verify", exitCodeOnInvalidInput = 37) public class InlineVerifyCmd extends AbstractSopCmd { @CommandLine.Parameters(arity = "1..*", - descriptionKey = "sop.inline-verify.usage.parameter.certs", + descriptionKey = "usage.parameter.certs", paramLabel = "CERT") List certificates = new ArrayList<>(); @CommandLine.Option(names = {"--not-before"}, - descriptionKey = "sop.inline-verify.usage.option.not_before", + descriptionKey = "usage.option.not_before", paramLabel = "DATE") String notBefore = "-"; @CommandLine.Option(names = {"--not-after"}, - descriptionKey = "sop.inline-verify.usage.option.not_after", + descriptionKey = "usage.option.not_after", paramLabel = "DATE") String notAfter = "now"; @CommandLine.Option(names = "--verifications-out", - descriptionKey = "sop.inline-verify.usage.option.verifications_out") + descriptionKey = "usage.option.verifications_out") String verificationsOut; @Override diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/SignCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/SignCmd.java index b6661af..d441e1a 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/SignCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/SignCmd.java @@ -20,31 +20,31 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "sign", - resourceBundle = "sop", + resourceBundle = "detached-sign", exitCodeOnInvalidInput = 37) public class SignCmd extends AbstractSopCmd { @CommandLine.Option(names = "--no-armor", - descriptionKey = "sop.sign.usage.option.armor", + descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; @CommandLine.Option(names = "--as", - descriptionKey = "sop.sign.usage.option.as", + descriptionKey = "usage.option.as", paramLabel = "{binary|text}") SignAs type; - @CommandLine.Parameters(descriptionKey = "sop.sign.usage.parameter.keys", + @CommandLine.Parameters(descriptionKey = "usage.parameter.keys", paramLabel = "KEYS") List secretKeyFile = new ArrayList<>(); @CommandLine.Option(names = "--with-key-password", - descriptionKey = "sop.sign.usage.option.with_key_password", + descriptionKey = "usage.option.with_key_password", paramLabel = "PASSWORD") List withKeyPassword = new ArrayList<>(); @CommandLine.Option(names = "--micalg-out", - descriptionKey = "sop.sign.usage.option.micalg_out", + descriptionKey = "usage.option.micalg_out", paramLabel = "MICALG") String micAlgOut; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VerifyCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VerifyCmd.java index e0953b3..d029c52 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VerifyCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VerifyCmd.java @@ -17,28 +17,28 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "verify", - resourceBundle = "sop", + resourceBundle = "detached-verify", exitCodeOnInvalidInput = 37) public class VerifyCmd extends AbstractSopCmd { @CommandLine.Parameters(index = "0", - descriptionKey = "sop.verify.usage.parameter.signature", + descriptionKey = "usage.parameter.signature", paramLabel = "SIGNATURE") String signature; @CommandLine.Parameters(index = "0..*", arity = "1..*", - descriptionKey = "sop.verify.usage.parameter.certs", + descriptionKey = "usage.parameter.certs", paramLabel = "CERT") List certificates = new ArrayList<>(); @CommandLine.Option(names = {"--not-before"}, - descriptionKey = "sop.verify.usage.option.not_before", + descriptionKey = "usage.option.not_before", paramLabel = "DATE") String notBefore = "-"; @CommandLine.Option(names = {"--not-after"}, - descriptionKey = "sop.verify.usage.option.not_after", + descriptionKey = "usage.option.not_after", paramLabel = "DATE") String notAfter = "now"; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VersionCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VersionCmd.java index 2dc08db..2cf97e9 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VersionCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VersionCmd.java @@ -9,7 +9,7 @@ import sop.cli.picocli.Print; import sop.cli.picocli.SopCLI; import sop.operation.Version; -@CommandLine.Command(name = "version", resourceBundle = "sop", +@CommandLine.Command(name = "version", resourceBundle = "version", exitCodeOnInvalidInput = 37) public class VersionCmd extends AbstractSopCmd { @@ -18,11 +18,11 @@ public class VersionCmd extends AbstractSopCmd { static class Exclusive { @CommandLine.Option(names = "--extended", - descriptionKey = "sop.version.usage.option.extended") + descriptionKey = "usage.option.extended") boolean extended; @CommandLine.Option(names = "--backend", - descriptionKey = "sop.version.usage.option.backend") + descriptionKey = "usage.option.backend") boolean backend; } diff --git a/sop-java-picocli/src/main/resources/armor.properties b/sop-java-picocli/src/main/resources/armor.properties new file mode 100644 index 0000000..b963ceb --- /dev/null +++ b/sop-java-picocli/src/main/resources/armor.properties @@ -0,0 +1,5 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Add ASCII Armor to standard input +usage.option.label=Label to be used in the header and tail of the armoring diff --git a/sop-java-picocli/src/main/resources/armor_de.properties b/sop-java-picocli/src/main/resources/armor_de.properties new file mode 100644 index 0000000..1023244 --- /dev/null +++ b/sop-java-picocli/src/main/resources/armor_de.properties @@ -0,0 +1,5 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Schütze Standard-Eingabe mit ASCII Armor +usage.option.label=Label für Kopf- und Fußzeile der ASCII Armor diff --git a/sop-java-picocli/src/main/resources/dearmor.properties b/sop-java-picocli/src/main/resources/dearmor.properties new file mode 100644 index 0000000..fc2f119 --- /dev/null +++ b/sop-java-picocli/src/main/resources/dearmor.properties @@ -0,0 +1,4 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Remove ASCII Armor from standard input diff --git a/sop-java-picocli/src/main/resources/dearmor_de.properties b/sop-java-picocli/src/main/resources/dearmor_de.properties new file mode 100644 index 0000000..186540e --- /dev/null +++ b/sop-java-picocli/src/main/resources/dearmor_de.properties @@ -0,0 +1,4 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Entferne ASCII Armor von Standard-Eingabe diff --git a/sop-java-picocli/src/main/resources/decrypt.properties b/sop-java-picocli/src/main/resources/decrypt.properties new file mode 100644 index 0000000..ddf20eb --- /dev/null +++ b/sop-java-picocli/src/main/resources/decrypt.properties @@ -0,0 +1,23 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Decrypt a message from standard input +usage.option.session_key_out=Can be used to learn the session key on successful decryption +usage.option.with_session_key.0=Symmetric message key (session key). +usage.option.with_session_key.1=Enables decryption of the "CIPHERTEXT" using the session key directly against the "SEIPD" packet. +usage.option.with_session_key.2=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) +usage.option.with_password.0=Symmetric passphrase to decrypt the message with. +usage.option.with_password.1=Enables decryption based on any "SKESK" packets in the "CIPHERTEXT". +usage.option.with_password_2=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) +usage.option.verify_out=Emits signature verification status to the designated output +usage.option.certs=Certificates for signature verification +usage.option.not_before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +usage.option.not_before.1=Reject signatures with a creation date not in range. +usage.option.not_before.2=Defaults to beginning of time ('-'). +usage.option.not_after.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +usage.option.not_after.1=Reject signatures with a creation date not in range. +usage.option.not_after.2=Defaults to current system time ('now'). +usage.option.not_after.3=Accepts special value '-' for end of time. +usage.option.with_key_password.0=Passphrase to unlock the secret key(s). +usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). +usage.param.keys=Secret keys to attempt decryption with diff --git a/sop-java-picocli/src/main/resources/decrypt_de.properties b/sop-java-picocli/src/main/resources/decrypt_de.properties new file mode 100644 index 0000000..42d55e6 --- /dev/null +++ b/sop-java-picocli/src/main/resources/decrypt_de.properties @@ -0,0 +1,23 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Entschlüssle eine Nachricht von Standard-Eingabe +usage.option.session_key_out=Extrahiere den Nachrichtenschlüssel nach erfolgreicher Entschlüsselung +usage.option.with_session_key.0=Symmetrischer Nachrichtenschlüssel (Sitzungsschlüssel). +usage.option.with_session_key.1=Ermöglicht direkte Entschlüsselung des im "CIPHERTEXT" enhaltenen "SEIPD" Paketes mithilfe des Nachrichtenschlüssels. +usage.option.with_session_key.2=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +usage.option.with_password.0=Symmetrisches Passwort zur Entschlüsselung der Nachricht. +usage.option.with_password.1=Ermöglicht Entschlüsselung basierend auf im "CIPHERTEXT" enthaltenen "SKESK" Paketen. +usage.option.with_password.2=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +usage.option.verify_out=Schreibe Status der Signaturprüfung in angegebene Ausgabe +usage.option.certs=Zertifikate zur Signaturprüfung +usage.option.not_before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +usage.option.not_before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +usage.option.not_before.2=Standardmäßig: Anbeginn der Zeit ('-'). +usage.option.not_after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +usage.option.not_after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +usage.option.not_after.2=Standardmäßig: Aktueller Zeitunkt ('now'). +usage.option.not_after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. +usage.option.with_key_password.0=Passwort zum Entsperren der privaten Schlüssel +usage.option.with_key_password.1=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +usage.param.keys=Private Schlüssel zum Entschlüsseln der Nachricht diff --git a/sop-java-picocli/src/main/resources/detached-sign.properties b/sop-java-picocli/src/main/resources/detached-sign.properties new file mode 100644 index 0000000..9238b35 --- /dev/null +++ b/sop-java-picocli/src/main/resources/detached-sign.properties @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Create a detached signature on the data from standard input +usage.option.armor=ASCII armor the output +usage.option.as.0=Specify the output format of the signed message +usage.option.as.1=Defaults to 'binary'. +usage-option.as.2=If '--as=text' and the input data is not valid UTF-8, sign fails with return code 53. +usage.option.with_key_password.0=Passphrase to unlock the secret key(s). +usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). +usage.option.micalg_out=Emits the digest algorithm used to the specified file in a way that can be used to populate the micalg parameter for the PGP/MIME Content-Type (RFC3156) +usage.parameter.keys=Secret keys used for signing diff --git a/sop-java-picocli/src/main/resources/detached-sign_de.properties b/sop-java-picocli/src/main/resources/detached-sign_de.properties new file mode 100644 index 0000000..abc70b4 --- /dev/null +++ b/sop-java-picocli/src/main/resources/detached-sign_de.properties @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Erstelle abgetrennte Signatur über Nachricht von Standard-Eingabe +usage.option.armor=Schütze Ausgabe mit ASCII Armor +usage.option.as.0=Bestimme Signaturformat der Nachricht. +usage.option.as.1=Standardmäßig: 'binary'. +usage-option.as.2=Ist die Standard-Eingabe nicht UTF-8 kodiert und '--as=text' gesetzt, so wird inline-sign Fehlercode 53 zurückgeben. +usage.option.with_key_password.0=Passwort zum Entsperren des privaten Schlüssels +usage.option.with_key_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +usage.option.micalg_out=Gibt den verwendeten Digest-Algorithmus an die angegebene Ausgabe in einer Form aus, die zum Auffüllen des micalg-Parameters für den PGP/MIME Content-Type (RFC3156) verwendet werden kann. +usage.parameter.keys=Private Signaturschlüssel diff --git a/sop-java-picocli/src/main/resources/detached-verify.properties b/sop-java-picocli/src/main/resources/detached-verify.properties new file mode 100644 index 0000000..a4ddd33 --- /dev/null +++ b/sop-java-picocli/src/main/resources/detached-verify.properties @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Verify a detached signature over the data from standard input +usage.option.not_before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +usage.option.not_before.1=Reject signatures with a creation date not in range. +usage.option.not_before.2=Defaults to beginning of time ("-"). +usage.option.not_after.1=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +usage.option.not_after.2=Reject signatures with a creation date not in range. +usage.option.not_after.3=Defaults to current system time ("now").\ +usage.option.not_after.4 = Accepts special value "-" for end of time. +usage.parameter.signature=Detached signature +usage.parameter.certs=Public key certificates for signature verification diff --git a/sop-java-picocli/src/main/resources/detached-verify_de.properties b/sop-java-picocli/src/main/resources/detached-verify_de.properties new file mode 100644 index 0000000..f378ad5 --- /dev/null +++ b/sop-java-picocli/src/main/resources/detached-verify_de.properties @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Prüfe eine abgetrennte Signatur über eine Nachricht von Standard-Eingabe +usage.option.not_before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +usage.option.not_before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +usage.option.not_before.2=Standardmäßig: Anbeginn der Zeit ('-'). +usage.option.not_after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +usage.option.not_after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +usage.option.not_after.2=Standardmäßig: Aktueller Zeitunkt ('now'). +usage.option.not_after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. +usage.parameter.signature=Abgetrennte Signatur +usage.parameter.certs=Zertifikate (öffentliche Schlüssel) zur Signaturprüfung diff --git a/sop-java-picocli/src/main/resources/encrypt.properties b/sop-java-picocli/src/main/resources/encrypt.properties new file mode 100644 index 0000000..f9b57e9 --- /dev/null +++ b/sop-java-picocli/src/main/resources/encrypt.properties @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Encrypt a message from standard input +usage.option.armor=ASCII armor the output +usage.option.type=Type of the input data. Defaults to 'binary' +usage.option.with_password.0=Encrypt the message with a password. +usage.option.with_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) +usage.option.sign_with=Sign the output with a private key +usage.option.with_key_password.0=Passphrase to unlock the secret key(s). +usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). +usage.param.certs=Certificates the message gets encrypted to diff --git a/sop-java-picocli/src/main/resources/encrypt_de.properties b/sop-java-picocli/src/main/resources/encrypt_de.properties new file mode 100644 index 0000000..555f7c1 --- /dev/null +++ b/sop-java-picocli/src/main/resources/encrypt_de.properties @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Verschlüssle eine Nachricht von Standard-Eingabe +usage.option.armor=Schütze Ausgabe mit ASCII Armor +usage.option.type=Format der Nachricht. Standardmäßig 'binary' +usage.option.with_password.0=Verschlüssle die Nachricht mit einem Passwort +usage.option.with_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +usage.option.sign_with=Signiere die Nachricht mit einem privaten Schlüssel +usage.option.with_key_password.0=Passwort zum Entsperren der privaten Schlüssel +usage.option.with_key_password.1=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +usage.param.certs=Zertifikate für die die Nachricht verschlüsselt werden soll diff --git a/sop-java-picocli/src/main/resources/extract-cert.properties b/sop-java-picocli/src/main/resources/extract-cert.properties new file mode 100644 index 0000000..50f090e --- /dev/null +++ b/sop-java-picocli/src/main/resources/extract-cert.properties @@ -0,0 +1,5 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Extract a public key certificate from a secret key from standard input +usage.option.armor=ASCII armor the output diff --git a/sop-java-picocli/src/main/resources/extract-cert_de.properties b/sop-java-picocli/src/main/resources/extract-cert_de.properties new file mode 100644 index 0000000..f1607c3 --- /dev/null +++ b/sop-java-picocli/src/main/resources/extract-cert_de.properties @@ -0,0 +1,5 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Extrahiere Zertifikat (öffentlichen Schlüssel) aus privatem Schlüssel von Standard-Eingabe +usage.option.armor=Schütze Ausgabe mit ASCII Armor diff --git a/sop-java-picocli/src/main/resources/generate-key.properties b/sop-java-picocli/src/main/resources/generate-key.properties new file mode 100644 index 0000000..822a23e --- /dev/null +++ b/sop-java-picocli/src/main/resources/generate-key.properties @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Generate a secret key +usage.option.armor=ASCII armor the output +usage.option.user_id=User-ID, e.g. "Alice " +usage.option.with_key_password.0=Password to protect the private key with +usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). diff --git a/sop-java-picocli/src/main/resources/generate-key_de.properties b/sop-java-picocli/src/main/resources/generate-key_de.properties new file mode 100644 index 0000000..a698593 --- /dev/null +++ b/sop-java-picocli/src/main/resources/generate-key_de.properties @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Generiere einen privaten Schlüssel +usage.option.armor=Schütze Ausgabe mit ASCII Armor +usage.option.user_id=Nutzer-ID, z.B.. "Alice " +usage.option.with_key_password.0=Passwort zum Schutz des privaten Schlüssels +usage.option.with_key_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). diff --git a/sop-java-picocli/src/main/resources/inline-detach.properties b/sop-java-picocli/src/main/resources/inline-detach.properties new file mode 100644 index 0000000..0f03363 --- /dev/null +++ b/sop-java-picocli/src/main/resources/inline-detach.properties @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Split signatures from a clearsigned message +usage.option.armor=ASCII armor the output +usage.option.signatures_out=Destination to which a detached signatures block will be written diff --git a/sop-java-picocli/src/main/resources/inline-detach_de.properties b/sop-java-picocli/src/main/resources/inline-detach_de.properties new file mode 100644 index 0000000..3be5f5a --- /dev/null +++ b/sop-java-picocli/src/main/resources/inline-detach_de.properties @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Trenne Signaturen von Klartext-signierter Nachricht +usage.option.armor=Schütze Ausgabe mit ASCII Armor +usage.option.signatures_out=Schreibe abgetrennte Signaturen in Ausgabe diff --git a/sop-java-picocli/src/main/resources/inline-sign.properties b/sop-java-picocli/src/main/resources/inline-sign.properties new file mode 100644 index 0000000..79a2dab --- /dev/null +++ b/sop-java-picocli/src/main/resources/inline-sign.properties @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Create an inline-signed message from data on standard input +usage.option.armor=ASCII armor the output +usage.option.as.0=Specify the signature format of the signed message +usage.option.as.1='text' and 'binary' will produce inline-signed messages. +usage.option.as.2='cleartextsigned' will make use of the cleartext signature framework. +usage.option.as.3=Defaults to 'binary'. +usage.option.as.4=If '--as=text' and the input data is not valid UTF-8, inline-sign fails with return code 53. +usage.option.with_key_password.0=Passphrase to unlock the secret key(s). +usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). +usage.option.micalg=Emits the digest algorithm used to the specified file in a way that can be used to populate the micalg parameter for the PGP/MIME Content-Type (RFC3156) +usage.parameter.keys=Secret keys used for signing diff --git a/sop-java-picocli/src/main/resources/inline-sign_de.properties b/sop-java-picocli/src/main/resources/inline-sign_de.properties new file mode 100644 index 0000000..dc85ecd --- /dev/null +++ b/sop-java-picocli/src/main/resources/inline-sign_de.properties @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Signiere eine Nachricht von Standard-Eingabe mit eingebetteten Signaturen +usage.option.armor=Schütze Ausgabe mit ASCII Armor +usage.option.as.0=Bestimme Signaturformat der Nachricht. +usage.option.as.1='text' und 'binary' resultieren in eingebettete Signaturen. +usage.option.as.2='cleartextsigned' wird die Nachricht Klartext-signieren. +usage.option.as.3=Standardmäßig: 'binary'. +usage.option.as.4=Ist die Standard-Eingabe nicht UTF-8 kodiert und '--as=text' gesetzt, so wird inline-sign Fehlercode 53 zurückgeben. +usage.option.with_key_password.0=Passwort zum Entsperren des privaten Schlüssels +usage.option.with_key_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +usage.option.micalg=Gibt den verwendeten Digest-Algorithmus an die angegebene Ausgabe in einer Form aus, die zum Auffüllen des micalg-Parameters für den PGP/MIME Content-Type (RFC3156) verwendet werden kann. +usage.parameter.keys=Private Signaturschlüssel diff --git a/sop-java-picocli/src/main/resources/inline-verify.properties b/sop-java-picocli/src/main/resources/inline-verify.properties new file mode 100644 index 0000000..8552671 --- /dev/null +++ b/sop-java-picocli/src/main/resources/inline-verify.properties @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Verify inline-signed data from standard input +usage.option.not_before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +usage.option.not_before.1=Reject signatures with a creation date not in range. +usage.option.not_before.2=Defaults to beginning of time ("-"). +usage.option.not_after.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +usage.option.not_after.1=Reject signatures with a creation date not in range. +usage.option.not_after.2=Defaults to current system time ("now"). +usage.option.not_after.3=Accepts special value "-" for end of time. +usage.option.verifications_out=File to write details over successful verifications to +usage.parameter.certs=Public key certificates for signature verification diff --git a/sop-java-picocli/src/main/resources/inline-verify_de.properties b/sop-java-picocli/src/main/resources/inline-verify_de.properties new file mode 100644 index 0000000..ecc4a8e --- /dev/null +++ b/sop-java-picocli/src/main/resources/inline-verify_de.properties @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Prüfe eingebettete Signaturen einer Nachricht von Standard-Eingabe +usage.option.not_before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +usage.option.not_before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +usage.option.not_before.2=Standardmäßig: Anbeginn der Zeit ('-'). +usage.option.not_after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +usage.option.not_after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +usage.option.not_after.2=Standardmäßig: Aktueller Zeitunkt ('now'). +usage.option.not_after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. +usage.option.verifications_out=Schreibe Status der Signaturprüfung in angegebene Ausgabe +usage.parameter.certs=Zertifikate (öffentlich Schlüssel) zur Signaturprüfung diff --git a/sop-java-picocli/src/main/resources/sop.properties b/sop-java-picocli/src/main/resources/sop.properties index 78b9225..3962861 100644 --- a/sop-java-picocli/src/main/resources/sop.properties +++ b/sop-java-picocli/src/main/resources/sop.properties @@ -2,9 +2,9 @@ # # SPDX-License-Identifier: Apache-2.0 sop.name=sop -sop.usage.header=Stateless OpenPGP Protocol - +usage.header=Stateless OpenPGP Protocol usage.footerHeading=Powered by picocli%n + sop.locale=Locale for description texts # Generic usage.synopsisHeading=Usage:\u0020 @@ -30,93 +30,10 @@ usage.exitCodeList.15=69:Unsupported subcommand usage.exitCodeList.16=71:Unsupported special prefix (e.g. \"@env/@fd\") of indirect parameter usage.exitCodeList.17=73:Ambiguous input (a filename matching the designator already exists) usage.exitCodeList.18=79:Key is not signing capable -# Subcommands -sop.armor.usage.header=Add ASCII Armor to standard input -sop.armor.usage.option.label=Label to be used in the header and tail of the armoring -sop.dearmor.usage.header=Remove ASCII Armor from standard input -sop.decrypt.usage.header=Decrypt a message from standard input -sop.decrypt.usage.option.session_key_out=Can be used to learn the session key on successful decryption -sop.decrypt.usage.option.with_session_key.0=Symmetric message key (session key). -sop.decrypt.usage.option.with_session_key.1=Enables decryption of the "CIPHERTEXT" using the session key directly against the "SEIPD" packet. -sop.decrypt.usage.option.with_session_key.2=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) -sop.decrypt.usage.option.with_password.0=Symmetric passphrase to decrypt the message with. -sop.decrypt.usage.option.with_password.1=Enables decryption based on any "SKESK" packets in the "CIPHERTEXT". -sop.decrypt.usage.option.with_password_2=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) -sop.decrypt.usage.option.verify_out=Emits signature verification status to the designated output -sop.decrypt.usage.option.certs=Certificates for signature verification -sop.decrypt.usage.option.not_before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -sop.decrypt.usage.option.not_before.1=Reject signatures with a creation date not in range. -sop.decrypt.usage.option.not_before.2=Defaults to beginning of time ('-'). -sop.decrypt.usage.option.not_after.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -sop.decrypt.usage.option.not_after.1=Reject signatures with a creation date not in range. -sop.decrypt.usage.option.not_after.2=Defaults to current system time ('now'). -sop.decrypt.usage.option.not_after.3=Accepts special value '-' for end of time. -sop.decrypt.usage.option.with_key_password.0=Passphrase to unlock the secret key(s). -sop.decrypt.usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). -sop.decrypt.usage.param.keys=Secret keys to attempt decryption with -sop.encrypt.usage.header=Encrypt a message from standard input -sop.encrypt.usage.option.armor=ASCII armor the output -sop.encrypt.usage.option.type=Type of the input data. Defaults to 'binary' -sop.encrypt.usage.option.with_password.0=Encrypt the message with a password. -sop.encrypt.usage.option.with_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) -sop.encrypt.usage.option.sign_with=Sign the output with a private key -sop.encrypt.usage.option.with_key_password.0=Passphrase to unlock the secret key(s). -sop.encrypt.usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). -sop.encrypt.usage.param.certs=Certificates the message gets encrypted to -sop.extract-cert.usage.header=Extract a public key certificate from a secret key from standard input -sop.extract-cert.usage.option.armor=ASCII armor the output -sop.generate-key.usage.header=Generate a secret key -sop.generate-key.usage.option.armor=ASCII armor the output -sop.generate-key.usage.option.user_id=User-ID, e.g. "Alice " -sop.generate-key.usage.option.with_key_password.0=Password to protect the private key with -sop.generate-key.usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). -sop.inline-detach.usage.header=Split signatures from a clearsigned message -sop.inline-detach.usage.option.armor=ASCII armor the output -sop.inline-detach.usage.option.signatures_out=Destination to which a detached signatures block will be written -sop.inline-sign.usage.header=Create an inline-signed message from data on standard input -sop.inline-sign.usage.option.armor=ASCII armor the output -sop.inline-sign.usage.option.as.0=Specify the signature format of the signed message -sop.inline-sign.usage.option.as.1='text' and 'binary' will produce inline-signed messages. -sop.inline-sign.usage.option.as.2='cleartextsigned' will make use of the cleartext signature framework. -sop.inline-sign.usage.option.as.3=Defaults to 'binary'. -sop.inline-sign.usage.option.as.4=If '--as=text' and the input data is not valid UTF-8, inline-sign fails with return code 53. -sop.inline-sign.usage.option.with_key_password.0=Passphrase to unlock the secret key(s). -sop.inline-sign.usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). -sop.inline-sign.usage.option.micalg=Emits the digest algorithm used to the specified file in a way that can be used to populate the micalg parameter for the PGP/MIME Content-Type (RFC3156) -sop.inline-sign.usage.parameter.keys=Secret keys used for signing -sop.inline-verify.usage.header=Verify inline-signed data from standard input -sop.inline-verify.usage.option.not_before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -sop.inline-verify.usage.option.not_before.1=Reject signatures with a creation date not in range. -sop.inline-verify.usage.option.not_before.2=Defaults to beginning of time ("-"). -sop.inline-verify.usage.option.not_after.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -sop.inline-verify.usage.option.not_after.1=Reject signatures with a creation date not in range. -sop.inline-verify.usage.option.not_after.2=Defaults to current system time ("now"). -sop.inline-verify.usage.option.not_after.3=Accepts special value "-" for end of time. -sop.inline-verify.usage.option.verifications_out=File to write details over successful verifications to -sop.inline-verify.usage.parameter.certs=Public key certificates for signature verification -sop.sign.usage.header=Create a detached signature on the data from standard input -sop.sign.usage.option.armor=ASCII armor the output -sop.sign.usage.option.as.0=Specify the output format of the signed message -sop.sign.usage.option.as.1=Defaults to 'binary'. -sop.sign.usage-option.as.2=If '--as=text' and the input data is not valid UTF-8, sign fails with return code 53. -sop.sign.usage.option.with_key_password.0=Passphrase to unlock the secret key(s). -sop.sign.usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). -sop.sign.usage.option.micalg_out=Emits the digest algorithm used to the specified file in a way that can be used to populate the micalg parameter for the PGP/MIME Content-Type (RFC3156) -sop.sign.usage.parameter.keys=Secret keys used for signing -sop.verify.usage.header=Verify a detached signature over the data from standard input -sop.verify.usage.option.not_before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -sop.verify.usage.option.not_before.1=Reject signatures with a creation date not in range. -sop.verify.usage.option.not_before.2=Defaults to beginning of time ("-"). -sop.verify.usage.option.not_after.1=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -sop.verify.usage.option.not_after.2=Reject signatures with a creation date not in range. -sop.verify.usage.option.not_after.3=Defaults to current system time ("now").\ -sop.verify.usage.option.not_after.4 = Accepts special value "-" for end of time. -sop.verify.usage.parameter.signature=Detached signature -sop.verify.usage.parameter.certs=Public key certificates for signature verification -sop.version.usage.header=Display version information about the tool -sop.version.usage.option.extended=Print an extended version string -sop.version.usage.option.backend=Print information about the cryptographic backend -sop.help.usage.header=Display usage information for the specified subcommand + +help.usage.header=Display usage information for the specified subcommand + +## SHARED RESOURCES ## Malformed Input sop.error.input.malformed_session_key=Session keys are expected in the format 'ALGONUM:HEXKEY'. sop.error.input.not_a_private_key=Input '%s' does not contain an OpenPGP private key. diff --git a/sop-java-picocli/src/main/resources/sop_de.properties b/sop-java-picocli/src/main/resources/sop_de.properties index 1b59021..78ccc39 100644 --- a/sop-java-picocli/src/main/resources/sop_de.properties +++ b/sop-java-picocli/src/main/resources/sop_de.properties @@ -2,8 +2,9 @@ # # SPDX-License-Identifier: Apache-2.0 sop.name=sop -sop.usage.header=Stateless OpenPGP Protocol +usage.header=Stateless OpenPGP Protocol usage.footerHeading=Powered by Picocli%n + sop.locale=Gebietsschema für Beschreibungstexte # Generic usage.synopsisHeading=Aufruf:\u0020 @@ -29,93 +30,10 @@ usage.exitCodeList.15=69:Nicht unterst usage.exitCodeList.16=71:Nicht unterstützter Spezialprefix (z.B.. "@env/@fd") von indirektem Parameter usage.exitCodeList.17=73:Mehrdeutige Eingabe (ein Dateiname, der dem Bezeichner entspricht, existiert bereits) usage.exitCodeList.18=79:Schlüssel ist nicht fähig zu signieren -# Subcommands -sop.armor.usage.header=Schütze Standard-Eingabe mit ASCII Armor -sop.armor.usage.option.label=Label für Kopf- und Fußzeile der ASCII Armor -sop.dearmor.usage.header=Entferne ASCII Armor von Standard-Eingabe -sop.decrypt.usage.header=Entschlüssle eine Nachricht von Standard-Eingabe -sop.decrypt.usage.option.session_key_out=Extrahiere den Nachrichtenschlüssel nach erfolgreicher Entschlüsselung -sop.decrypt.usage.option.with_session_key.0=Symmetrischer Nachrichtenschlüssel (Sitzungsschlüssel). -sop.decrypt.usage.option.with_session_key.1=Ermöglicht direkte Entschlüsselung des im "CIPHERTEXT" enhaltenen "SEIPD" Paketes mithilfe des Nachrichtenschlüssels. -sop.decrypt.usage.option.with_session_key.2=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -sop.decrypt.usage.option.with_password.0=Symmetrisches Passwort zur Entschlüsselung der Nachricht. -sop.decrypt.usage.option.with_password.1=Ermöglicht Entschlüsselung basierend auf im "CIPHERTEXT" enthaltenen "SKESK" Paketen. -sop.decrypt.usage.option.with_password.2=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -sop.decrypt.usage.option.verify_out=Schreibe Status der Signaturprüfung in angegebene Ausgabe -sop.decrypt.usage.option.certs=Zertifikate zur Signaturprüfung -sop.decrypt.usage.option.not_before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -sop.decrypt.usage.option.not_before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -sop.decrypt.usage.option.not_before.2=Standardmäßig: Anbeginn der Zeit ('-'). -sop.decrypt.usage.option.not_after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -sop.decrypt.usage.option.not_after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -sop.decrypt.usage.option.not_after.2=Standardmäßig: Aktueller Zeitunkt ('now'). -sop.decrypt.usage.option.not_after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. -sop.decrypt.usage.option.with_key_password.0=Passwort zum Entsperren der privaten Schlüssel -sop.decrypt.usage.option.with_key_password.1=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -sop.decrypt.usage.param.keys=Private Schlüssel zum Entschlüsseln der Nachricht -sop.encrypt.usage.header=Verschlüssle eine Nachricht von Standard-Eingabe -sop.encrypt.usage.option.armor=Schütze Ausgabe mit ASCII Armor -sop.encrypt.usage.option.type=Format der Nachricht. Standardmäßig 'binary' -sop.encrypt.usage.option.with_password.0=Verschlüssle die Nachricht mit einem Passwort -sop.encrypt.usage.option.with_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -sop.encrypt.usage.option.sign_with=Signiere die Nachricht mit einem privaten Schlüssel -sop.encrypt.usage.option.with_key_password.0=Passwort zum Entsperren der privaten Schlüssel -sop.encrypt.usage.option.with_key_password.1=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -sop.encrypt.usage.param.certs=Zertifikate für die die Nachricht verschlüsselt werden soll -sop.extract-cert.usage.header=Extrahiere Zertifikat (öffentlichen Schlüssel) aus privatem Schlüssel von Standard-Eingabe -sop.extract-cert.usage.option.armor=Schütze Ausgabe mit ASCII Armor -sop.generate-key.usage.header=Generiere einen privaten Schlüssel -sop.generate-key.usage.option.armor=Schütze Ausgabe mit ASCII Armor -sop.generate-key.usage.option.user_id=Nutzer-ID, z.B.. "Alice " -sop.generate-key.usage.option.with_key_password.0=Passwort zum Schutz des privaten Schlüssels -sop.generate-key.usage.option.with_key_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -sop.inline-detach.usage.header=Trenne Signaturen von Klartext-signierter Nachricht -sop.inline-detach.usage.option.armor=Schütze Ausgabe mit ASCII Armor -sop.inline-detach.usage.option.signatures_out=Schreibe abgetrennte Signaturen in Ausgabe -sop.inline-sign.usage.header=Signiere eine Nachricht von Standard-Eingabe mit eingebetteten Signaturen -sop.inline-sign.usage.option.armor=Schütze Ausgabe mit ASCII Armor -sop.inline-sign.usage.option.as.0=Bestimme Signaturformat der Nachricht. -sop.inline-sign.usage.option.as.1='text' und 'binary' resultieren in eingebettete Signaturen. -sop.inline-sign.usage.option.as.2='cleartextsigned' wird die Nachricht Klartext-signieren. -sop.inline-sign.usage.option.as.3=Standardmäßig: 'binary'. -sop.inline-sign.usage.option.as.4=Ist die Standard-Eingabe nicht UTF-8 kodiert und '--as=text' gesetzt, so wird inline-sign Fehlercode 53 zurückgeben. -sop.inline-sign.usage.option.with_key_password.0=Passwort zum Entsperren des privaten Schlüssels -sop.inline-sign.usage.option.with_key_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -sop.inline-sign.usage.option.micalg=Gibt den verwendeten Digest-Algorithmus an die angegebene Ausgabe in einer Form aus, die zum Auffüllen des micalg-Parameters für den PGP/MIME Content-Type (RFC3156) verwendet werden kann. -sop.inline-sign.usage.parameter.keys=Private Signaturschlüssel -sop.inline-verify.usage.header=Prüfe eingebettete Signaturen einer Nachricht von Standard-Eingabe -sop.inline-verify.usage.option.not_before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -sop.inline-verify.usage.option.not_before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -sop.inline-verify.usage.option.not_before.2=Standardmäßig: Anbeginn der Zeit ('-'). -sop.inline-verify.usage.option.not_after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -sop.inline-verify.usage.option.not_after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -sop.inline-verify.usage.option.not_after.2=Standardmäßig: Aktueller Zeitunkt ('now'). -sop.inline-verify.usage.option.not_after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. -sop.inline-verify.usage.option.verifications_out=Schreibe Status der Signaturprüfung in angegebene Ausgabe -sop.inline-verify.usage.parameter.certs=Zertifikate (öffentlich Schlüssel) zur Signaturprüfung -sop.sign.usage.header=Erstelle abgetrennte Signatur über Nachricht von Standard-Eingabe -sop.sign.usage.option.armor=Schütze Ausgabe mit ASCII Armor -sop.sign.usage.option.as.0=Bestimme Signaturformat der Nachricht. -sop.sign.usage.option.as.1=Standardmäßig: 'binary'. -sop.sign.usage-option.as.2=Ist die Standard-Eingabe nicht UTF-8 kodiert und '--as=text' gesetzt, so wird inline-sign Fehlercode 53 zurückgeben. -sop.sign.usage.option.with_key_password.0=Passwort zum Entsperren des privaten Schlüssels -sop.sign.usage.option.with_key_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -sop.sign.usage.option.micalg_out=Gibt den verwendeten Digest-Algorithmus an die angegebene Ausgabe in einer Form aus, die zum Auffüllen des micalg-Parameters für den PGP/MIME Content-Type (RFC3156) verwendet werden kann. -sop.sign.usage.parameter.keys=Private Signaturschlüssel -sop.verify.usage.header=Prüfe eine abgetrennte Signatur über eine Nachricht von Standard-Eingabe -sop.verify.usage.option.not_before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -sop.verify.usage.option.not_before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -sop.verify.usage.option.not_before.2=Standardmäßig: Anbeginn der Zeit ('-'). -sop.verify.usage.option.not_after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -sop.verify.usage.option.not_after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -sop.verify.usage.option.not_after.2=Standardmäßig: Aktueller Zeitunkt ('now'). -sop.verify.usage.option.not_after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. -sop.verify.usage.parameter.signature=Abgetrennte Signatur -sop.verify.usage.parameter.certs=Zertifikate (öffentliche Schlüssel) zur Signaturprüfung -sop.version.usage.header=Zeige Versionsinformationen über das Programm -sop.version.usage.option.extended=Gebe erweiterte Versionsinformationen aus -sop.version.usage.option.backend=Gebe Informationen über das kryptografische Backend aus + sop.help.usage.header=Zeige Nutzungshilfen für den angegebenen Unterbefehl an + +## SHARED RESOURCES ## Malformed Input sop.error.input.malformed_session_key=Nachrichtenschlüssel werden im folgenden Format erwartet: 'ALGONUM:HEXKEY' sop.error.input.not_a_private_key=Eingabe '%s' enthält keinen privaten OpenPGP Schlüssel. diff --git a/sop-java-picocli/src/main/resources/version.properties b/sop-java-picocli/src/main/resources/version.properties new file mode 100644 index 0000000..4bf6457 --- /dev/null +++ b/sop-java-picocli/src/main/resources/version.properties @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Display version information about the tool +usage.option.extended=Print an extended version string +usage.option.backend=Print information about the cryptographic backend diff --git a/sop-java-picocli/src/main/resources/version_de.properties b/sop-java-picocli/src/main/resources/version_de.properties new file mode 100644 index 0000000..18250ea --- /dev/null +++ b/sop-java-picocli/src/main/resources/version_de.properties @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Zeige Versionsinformationen über das Programm +usage.option.extended=Gebe erweiterte Versionsinformationen aus +usage.option.backend=Gebe Informationen über das kryptografische Backend aus diff --git a/version.gradle b/version.gradle index 9aa5316..e94f79d 100644 --- a/version.gradle +++ b/version.gradle @@ -10,7 +10,7 @@ allprojects { javaSourceCompatibility = 1.8 junitVersion = '5.8.2' junitSysExitVersion = '1.1.2' - picocliVersion = '4.6.3' + picocliVersion = '4.7.0' mockitoVersion = '4.5.1' jsrVersion = '3.0.2' } From 7de94f1815684a7f5f081af09daf3647994e5958 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Wed, 27 Jul 2022 14:30:48 +0200 Subject: [PATCH 2/5] Set resource bundle for help command --- .../src/main/java/sop/cli/picocli/SopCLI.java | 13 +++++++++---- sop-java-picocli/src/main/resources/help.properties | 4 ++++ .../src/main/resources/help_de.properties | 4 ++++ sop-java-picocli/src/main/resources/sop.properties | 2 -- .../src/main/resources/sop_de.properties | 2 -- 5 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 sop-java-picocli/src/main/resources/help.properties create mode 100644 sop-java-picocli/src/main/resources/help_de.properties diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java b/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java index 2ce2e65..b823a8f 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java @@ -64,15 +64,20 @@ public class SopCLI { // Set locale new CommandLine(new InitLocale()).parseArgs(args); + // get error message bundle cliMsg = ResourceBundle.getBundle("sop"); // Prepare CLI CommandLine cmd = new CommandLine(SopCLI.class); - // Hide generate-completion command - CommandLine gen = cmd.getSubcommands().get("generate-completion"); - gen.getCommandSpec().usageMessage().hidden(true); - cmd.setExecutionExceptionHandler(new SOPExecutionExceptionHandler()) + // explicitly set help command resource bundle + cmd.getSubcommands().get("help").setResourceBundle(ResourceBundle.getBundle("help")); + + // Hide generate-completion command + cmd.getSubcommands().get("generate-completion").getCommandSpec().usageMessage().hidden(true); + + cmd.setCommandName(EXECUTABLE_NAME) + .setExecutionExceptionHandler(new SOPExecutionExceptionHandler()) .setExitCodeExceptionMapper(new SOPExceptionExitCodeMapper()) .setCaseInsensitiveEnumValuesAllowed(true); diff --git a/sop-java-picocli/src/main/resources/help.properties b/sop-java-picocli/src/main/resources/help.properties new file mode 100644 index 0000000..518f793 --- /dev/null +++ b/sop-java-picocli/src/main/resources/help.properties @@ -0,0 +1,4 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Display usage information for the specified subcommand diff --git a/sop-java-picocli/src/main/resources/help_de.properties b/sop-java-picocli/src/main/resources/help_de.properties new file mode 100644 index 0000000..d933a4a --- /dev/null +++ b/sop-java-picocli/src/main/resources/help_de.properties @@ -0,0 +1,4 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Zeige Nutzungshilfen für den angegebenen Unterbefehl an diff --git a/sop-java-picocli/src/main/resources/sop.properties b/sop-java-picocli/src/main/resources/sop.properties index 3962861..4fd31a2 100644 --- a/sop-java-picocli/src/main/resources/sop.properties +++ b/sop-java-picocli/src/main/resources/sop.properties @@ -31,8 +31,6 @@ usage.exitCodeList.16=71:Unsupported special prefix (e.g. \"@env/@fd\") of indir usage.exitCodeList.17=73:Ambiguous input (a filename matching the designator already exists) usage.exitCodeList.18=79:Key is not signing capable -help.usage.header=Display usage information for the specified subcommand - ## SHARED RESOURCES ## Malformed Input sop.error.input.malformed_session_key=Session keys are expected in the format 'ALGONUM:HEXKEY'. diff --git a/sop-java-picocli/src/main/resources/sop_de.properties b/sop-java-picocli/src/main/resources/sop_de.properties index 78ccc39..d2542de 100644 --- a/sop-java-picocli/src/main/resources/sop_de.properties +++ b/sop-java-picocli/src/main/resources/sop_de.properties @@ -31,8 +31,6 @@ usage.exitCodeList.16=71:Nicht unterst usage.exitCodeList.17=73:Mehrdeutige Eingabe (ein Dateiname, der dem Bezeichner entspricht, existiert bereits) usage.exitCodeList.18=79:Schlüssel ist nicht fähig zu signieren -sop.help.usage.header=Zeige Nutzungshilfen für den angegebenen Unterbefehl an - ## SHARED RESOURCES ## Malformed Input sop.error.input.malformed_session_key=Nachrichtenschlüssel werden im folgenden Format erwartet: 'ALGONUM:HEXKEY' From dc5f11469f847a114061fa4f71fda3cdab9bc205 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Thu, 4 Aug 2022 12:15:53 +0200 Subject: [PATCH 3/5] Rename resource bundles and name resources after options/parameters --- .../src/main/java/sop/cli/picocli/SopCLI.java | 8 +++---- .../cli/picocli/commands/AbstractSopCmd.java | 2 +- .../sop/cli/picocli/commands/ArmorCmd.java | 3 +-- .../sop/cli/picocli/commands/DearmorCmd.java | 2 +- .../sop/cli/picocli/commands/DecryptCmd.java | 13 ++--------- .../sop/cli/picocli/commands/EncryptCmd.java | 10 ++------ .../cli/picocli/commands/ExtractCertCmd.java | 3 +-- .../cli/picocli/commands/GenerateKeyCmd.java | 6 ++--- .../cli/picocli/commands/InlineDetachCmd.java | 4 +--- .../cli/picocli/commands/InlineSignCmd.java | 8 ++----- .../cli/picocli/commands/InlineVerifyCmd.java | 8 ++----- .../sop/cli/picocli/commands/SignCmd.java | 9 ++------ .../sop/cli/picocli/commands/VerifyCmd.java | 6 +---- .../sop/cli/picocli/commands/VersionCmd.java | 8 +++---- .../src/main/resources/decrypt.properties | 23 ------------------- .../src/main/resources/decrypt_de.properties | 23 ------------------- .../main/resources/detached-sign.properties | 12 ---------- .../resources/detached-sign_de.properties | 12 ---------- .../main/resources/detached-verify.properties | 13 ----------- .../resources/detached-verify_de.properties | 13 ----------- .../src/main/resources/encrypt.properties | 12 ---------- .../src/main/resources/encrypt_de.properties | 12 ---------- .../main/resources/generate-key.properties | 8 ------- .../main/resources/generate-key_de.properties | 8 ------- .../src/main/resources/inline-sign.properties | 14 ----------- .../main/resources/inline-sign_de.properties | 14 ----------- .../main/resources/inline-verify.properties | 13 ----------- .../resources/inline-verify_de.properties | 13 ----------- ...{armor.properties => msg_armor.properties} | 2 +- ..._de.properties => msg_armor_de.properties} | 2 +- ...rmor.properties => msg_dearmor.properties} | 0 ...e.properties => msg_dearmor_de.properties} | 0 .../src/main/resources/msg_decrypt.properties | 23 +++++++++++++++++++ .../main/resources/msg_decrypt_de.properties | 23 +++++++++++++++++++ .../resources/msg_detached-sign.properties | 12 ++++++++++ .../resources/msg_detached-sign_de.properties | 12 ++++++++++ .../resources/msg_detached-verify.properties | 13 +++++++++++ .../msg_detached-verify_de.properties | 13 +++++++++++ .../src/main/resources/msg_encrypt.properties | 12 ++++++++++ .../main/resources/msg_encrypt_de.properties | 12 ++++++++++ ...properties => msg_extract-cert.properties} | 2 +- ...perties => msg_extract-cert_de.properties} | 2 +- .../resources/msg_generate-key.properties | 8 +++++++ .../resources/msg_generate-key_de.properties | 8 +++++++ .../{help.properties => msg_help.properties} | 0 ...p_de.properties => msg_help_de.properties} | 0 ...roperties => msg_inline-detach.properties} | 4 ++-- ...erties => msg_inline-detach_de.properties} | 4 ++-- .../main/resources/msg_inline-sign.properties | 14 +++++++++++ .../resources/msg_inline-sign_de.properties | 14 +++++++++++ .../resources/msg_inline-verify.properties | 13 +++++++++++ .../resources/msg_inline-verify_de.properties | 13 +++++++++++ .../{sop.properties => msg_sop.properties} | 2 +- ...op_de.properties => msg_sop_de.properties} | 2 +- ...sion.properties => msg_version.properties} | 4 ++-- ...e.properties => msg_version_de.properties} | 4 ++-- 56 files changed, 229 insertions(+), 269 deletions(-) delete mode 100644 sop-java-picocli/src/main/resources/decrypt.properties delete mode 100644 sop-java-picocli/src/main/resources/decrypt_de.properties delete mode 100644 sop-java-picocli/src/main/resources/detached-sign.properties delete mode 100644 sop-java-picocli/src/main/resources/detached-sign_de.properties delete mode 100644 sop-java-picocli/src/main/resources/detached-verify.properties delete mode 100644 sop-java-picocli/src/main/resources/detached-verify_de.properties delete mode 100644 sop-java-picocli/src/main/resources/encrypt.properties delete mode 100644 sop-java-picocli/src/main/resources/encrypt_de.properties delete mode 100644 sop-java-picocli/src/main/resources/generate-key.properties delete mode 100644 sop-java-picocli/src/main/resources/generate-key_de.properties delete mode 100644 sop-java-picocli/src/main/resources/inline-sign.properties delete mode 100644 sop-java-picocli/src/main/resources/inline-sign_de.properties delete mode 100644 sop-java-picocli/src/main/resources/inline-verify.properties delete mode 100644 sop-java-picocli/src/main/resources/inline-verify_de.properties rename sop-java-picocli/src/main/resources/{armor.properties => msg_armor.properties} (67%) rename sop-java-picocli/src/main/resources/{armor_de.properties => msg_armor_de.properties} (71%) rename sop-java-picocli/src/main/resources/{dearmor.properties => msg_dearmor.properties} (100%) rename sop-java-picocli/src/main/resources/{dearmor_de.properties => msg_dearmor_de.properties} (100%) create mode 100644 sop-java-picocli/src/main/resources/msg_decrypt.properties create mode 100644 sop-java-picocli/src/main/resources/msg_decrypt_de.properties create mode 100644 sop-java-picocli/src/main/resources/msg_detached-sign.properties create mode 100644 sop-java-picocli/src/main/resources/msg_detached-sign_de.properties create mode 100644 sop-java-picocli/src/main/resources/msg_detached-verify.properties create mode 100644 sop-java-picocli/src/main/resources/msg_detached-verify_de.properties create mode 100644 sop-java-picocli/src/main/resources/msg_encrypt.properties create mode 100644 sop-java-picocli/src/main/resources/msg_encrypt_de.properties rename sop-java-picocli/src/main/resources/{extract-cert.properties => msg_extract-cert.properties} (81%) rename sop-java-picocli/src/main/resources/{extract-cert_de.properties => msg_extract-cert_de.properties} (80%) create mode 100644 sop-java-picocli/src/main/resources/msg_generate-key.properties create mode 100644 sop-java-picocli/src/main/resources/msg_generate-key_de.properties rename sop-java-picocli/src/main/resources/{help.properties => msg_help.properties} (100%) rename sop-java-picocli/src/main/resources/{help_de.properties => msg_help_de.properties} (100%) rename sop-java-picocli/src/main/resources/{inline-detach.properties => msg_inline-detach.properties} (54%) rename sop-java-picocli/src/main/resources/{inline-detach_de.properties => msg_inline-detach_de.properties} (58%) create mode 100644 sop-java-picocli/src/main/resources/msg_inline-sign.properties create mode 100644 sop-java-picocli/src/main/resources/msg_inline-sign_de.properties create mode 100644 sop-java-picocli/src/main/resources/msg_inline-verify.properties create mode 100644 sop-java-picocli/src/main/resources/msg_inline-verify_de.properties rename sop-java-picocli/src/main/resources/{sop.properties => msg_sop.properties} (99%) rename sop-java-picocli/src/main/resources/{sop_de.properties => msg_sop_de.properties} (99%) rename sop-java-picocli/src/main/resources/{version.properties => msg_version.properties} (56%) rename sop-java-picocli/src/main/resources/{version_de.properties => msg_version_de.properties} (54%) diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java b/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java index b823a8f..4e3d587 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java @@ -26,7 +26,7 @@ import java.util.ResourceBundle; @CommandLine.Command( name = "sop", - resourceBundle = "sop", + resourceBundle = "msg_sop", exitCodeOnInvalidInput = 69, subcommands = { CommandLine.HelpCommand.class, @@ -48,7 +48,7 @@ import java.util.ResourceBundle; public class SopCLI { // Singleton static SOP SOP_INSTANCE; - static ResourceBundle cliMsg = ResourceBundle.getBundle("sop"); + static ResourceBundle cliMsg = ResourceBundle.getBundle("msg_sop"); public static String EXECUTABLE_NAME = "sop"; @@ -65,13 +65,13 @@ public class SopCLI { new CommandLine(new InitLocale()).parseArgs(args); // get error message bundle - cliMsg = ResourceBundle.getBundle("sop"); + cliMsg = ResourceBundle.getBundle("msg_sop"); // Prepare CLI CommandLine cmd = new CommandLine(SopCLI.class); // explicitly set help command resource bundle - cmd.getSubcommands().get("help").setResourceBundle(ResourceBundle.getBundle("help")); + cmd.getSubcommands().get("help").setResourceBundle(ResourceBundle.getBundle("msg_help")); // Hide generate-completion command cmd.getSubcommands().get("generate-completion").getCommandSpec().usageMessage().hidden(true); diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/AbstractSopCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/AbstractSopCmd.java index ea73fc5..9cca658 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/AbstractSopCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/AbstractSopCmd.java @@ -48,7 +48,7 @@ public abstract class AbstractSopCmd implements Runnable { } public AbstractSopCmd(@Nonnull Locale locale) { - messages = ResourceBundle.getBundle("sop", locale); + messages = ResourceBundle.getBundle("msg_sop", locale); } void throwIfOutputExists(String output) { diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ArmorCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ArmorCmd.java index 9d626e5..5691686 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ArmorCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ArmorCmd.java @@ -14,12 +14,11 @@ import sop.operation.Armor; import java.io.IOException; @CommandLine.Command(name = "armor", - resourceBundle = "armor", + resourceBundle = "msg_armor", exitCodeOnInvalidInput = SOPGPException.UnsupportedOption.EXIT_CODE) public class ArmorCmd extends AbstractSopCmd { @CommandLine.Option(names = {"--label"}, - descriptionKey = "usage.option.label", paramLabel = "{auto|sig|key|cert|message}") ArmorLabel label; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DearmorCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DearmorCmd.java index 76f1b31..a4fca99 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DearmorCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DearmorCmd.java @@ -12,7 +12,7 @@ import sop.operation.Dearmor; import java.io.IOException; @CommandLine.Command(name = "dearmor", - resourceBundle = "dearmor", + resourceBundle = "msg_dearmor", exitCodeOnInvalidInput = SOPGPException.UnsupportedOption.EXIT_CODE) public class DearmorCmd extends AbstractSopCmd { diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DecryptCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DecryptCmd.java index 9f02bb8..f28af58 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DecryptCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/DecryptCmd.java @@ -24,7 +24,7 @@ import java.util.List; import java.util.regex.Pattern; @CommandLine.Command(name = "decrypt", - resourceBundle = "decrypt", + resourceBundle = "msg_decrypt", exitCodeOnInvalidInput = SOPGPException.UnsupportedOption.EXIT_CODE) public class DecryptCmd extends AbstractSopCmd { @@ -40,50 +40,41 @@ public class DecryptCmd extends AbstractSopCmd { @CommandLine.Option( names = {OPT_SESSION_KEY_OUT}, - descriptionKey = "usage.option.session_key_out", paramLabel = "SESSIONKEY") String sessionKeyOut; @CommandLine.Option( names = {OPT_WITH_SESSION_KEY}, - descriptionKey = "usage.option.with_session_key", paramLabel = "SESSIONKEY") List withSessionKey = new ArrayList<>(); @CommandLine.Option( names = {OPT_WITH_PASSWORD}, - descriptionKey = "usage.option.with_password", paramLabel = "PASSWORD") List withPassword = new ArrayList<>(); @CommandLine.Option(names = {OPT_VERIFY_OUT}, - descriptionKey = "usage.option.verify_out", paramLabel = "VERIFICATIONS") String verifyOut; @CommandLine.Option(names = {OPT_VERIFY_WITH}, - descriptionKey = "usage.option.certs", paramLabel = "CERT") List certs = new ArrayList<>(); @CommandLine.Option(names = {OPT_NOT_BEFORE}, - descriptionKey = "usage.option.not_before", paramLabel = "DATE") String notBefore = "-"; @CommandLine.Option(names = {OPT_NOT_AFTER}, - descriptionKey = "usage.option.not_after", paramLabel = "DATE") String notAfter = "now"; @CommandLine.Parameters(index = "0..*", - descriptionKey = "usage.param.keys", paramLabel = "KEY") List keys = new ArrayList<>(); @CommandLine.Option(names = {OPT_WITH_KEY_PASSWORD}, - descriptionKey = "usage.option.with_key_password", - paramLabel = "PASSWORD") + paramLabel = "PASSWORD") List withKeyPassword = new ArrayList<>(); @Override diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/EncryptCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/EncryptCmd.java index f87aba2..20b0779 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/EncryptCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/EncryptCmd.java @@ -17,37 +17,31 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "encrypt", - resourceBundle = "encrypt", + resourceBundle = "msg_encrypt", exitCodeOnInvalidInput = 37) public class EncryptCmd extends AbstractSopCmd { @CommandLine.Option(names = "--no-armor", - descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; @CommandLine.Option(names = {"--as"}, - descriptionKey = "usage.option.type", paramLabel = "{binary|text}") EncryptAs type; @CommandLine.Option(names = "--with-password", - descriptionKey = "usage.option.with_password", paramLabel = "PASSWORD") List withPassword = new ArrayList<>(); @CommandLine.Option(names = "--sign-with", - descriptionKey = "usage.option.sign_with", paramLabel = "KEY") List signWith = new ArrayList<>(); @CommandLine.Option(names = "--with-key-password", - descriptionKey = "usage.option.with_key_password", paramLabel = "PASSWORD") List withKeyPassword = new ArrayList<>(); - @CommandLine.Parameters(descriptionKey = "usage.param.certs", - index = "0..*", + @CommandLine.Parameters(index = "0..*", paramLabel = "CERTS") List certs = new ArrayList<>(); diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ExtractCertCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ExtractCertCmd.java index 4bb1c18..28a74b0 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ExtractCertCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/ExtractCertCmd.java @@ -13,12 +13,11 @@ import sop.exception.SOPGPException; import sop.operation.ExtractCert; @CommandLine.Command(name = "extract-cert", - resourceBundle = "extract-cert", + resourceBundle = "msg_extract-cert", exitCodeOnInvalidInput = 37) public class ExtractCertCmd extends AbstractSopCmd { @CommandLine.Option(names = "--no-armor", - descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java index 82c0a37..bab7280 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java @@ -15,20 +15,18 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "generate-key", - resourceBundle = "generate-key", + resourceBundle = "msg_generate-key", exitCodeOnInvalidInput = 37) public class GenerateKeyCmd extends AbstractSopCmd { @CommandLine.Option(names = "--no-armor", - descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; - @CommandLine.Parameters(descriptionKey = "usage.option.user_id") + @CommandLine.Parameters List userId = new ArrayList<>(); @CommandLine.Option(names = "--with-key-password", - descriptionKey = "usage.option.with_key_password", paramLabel = "PASSWORD") String withKeyPassword; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineDetachCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineDetachCmd.java index 3ed6f7a..52b654f 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineDetachCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineDetachCmd.java @@ -14,18 +14,16 @@ import java.io.IOException; import java.io.OutputStream; @CommandLine.Command(name = "inline-detach", - resourceBundle = "inline-detach", + resourceBundle = "msg_inline-detach", exitCodeOnInvalidInput = SOPGPException.UnsupportedOption.EXIT_CODE) public class InlineDetachCmd extends AbstractSopCmd { @CommandLine.Option( names = {"--signatures-out"}, - descriptionKey = "usage.option.signatures_out", paramLabel = "SIGNATURES") String signaturesOut; @CommandLine.Option(names = "--no-armor", - descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineSignCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineSignCmd.java index 823e332..476817b 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineSignCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineSignCmd.java @@ -17,26 +17,22 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "inline-sign", - resourceBundle = "inline-sign", + resourceBundle = "msg_inline-sign", exitCodeOnInvalidInput = 37) public class InlineSignCmd extends AbstractSopCmd { @CommandLine.Option(names = "--no-armor", - descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; @CommandLine.Option(names = "--as", - descriptionKey = "usage.option.as", paramLabel = "{binary|text|cleartextsigned}") InlineSignAs type; - @CommandLine.Parameters(descriptionKey = "usage.parameter.keys", - paramLabel = "KEYS") + @CommandLine.Parameters(paramLabel = "KEYS") List secretKeyFile = new ArrayList<>(); @CommandLine.Option(names = "--with-key-password", - descriptionKey = "usage.option.with_key_password", paramLabel = "PASSWORD") List withKeyPassword = new ArrayList<>(); diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineVerifyCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineVerifyCmd.java index df1f805..eb464ea 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineVerifyCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/InlineVerifyCmd.java @@ -19,27 +19,23 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "inline-verify", - resourceBundle = "inline-verify", + resourceBundle = "msg_inline-verify", exitCodeOnInvalidInput = 37) public class InlineVerifyCmd extends AbstractSopCmd { @CommandLine.Parameters(arity = "1..*", - descriptionKey = "usage.parameter.certs", paramLabel = "CERT") List certificates = new ArrayList<>(); @CommandLine.Option(names = {"--not-before"}, - descriptionKey = "usage.option.not_before", paramLabel = "DATE") String notBefore = "-"; @CommandLine.Option(names = {"--not-after"}, - descriptionKey = "usage.option.not_after", paramLabel = "DATE") String notAfter = "now"; - @CommandLine.Option(names = "--verifications-out", - descriptionKey = "usage.option.verifications_out") + @CommandLine.Option(names = "--verifications-out") String verificationsOut; @Override diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/SignCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/SignCmd.java index d441e1a..521262b 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/SignCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/SignCmd.java @@ -20,31 +20,26 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "sign", - resourceBundle = "detached-sign", + resourceBundle = "msg_detached-sign", exitCodeOnInvalidInput = 37) public class SignCmd extends AbstractSopCmd { @CommandLine.Option(names = "--no-armor", - descriptionKey = "usage.option.armor", negatable = true) boolean armor = true; @CommandLine.Option(names = "--as", - descriptionKey = "usage.option.as", paramLabel = "{binary|text}") SignAs type; - @CommandLine.Parameters(descriptionKey = "usage.parameter.keys", - paramLabel = "KEYS") + @CommandLine.Parameters(paramLabel = "KEYS") List secretKeyFile = new ArrayList<>(); @CommandLine.Option(names = "--with-key-password", - descriptionKey = "usage.option.with_key_password", paramLabel = "PASSWORD") List withKeyPassword = new ArrayList<>(); @CommandLine.Option(names = "--micalg-out", - descriptionKey = "usage.option.micalg_out", paramLabel = "MICALG") String micAlgOut; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VerifyCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VerifyCmd.java index d029c52..8054e1f 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VerifyCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VerifyCmd.java @@ -17,28 +17,24 @@ import java.util.ArrayList; import java.util.List; @CommandLine.Command(name = "verify", - resourceBundle = "detached-verify", + resourceBundle = "msg_detached-verify", exitCodeOnInvalidInput = 37) public class VerifyCmd extends AbstractSopCmd { @CommandLine.Parameters(index = "0", - descriptionKey = "usage.parameter.signature", paramLabel = "SIGNATURE") String signature; @CommandLine.Parameters(index = "0..*", arity = "1..*", - descriptionKey = "usage.parameter.certs", paramLabel = "CERT") List certificates = new ArrayList<>(); @CommandLine.Option(names = {"--not-before"}, - descriptionKey = "usage.option.not_before", paramLabel = "DATE") String notBefore = "-"; @CommandLine.Option(names = {"--not-after"}, - descriptionKey = "usage.option.not_after", paramLabel = "DATE") String notAfter = "now"; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VersionCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VersionCmd.java index 2cf97e9..3610ff4 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VersionCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/VersionCmd.java @@ -9,7 +9,7 @@ import sop.cli.picocli.Print; import sop.cli.picocli.SopCLI; import sop.operation.Version; -@CommandLine.Command(name = "version", resourceBundle = "version", +@CommandLine.Command(name = "version", resourceBundle = "msg_version", exitCodeOnInvalidInput = 37) public class VersionCmd extends AbstractSopCmd { @@ -17,12 +17,10 @@ public class VersionCmd extends AbstractSopCmd { Exclusive exclusive; static class Exclusive { - @CommandLine.Option(names = "--extended", - descriptionKey = "usage.option.extended") + @CommandLine.Option(names = "--extended") boolean extended; - @CommandLine.Option(names = "--backend", - descriptionKey = "usage.option.backend") + @CommandLine.Option(names = "--backend") boolean backend; } diff --git a/sop-java-picocli/src/main/resources/decrypt.properties b/sop-java-picocli/src/main/resources/decrypt.properties deleted file mode 100644 index ddf20eb..0000000 --- a/sop-java-picocli/src/main/resources/decrypt.properties +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Decrypt a message from standard input -usage.option.session_key_out=Can be used to learn the session key on successful decryption -usage.option.with_session_key.0=Symmetric message key (session key). -usage.option.with_session_key.1=Enables decryption of the "CIPHERTEXT" using the session key directly against the "SEIPD" packet. -usage.option.with_session_key.2=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) -usage.option.with_password.0=Symmetric passphrase to decrypt the message with. -usage.option.with_password.1=Enables decryption based on any "SKESK" packets in the "CIPHERTEXT". -usage.option.with_password_2=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) -usage.option.verify_out=Emits signature verification status to the designated output -usage.option.certs=Certificates for signature verification -usage.option.not_before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -usage.option.not_before.1=Reject signatures with a creation date not in range. -usage.option.not_before.2=Defaults to beginning of time ('-'). -usage.option.not_after.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -usage.option.not_after.1=Reject signatures with a creation date not in range. -usage.option.not_after.2=Defaults to current system time ('now'). -usage.option.not_after.3=Accepts special value '-' for end of time. -usage.option.with_key_password.0=Passphrase to unlock the secret key(s). -usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). -usage.param.keys=Secret keys to attempt decryption with diff --git a/sop-java-picocli/src/main/resources/decrypt_de.properties b/sop-java-picocli/src/main/resources/decrypt_de.properties deleted file mode 100644 index 42d55e6..0000000 --- a/sop-java-picocli/src/main/resources/decrypt_de.properties +++ /dev/null @@ -1,23 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Entschlüssle eine Nachricht von Standard-Eingabe -usage.option.session_key_out=Extrahiere den Nachrichtenschlüssel nach erfolgreicher Entschlüsselung -usage.option.with_session_key.0=Symmetrischer Nachrichtenschlüssel (Sitzungsschlüssel). -usage.option.with_session_key.1=Ermöglicht direkte Entschlüsselung des im "CIPHERTEXT" enhaltenen "SEIPD" Paketes mithilfe des Nachrichtenschlüssels. -usage.option.with_session_key.2=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -usage.option.with_password.0=Symmetrisches Passwort zur Entschlüsselung der Nachricht. -usage.option.with_password.1=Ermöglicht Entschlüsselung basierend auf im "CIPHERTEXT" enthaltenen "SKESK" Paketen. -usage.option.with_password.2=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -usage.option.verify_out=Schreibe Status der Signaturprüfung in angegebene Ausgabe -usage.option.certs=Zertifikate zur Signaturprüfung -usage.option.not_before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -usage.option.not_before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -usage.option.not_before.2=Standardmäßig: Anbeginn der Zeit ('-'). -usage.option.not_after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -usage.option.not_after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -usage.option.not_after.2=Standardmäßig: Aktueller Zeitunkt ('now'). -usage.option.not_after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. -usage.option.with_key_password.0=Passwort zum Entsperren der privaten Schlüssel -usage.option.with_key_password.1=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -usage.param.keys=Private Schlüssel zum Entschlüsseln der Nachricht diff --git a/sop-java-picocli/src/main/resources/detached-sign.properties b/sop-java-picocli/src/main/resources/detached-sign.properties deleted file mode 100644 index 9238b35..0000000 --- a/sop-java-picocli/src/main/resources/detached-sign.properties +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Create a detached signature on the data from standard input -usage.option.armor=ASCII armor the output -usage.option.as.0=Specify the output format of the signed message -usage.option.as.1=Defaults to 'binary'. -usage-option.as.2=If '--as=text' and the input data is not valid UTF-8, sign fails with return code 53. -usage.option.with_key_password.0=Passphrase to unlock the secret key(s). -usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). -usage.option.micalg_out=Emits the digest algorithm used to the specified file in a way that can be used to populate the micalg parameter for the PGP/MIME Content-Type (RFC3156) -usage.parameter.keys=Secret keys used for signing diff --git a/sop-java-picocli/src/main/resources/detached-sign_de.properties b/sop-java-picocli/src/main/resources/detached-sign_de.properties deleted file mode 100644 index abc70b4..0000000 --- a/sop-java-picocli/src/main/resources/detached-sign_de.properties +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Erstelle abgetrennte Signatur über Nachricht von Standard-Eingabe -usage.option.armor=Schütze Ausgabe mit ASCII Armor -usage.option.as.0=Bestimme Signaturformat der Nachricht. -usage.option.as.1=Standardmäßig: 'binary'. -usage-option.as.2=Ist die Standard-Eingabe nicht UTF-8 kodiert und '--as=text' gesetzt, so wird inline-sign Fehlercode 53 zurückgeben. -usage.option.with_key_password.0=Passwort zum Entsperren des privaten Schlüssels -usage.option.with_key_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -usage.option.micalg_out=Gibt den verwendeten Digest-Algorithmus an die angegebene Ausgabe in einer Form aus, die zum Auffüllen des micalg-Parameters für den PGP/MIME Content-Type (RFC3156) verwendet werden kann. -usage.parameter.keys=Private Signaturschlüssel diff --git a/sop-java-picocli/src/main/resources/detached-verify.properties b/sop-java-picocli/src/main/resources/detached-verify.properties deleted file mode 100644 index a4ddd33..0000000 --- a/sop-java-picocli/src/main/resources/detached-verify.properties +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Verify a detached signature over the data from standard input -usage.option.not_before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -usage.option.not_before.1=Reject signatures with a creation date not in range. -usage.option.not_before.2=Defaults to beginning of time ("-"). -usage.option.not_after.1=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -usage.option.not_after.2=Reject signatures with a creation date not in range. -usage.option.not_after.3=Defaults to current system time ("now").\ -usage.option.not_after.4 = Accepts special value "-" for end of time. -usage.parameter.signature=Detached signature -usage.parameter.certs=Public key certificates for signature verification diff --git a/sop-java-picocli/src/main/resources/detached-verify_de.properties b/sop-java-picocli/src/main/resources/detached-verify_de.properties deleted file mode 100644 index f378ad5..0000000 --- a/sop-java-picocli/src/main/resources/detached-verify_de.properties +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Prüfe eine abgetrennte Signatur über eine Nachricht von Standard-Eingabe -usage.option.not_before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -usage.option.not_before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -usage.option.not_before.2=Standardmäßig: Anbeginn der Zeit ('-'). -usage.option.not_after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -usage.option.not_after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -usage.option.not_after.2=Standardmäßig: Aktueller Zeitunkt ('now'). -usage.option.not_after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. -usage.parameter.signature=Abgetrennte Signatur -usage.parameter.certs=Zertifikate (öffentliche Schlüssel) zur Signaturprüfung diff --git a/sop-java-picocli/src/main/resources/encrypt.properties b/sop-java-picocli/src/main/resources/encrypt.properties deleted file mode 100644 index f9b57e9..0000000 --- a/sop-java-picocli/src/main/resources/encrypt.properties +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Encrypt a message from standard input -usage.option.armor=ASCII armor the output -usage.option.type=Type of the input data. Defaults to 'binary' -usage.option.with_password.0=Encrypt the message with a password. -usage.option.with_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) -usage.option.sign_with=Sign the output with a private key -usage.option.with_key_password.0=Passphrase to unlock the secret key(s). -usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). -usage.param.certs=Certificates the message gets encrypted to diff --git a/sop-java-picocli/src/main/resources/encrypt_de.properties b/sop-java-picocli/src/main/resources/encrypt_de.properties deleted file mode 100644 index 555f7c1..0000000 --- a/sop-java-picocli/src/main/resources/encrypt_de.properties +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Verschlüssle eine Nachricht von Standard-Eingabe -usage.option.armor=Schütze Ausgabe mit ASCII Armor -usage.option.type=Format der Nachricht. Standardmäßig 'binary' -usage.option.with_password.0=Verschlüssle die Nachricht mit einem Passwort -usage.option.with_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -usage.option.sign_with=Signiere die Nachricht mit einem privaten Schlüssel -usage.option.with_key_password.0=Passwort zum Entsperren der privaten Schlüssel -usage.option.with_key_password.1=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -usage.param.certs=Zertifikate für die die Nachricht verschlüsselt werden soll diff --git a/sop-java-picocli/src/main/resources/generate-key.properties b/sop-java-picocli/src/main/resources/generate-key.properties deleted file mode 100644 index 822a23e..0000000 --- a/sop-java-picocli/src/main/resources/generate-key.properties +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Generate a secret key -usage.option.armor=ASCII armor the output -usage.option.user_id=User-ID, e.g. "Alice " -usage.option.with_key_password.0=Password to protect the private key with -usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). diff --git a/sop-java-picocli/src/main/resources/generate-key_de.properties b/sop-java-picocli/src/main/resources/generate-key_de.properties deleted file mode 100644 index a698593..0000000 --- a/sop-java-picocli/src/main/resources/generate-key_de.properties +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Generiere einen privaten Schlüssel -usage.option.armor=Schütze Ausgabe mit ASCII Armor -usage.option.user_id=Nutzer-ID, z.B.. "Alice " -usage.option.with_key_password.0=Passwort zum Schutz des privaten Schlüssels -usage.option.with_key_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). diff --git a/sop-java-picocli/src/main/resources/inline-sign.properties b/sop-java-picocli/src/main/resources/inline-sign.properties deleted file mode 100644 index 79a2dab..0000000 --- a/sop-java-picocli/src/main/resources/inline-sign.properties +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Create an inline-signed message from data on standard input -usage.option.armor=ASCII armor the output -usage.option.as.0=Specify the signature format of the signed message -usage.option.as.1='text' and 'binary' will produce inline-signed messages. -usage.option.as.2='cleartextsigned' will make use of the cleartext signature framework. -usage.option.as.3=Defaults to 'binary'. -usage.option.as.4=If '--as=text' and the input data is not valid UTF-8, inline-sign fails with return code 53. -usage.option.with_key_password.0=Passphrase to unlock the secret key(s). -usage.option.with_key_password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). -usage.option.micalg=Emits the digest algorithm used to the specified file in a way that can be used to populate the micalg parameter for the PGP/MIME Content-Type (RFC3156) -usage.parameter.keys=Secret keys used for signing diff --git a/sop-java-picocli/src/main/resources/inline-sign_de.properties b/sop-java-picocli/src/main/resources/inline-sign_de.properties deleted file mode 100644 index dc85ecd..0000000 --- a/sop-java-picocli/src/main/resources/inline-sign_de.properties +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Signiere eine Nachricht von Standard-Eingabe mit eingebetteten Signaturen -usage.option.armor=Schütze Ausgabe mit ASCII Armor -usage.option.as.0=Bestimme Signaturformat der Nachricht. -usage.option.as.1='text' und 'binary' resultieren in eingebettete Signaturen. -usage.option.as.2='cleartextsigned' wird die Nachricht Klartext-signieren. -usage.option.as.3=Standardmäßig: 'binary'. -usage.option.as.4=Ist die Standard-Eingabe nicht UTF-8 kodiert und '--as=text' gesetzt, so wird inline-sign Fehlercode 53 zurückgeben. -usage.option.with_key_password.0=Passwort zum Entsperren des privaten Schlüssels -usage.option.with_key_password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -usage.option.micalg=Gibt den verwendeten Digest-Algorithmus an die angegebene Ausgabe in einer Form aus, die zum Auffüllen des micalg-Parameters für den PGP/MIME Content-Type (RFC3156) verwendet werden kann. -usage.parameter.keys=Private Signaturschlüssel diff --git a/sop-java-picocli/src/main/resources/inline-verify.properties b/sop-java-picocli/src/main/resources/inline-verify.properties deleted file mode 100644 index 8552671..0000000 --- a/sop-java-picocli/src/main/resources/inline-verify.properties +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Verify inline-signed data from standard input -usage.option.not_before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -usage.option.not_before.1=Reject signatures with a creation date not in range. -usage.option.not_before.2=Defaults to beginning of time ("-"). -usage.option.not_after.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) -usage.option.not_after.1=Reject signatures with a creation date not in range. -usage.option.not_after.2=Defaults to current system time ("now"). -usage.option.not_after.3=Accepts special value "-" for end of time. -usage.option.verifications_out=File to write details over successful verifications to -usage.parameter.certs=Public key certificates for signature verification diff --git a/sop-java-picocli/src/main/resources/inline-verify_de.properties b/sop-java-picocli/src/main/resources/inline-verify_de.properties deleted file mode 100644 index ecc4a8e..0000000 --- a/sop-java-picocli/src/main/resources/inline-verify_de.properties +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Paul Schaub -# -# SPDX-License-Identifier: Apache-2.0 -usage.header=Prüfe eingebettete Signaturen einer Nachricht von Standard-Eingabe -usage.option.not_before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -usage.option.not_before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -usage.option.not_before.2=Standardmäßig: Anbeginn der Zeit ('-'). -usage.option.not_after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) -usage.option.not_after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. -usage.option.not_after.2=Standardmäßig: Aktueller Zeitunkt ('now'). -usage.option.not_after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. -usage.option.verifications_out=Schreibe Status der Signaturprüfung in angegebene Ausgabe -usage.parameter.certs=Zertifikate (öffentlich Schlüssel) zur Signaturprüfung diff --git a/sop-java-picocli/src/main/resources/armor.properties b/sop-java-picocli/src/main/resources/msg_armor.properties similarity index 67% rename from sop-java-picocli/src/main/resources/armor.properties rename to sop-java-picocli/src/main/resources/msg_armor.properties index b963ceb..aae11eb 100644 --- a/sop-java-picocli/src/main/resources/armor.properties +++ b/sop-java-picocli/src/main/resources/msg_armor.properties @@ -2,4 +2,4 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Add ASCII Armor to standard input -usage.option.label=Label to be used in the header and tail of the armoring +label=Label to be used in the header and tail of the armoring diff --git a/sop-java-picocli/src/main/resources/armor_de.properties b/sop-java-picocli/src/main/resources/msg_armor_de.properties similarity index 71% rename from sop-java-picocli/src/main/resources/armor_de.properties rename to sop-java-picocli/src/main/resources/msg_armor_de.properties index 1023244..c5f7188 100644 --- a/sop-java-picocli/src/main/resources/armor_de.properties +++ b/sop-java-picocli/src/main/resources/msg_armor_de.properties @@ -2,4 +2,4 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Schütze Standard-Eingabe mit ASCII Armor -usage.option.label=Label für Kopf- und Fußzeile der ASCII Armor +label=Label für Kopf- und Fußzeile der ASCII Armor diff --git a/sop-java-picocli/src/main/resources/dearmor.properties b/sop-java-picocli/src/main/resources/msg_dearmor.properties similarity index 100% rename from sop-java-picocli/src/main/resources/dearmor.properties rename to sop-java-picocli/src/main/resources/msg_dearmor.properties diff --git a/sop-java-picocli/src/main/resources/dearmor_de.properties b/sop-java-picocli/src/main/resources/msg_dearmor_de.properties similarity index 100% rename from sop-java-picocli/src/main/resources/dearmor_de.properties rename to sop-java-picocli/src/main/resources/msg_dearmor_de.properties diff --git a/sop-java-picocli/src/main/resources/msg_decrypt.properties b/sop-java-picocli/src/main/resources/msg_decrypt.properties new file mode 100644 index 0000000..c7dca86 --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_decrypt.properties @@ -0,0 +1,23 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Decrypt a message from standard input +session-key-out=Can be used to learn the session key on successful decryption +with-session-key.0=Symmetric message key (session key). +with-session-key.1=Enables decryption of the "CIPHERTEXT" using the session key directly against the "SEIPD" packet. +with-session-key.2=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) +with-password.0=Symmetric passphrase to decrypt the message with. +with-password.1=Enables decryption based on any "SKESK" packets in the "CIPHERTEXT". +with-password.2=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) +verify-out=Emits signature verification status to the designated output +certs=Certificates for signature verification +not-before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +not-before.1=Reject signatures with a creation date not in range. +not-before.2=Defaults to beginning of time ('-'). +not-after.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +not-after.1=Reject signatures with a creation date not in range. +not-after.2=Defaults to current system time ('now'). +not-after.3=Accepts special value '-' for end of time. +with-key-password.0=Passphrase to unlock the secret key(s). +with-key-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). +keys=Secret keys to attempt decryption with diff --git a/sop-java-picocli/src/main/resources/msg_decrypt_de.properties b/sop-java-picocli/src/main/resources/msg_decrypt_de.properties new file mode 100644 index 0000000..2b0cc0d --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_decrypt_de.properties @@ -0,0 +1,23 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Entschlüssle eine Nachricht von Standard-Eingabe +session-key-out=Extrahiere den Nachrichtenschlüssel nach erfolgreicher Entschlüsselung +with-session-key.0=Symmetrischer Nachrichtenschlüssel (Sitzungsschlüssel). +with-session-key.1=Ermöglicht direkte Entschlüsselung des im "CIPHERTEXT" enhaltenen "SEIPD" Paketes mithilfe des Nachrichtenschlüssels. +with_session-key.2=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +with-password.0=Symmetrisches Passwort zur Entschlüsselung der Nachricht. +with-password.1=Ermöglicht Entschlüsselung basierend auf im "CIPHERTEXT" enthaltenen "SKESK" Paketen. +with-password.2=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +verify-out=Schreibe Status der Signaturprüfung in angegebene Ausgabe +certs=Zertifikate zur Signaturprüfung +not-before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +not-before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +not-before.2=Standardmäßig: Anbeginn der Zeit ('-'). +not-after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +not-after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +not-after.2=Standardmäßig: Aktueller Zeitunkt ('now'). +not-after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. +with-key-password.0=Passwort zum Entsperren der privaten Schlüssel +with-key-password.1=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +keys=Private Schlüssel zum Entschlüsseln der Nachricht diff --git a/sop-java-picocli/src/main/resources/msg_detached-sign.properties b/sop-java-picocli/src/main/resources/msg_detached-sign.properties new file mode 100644 index 0000000..8b51124 --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_detached-sign.properties @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Create a detached signature on the data from standard input +armor=ASCII armor the output +as.0=Specify the output format of the signed message +as.1=Defaults to 'binary'. +as.2=If '--as=text' and the input data is not valid UTF-8, sign fails with return code 53. +with-key-password.0=Passphrase to unlock the secret key(s). +with-key-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). +micalg-out=Emits the digest algorithm used to the specified file in a way that can be used to populate the micalg parameter for the PGP/MIME Content-Type (RFC3156) +keys=Secret keys used for signing diff --git a/sop-java-picocli/src/main/resources/msg_detached-sign_de.properties b/sop-java-picocli/src/main/resources/msg_detached-sign_de.properties new file mode 100644 index 0000000..fdd310a --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_detached-sign_de.properties @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Erstelle abgetrennte Signatur über Nachricht von Standard-Eingabe +armor=Schütze Ausgabe mit ASCII Armor +as.0=Bestimme Signaturformat der Nachricht. +as.1=Standardmäßig: 'binary'. +as.2=Ist die Standard-Eingabe nicht UTF-8 kodiert und '--as=text' gesetzt, so wird inline-sign Fehlercode 53 zurückgeben. +with-key-password.0=Passwort zum Entsperren des privaten Schlüssels +with-key-password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +micalg-out=Gibt den verwendeten Digest-Algorithmus an die angegebene Ausgabe in einer Form aus, die zum Auffüllen des micalg-Parameters für den PGP/MIME Content-Type (RFC3156) verwendet werden kann. +keys=Private Signaturschlüssel diff --git a/sop-java-picocli/src/main/resources/msg_detached-verify.properties b/sop-java-picocli/src/main/resources/msg_detached-verify.properties new file mode 100644 index 0000000..5e4f4b6 --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_detached-verify.properties @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Verify a detached signature over the data from standard input +not-before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +not-before.1=Reject signatures with a creation date not in range. +not-before.2=Defaults to beginning of time ("-"). +not-after.1=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +not-after.2=Reject signatures with a creation date not in range. +not-after.3=Defaults to current system time ("now").\ +not-after.4 = Accepts special value "-" for end of time. +signature=Detached signature +certs=Public key certificates for signature verification diff --git a/sop-java-picocli/src/main/resources/msg_detached-verify_de.properties b/sop-java-picocli/src/main/resources/msg_detached-verify_de.properties new file mode 100644 index 0000000..b5d669e --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_detached-verify_de.properties @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Prüfe eine abgetrennte Signatur über eine Nachricht von Standard-Eingabe +not-before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +not-before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +not-before.2=Standardmäßig: Anbeginn der Zeit ('-'). +not-after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +not-after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +not-after.2=Standardmäßig: Aktueller Zeitunkt ('now'). +not-after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. +signature=Abgetrennte Signatur +certs=Zertifikate (öffentliche Schlüssel) zur Signaturprüfung diff --git a/sop-java-picocli/src/main/resources/msg_encrypt.properties b/sop-java-picocli/src/main/resources/msg_encrypt.properties new file mode 100644 index 0000000..3339187 --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_encrypt.properties @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Encrypt a message from standard input +armor=ASCII armor the output +type=Type of the input data. Defaults to 'binary' +with-password.0=Encrypt the message with a password. +with-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) +sign-with=Sign the output with a private key +with-key-password.0=Passphrase to unlock the secret key(s). +with-key-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). +certs=Certificates the message gets encrypted to diff --git a/sop-java-picocli/src/main/resources/msg_encrypt_de.properties b/sop-java-picocli/src/main/resources/msg_encrypt_de.properties new file mode 100644 index 0000000..d364f62 --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_encrypt_de.properties @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Verschlüssle eine Nachricht von Standard-Eingabe +armor=Schütze Ausgabe mit ASCII Armor +type=Format der Nachricht. Standardmäßig 'binary' +with-password.0=Verschlüssle die Nachricht mit einem Passwort +with-password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +sign-with=Signiere die Nachricht mit einem privaten Schlüssel +with-key-password.0=Passwort zum Entsperren der privaten Schlüssel +with-key-password.1=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +certs=Zertifikate für die die Nachricht verschlüsselt werden soll diff --git a/sop-java-picocli/src/main/resources/extract-cert.properties b/sop-java-picocli/src/main/resources/msg_extract-cert.properties similarity index 81% rename from sop-java-picocli/src/main/resources/extract-cert.properties rename to sop-java-picocli/src/main/resources/msg_extract-cert.properties index 50f090e..bf285bc 100644 --- a/sop-java-picocli/src/main/resources/extract-cert.properties +++ b/sop-java-picocli/src/main/resources/msg_extract-cert.properties @@ -2,4 +2,4 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Extract a public key certificate from a secret key from standard input -usage.option.armor=ASCII armor the output +armor=ASCII armor the output diff --git a/sop-java-picocli/src/main/resources/extract-cert_de.properties b/sop-java-picocli/src/main/resources/msg_extract-cert_de.properties similarity index 80% rename from sop-java-picocli/src/main/resources/extract-cert_de.properties rename to sop-java-picocli/src/main/resources/msg_extract-cert_de.properties index f1607c3..f13d5cd 100644 --- a/sop-java-picocli/src/main/resources/extract-cert_de.properties +++ b/sop-java-picocli/src/main/resources/msg_extract-cert_de.properties @@ -2,4 +2,4 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Extrahiere Zertifikat (öffentlichen Schlüssel) aus privatem Schlüssel von Standard-Eingabe -usage.option.armor=Schütze Ausgabe mit ASCII Armor +armor=Schütze Ausgabe mit ASCII Armor diff --git a/sop-java-picocli/src/main/resources/msg_generate-key.properties b/sop-java-picocli/src/main/resources/msg_generate-key.properties new file mode 100644 index 0000000..36145bb --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_generate-key.properties @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Generate a secret key +armor=ASCII armor the output +user-id=User-ID, e.g. "Alice " +with-key-password.0=Password to protect the private key with +with-key-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). diff --git a/sop-java-picocli/src/main/resources/msg_generate-key_de.properties b/sop-java-picocli/src/main/resources/msg_generate-key_de.properties new file mode 100644 index 0000000..3d3869c --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_generate-key_de.properties @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Generiere einen privaten Schlüssel +armor=Schütze Ausgabe mit ASCII Armor +user-id=Nutzer-ID, z.B.. "Alice " +with-key-password.0=Passwort zum Schutz des privaten Schlüssels +with-key-password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). diff --git a/sop-java-picocli/src/main/resources/help.properties b/sop-java-picocli/src/main/resources/msg_help.properties similarity index 100% rename from sop-java-picocli/src/main/resources/help.properties rename to sop-java-picocli/src/main/resources/msg_help.properties diff --git a/sop-java-picocli/src/main/resources/help_de.properties b/sop-java-picocli/src/main/resources/msg_help_de.properties similarity index 100% rename from sop-java-picocli/src/main/resources/help_de.properties rename to sop-java-picocli/src/main/resources/msg_help_de.properties diff --git a/sop-java-picocli/src/main/resources/inline-detach.properties b/sop-java-picocli/src/main/resources/msg_inline-detach.properties similarity index 54% rename from sop-java-picocli/src/main/resources/inline-detach.properties rename to sop-java-picocli/src/main/resources/msg_inline-detach.properties index 0f03363..5500aaa 100644 --- a/sop-java-picocli/src/main/resources/inline-detach.properties +++ b/sop-java-picocli/src/main/resources/msg_inline-detach.properties @@ -2,5 +2,5 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Split signatures from a clearsigned message -usage.option.armor=ASCII armor the output -usage.option.signatures_out=Destination to which a detached signatures block will be written +armor=ASCII armor the output +signatures-out=Destination to which a detached signatures block will be written diff --git a/sop-java-picocli/src/main/resources/inline-detach_de.properties b/sop-java-picocli/src/main/resources/msg_inline-detach_de.properties similarity index 58% rename from sop-java-picocli/src/main/resources/inline-detach_de.properties rename to sop-java-picocli/src/main/resources/msg_inline-detach_de.properties index 3be5f5a..a2bb0ad 100644 --- a/sop-java-picocli/src/main/resources/inline-detach_de.properties +++ b/sop-java-picocli/src/main/resources/msg_inline-detach_de.properties @@ -2,5 +2,5 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Trenne Signaturen von Klartext-signierter Nachricht -usage.option.armor=Schütze Ausgabe mit ASCII Armor -usage.option.signatures_out=Schreibe abgetrennte Signaturen in Ausgabe +armor=Schütze Ausgabe mit ASCII Armor +signatures-out=Schreibe abgetrennte Signaturen in Ausgabe diff --git a/sop-java-picocli/src/main/resources/msg_inline-sign.properties b/sop-java-picocli/src/main/resources/msg_inline-sign.properties new file mode 100644 index 0000000..ca53d22 --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_inline-sign.properties @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Create an inline-signed message from data on standard input +armor=ASCII armor the output +as.0=Specify the signature format of the signed message +as.1='text' and 'binary' will produce inline-signed messages. +as.2='cleartextsigned' will make use of the cleartext signature framework. +as.3=Defaults to 'binary'. +as.4=If '--as=text' and the input data is not valid UTF-8, inline-sign fails with return code 53. +with-key-password.0=Passphrase to unlock the secret key(s). +with-key-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). +micalg=Emits the digest algorithm used to the specified file in a way that can be used to populate the micalg parameter for the PGP/MIME Content-Type (RFC3156) +keys=Secret keys used for signing diff --git a/sop-java-picocli/src/main/resources/msg_inline-sign_de.properties b/sop-java-picocli/src/main/resources/msg_inline-sign_de.properties new file mode 100644 index 0000000..8c9d000 --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_inline-sign_de.properties @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Signiere eine Nachricht von Standard-Eingabe mit eingebetteten Signaturen +armor=Schütze Ausgabe mit ASCII Armor +as.0=Bestimme Signaturformat der Nachricht. +as.1='text' und 'binary' resultieren in eingebettete Signaturen. +as.2='cleartextsigned' wird die Nachricht Klartext-signieren. +as.3=Standardmäßig: 'binary'. +as.4=Ist die Standard-Eingabe nicht UTF-8 kodiert und '--as=text' gesetzt, so wird inline-sign Fehlercode 53 zurückgeben. +with-key-password.0=Passwort zum Entsperren des privaten Schlüssels +with-key-password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). +micalg=Gibt den verwendeten Digest-Algorithmus an die angegebene Ausgabe in einer Form aus, die zum Auffüllen des micalg-Parameters für den PGP/MIME Content-Type (RFC3156) verwendet werden kann. +keys=Private Signaturschlüssel diff --git a/sop-java-picocli/src/main/resources/msg_inline-verify.properties b/sop-java-picocli/src/main/resources/msg_inline-verify.properties new file mode 100644 index 0000000..e3388c5 --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_inline-verify.properties @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Verify inline-signed data from standard input +not-before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +not-before.1=Reject signatures with a creation date not in range. +not-before.2=Defaults to beginning of time ("-"). +not-after.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) +not-after.1=Reject signatures with a creation date not in range. +not-after.2=Defaults to current system time ("now"). +not-after.3=Accepts special value "-" for end of time. +verifications-out=File to write details over successful verifications to +certs=Public key certificates for signature verification diff --git a/sop-java-picocli/src/main/resources/msg_inline-verify_de.properties b/sop-java-picocli/src/main/resources/msg_inline-verify_de.properties new file mode 100644 index 0000000..39268ad --- /dev/null +++ b/sop-java-picocli/src/main/resources/msg_inline-verify_de.properties @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2022 Paul Schaub +# +# SPDX-License-Identifier: Apache-2.0 +usage.header=Prüfe eingebettete Signaturen einer Nachricht von Standard-Eingabe +not-before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +not-before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +not-before.2=Standardmäßig: Anbeginn der Zeit ('-'). +not-after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) +not-after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. +not-after.2=Standardmäßig: Aktueller Zeitunkt ('now'). +not-after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. +verifications-out=Schreibe Status der Signaturprüfung in angegebene Ausgabe +certs=Zertifikate (öffentlich Schlüssel) zur Signaturprüfung diff --git a/sop-java-picocli/src/main/resources/sop.properties b/sop-java-picocli/src/main/resources/msg_sop.properties similarity index 99% rename from sop-java-picocli/src/main/resources/sop.properties rename to sop-java-picocli/src/main/resources/msg_sop.properties index 4fd31a2..9b38735 100644 --- a/sop-java-picocli/src/main/resources/sop.properties +++ b/sop-java-picocli/src/main/resources/msg_sop.properties @@ -5,7 +5,7 @@ sop.name=sop usage.header=Stateless OpenPGP Protocol usage.footerHeading=Powered by picocli%n -sop.locale=Locale for description texts +locale=Locale for description texts # Generic usage.synopsisHeading=Usage:\u0020 usage.commandListHeading = %nCommands:%n diff --git a/sop-java-picocli/src/main/resources/sop_de.properties b/sop-java-picocli/src/main/resources/msg_sop_de.properties similarity index 99% rename from sop-java-picocli/src/main/resources/sop_de.properties rename to sop-java-picocli/src/main/resources/msg_sop_de.properties index d2542de..cc8e16e 100644 --- a/sop-java-picocli/src/main/resources/sop_de.properties +++ b/sop-java-picocli/src/main/resources/msg_sop_de.properties @@ -5,7 +5,7 @@ sop.name=sop usage.header=Stateless OpenPGP Protocol usage.footerHeading=Powered by Picocli%n -sop.locale=Gebietsschema für Beschreibungstexte +locale=Gebietsschema für Beschreibungstexte # Generic usage.synopsisHeading=Aufruf:\u0020 usage.commandListHeading=%nBefehle:%n diff --git a/sop-java-picocli/src/main/resources/version.properties b/sop-java-picocli/src/main/resources/msg_version.properties similarity index 56% rename from sop-java-picocli/src/main/resources/version.properties rename to sop-java-picocli/src/main/resources/msg_version.properties index 4bf6457..1454a7c 100644 --- a/sop-java-picocli/src/main/resources/version.properties +++ b/sop-java-picocli/src/main/resources/msg_version.properties @@ -2,5 +2,5 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Display version information about the tool -usage.option.extended=Print an extended version string -usage.option.backend=Print information about the cryptographic backend +extended=Print an extended version string +backend=Print information about the cryptographic backend diff --git a/sop-java-picocli/src/main/resources/version_de.properties b/sop-java-picocli/src/main/resources/msg_version_de.properties similarity index 54% rename from sop-java-picocli/src/main/resources/version_de.properties rename to sop-java-picocli/src/main/resources/msg_version_de.properties index 18250ea..a4f6524 100644 --- a/sop-java-picocli/src/main/resources/version_de.properties +++ b/sop-java-picocli/src/main/resources/msg_version_de.properties @@ -2,5 +2,5 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Zeige Versionsinformationen über das Programm -usage.option.extended=Gebe erweiterte Versionsinformationen aus -usage.option.backend=Gebe Informationen über das kryptografische Backend aus +extended=Gebe erweiterte Versionsinformationen aus +backend=Gebe Informationen über das kryptografische Backend aus From dcb44f96c874335cbff1b419261b143ea9647ea7 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Thu, 4 Aug 2022 12:48:32 +0200 Subject: [PATCH 4/5] Fix wrongly named resource entries --- .../main/java/sop/cli/picocli/commands/GenerateKeyCmd.java | 2 +- sop-java-picocli/src/main/resources/msg_decrypt.properties | 4 ++-- .../src/main/resources/msg_decrypt_de.properties | 4 ++-- .../src/main/resources/msg_detached-sign.properties | 4 ++-- .../src/main/resources/msg_detached-sign_de.properties | 4 ++-- .../src/main/resources/msg_detached-verify.properties | 4 ++-- .../src/main/resources/msg_detached-verify_de.properties | 4 ++-- sop-java-picocli/src/main/resources/msg_encrypt.properties | 6 +++--- .../src/main/resources/msg_encrypt_de.properties | 6 +++--- .../src/main/resources/msg_extract-cert.properties | 2 +- .../src/main/resources/msg_extract-cert_de.properties | 2 +- .../src/main/resources/msg_generate-key.properties | 4 ++-- .../src/main/resources/msg_generate-key_de.properties | 4 ++-- .../src/main/resources/msg_inline-detach.properties | 2 +- .../src/main/resources/msg_inline-detach_de.properties | 2 +- .../src/main/resources/msg_inline-sign.properties | 4 ++-- .../src/main/resources/msg_inline-sign_de.properties | 4 ++-- .../src/main/resources/msg_inline-verify.properties | 2 +- .../src/main/resources/msg_inline-verify_de.properties | 2 +- 19 files changed, 33 insertions(+), 33 deletions(-) diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java index bab7280..d215baf 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/commands/GenerateKeyCmd.java @@ -23,7 +23,7 @@ public class GenerateKeyCmd extends AbstractSopCmd { negatable = true) boolean armor = true; - @CommandLine.Parameters + @CommandLine.Parameters(paramLabel = "USERID") List userId = new ArrayList<>(); @CommandLine.Option(names = "--with-key-password", diff --git a/sop-java-picocli/src/main/resources/msg_decrypt.properties b/sop-java-picocli/src/main/resources/msg_decrypt.properties index c7dca86..46f0fb1 100644 --- a/sop-java-picocli/src/main/resources/msg_decrypt.properties +++ b/sop-java-picocli/src/main/resources/msg_decrypt.properties @@ -10,7 +10,7 @@ with-password.0=Symmetric passphrase to decrypt the message with. with-password.1=Enables decryption based on any "SKESK" packets in the "CIPHERTEXT". with-password.2=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) verify-out=Emits signature verification status to the designated output -certs=Certificates for signature verification +verify-with=Certificates for signature verification not-before.0=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) not-before.1=Reject signatures with a creation date not in range. not-before.2=Defaults to beginning of time ('-'). @@ -20,4 +20,4 @@ not-after.2=Defaults to current system time ('now'). not-after.3=Accepts special value '-' for end of time. with-key-password.0=Passphrase to unlock the secret key(s). with-key-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). -keys=Secret keys to attempt decryption with +KEY[0..*]=Secret keys to attempt decryption with diff --git a/sop-java-picocli/src/main/resources/msg_decrypt_de.properties b/sop-java-picocli/src/main/resources/msg_decrypt_de.properties index 2b0cc0d..bc3e58f 100644 --- a/sop-java-picocli/src/main/resources/msg_decrypt_de.properties +++ b/sop-java-picocli/src/main/resources/msg_decrypt_de.properties @@ -10,7 +10,7 @@ with-password.0=Symmetrisches Passwort zur Entschl with-password.1=Ermöglicht Entschlüsselung basierend auf im "CIPHERTEXT" enthaltenen "SKESK" Paketen. with-password.2=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). verify-out=Schreibe Status der Signaturprüfung in angegebene Ausgabe -certs=Zertifikate zur Signaturprüfung +verify-with=Zertifikate zur Signaturprüfung not-before.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z) not-before.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. not-before.2=Standardmäßig: Anbeginn der Zeit ('-'). @@ -20,4 +20,4 @@ not-after.2=Standardm not-after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. with-key-password.0=Passwort zum Entsperren der privaten Schlüssel with-key-password.1=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -keys=Private Schlüssel zum Entschlüsseln der Nachricht +KEY[0..*]=Private Schlüssel zum Entschlüsseln der Nachricht diff --git a/sop-java-picocli/src/main/resources/msg_detached-sign.properties b/sop-java-picocli/src/main/resources/msg_detached-sign.properties index 8b51124..9f75641 100644 --- a/sop-java-picocli/src/main/resources/msg_detached-sign.properties +++ b/sop-java-picocli/src/main/resources/msg_detached-sign.properties @@ -2,11 +2,11 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Create a detached signature on the data from standard input -armor=ASCII armor the output +no-armor=ASCII armor the output as.0=Specify the output format of the signed message as.1=Defaults to 'binary'. as.2=If '--as=text' and the input data is not valid UTF-8, sign fails with return code 53. with-key-password.0=Passphrase to unlock the secret key(s). with-key-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). micalg-out=Emits the digest algorithm used to the specified file in a way that can be used to populate the micalg parameter for the PGP/MIME Content-Type (RFC3156) -keys=Secret keys used for signing +KEYS[0..*]=Secret keys used for signing diff --git a/sop-java-picocli/src/main/resources/msg_detached-sign_de.properties b/sop-java-picocli/src/main/resources/msg_detached-sign_de.properties index fdd310a..c2053a2 100644 --- a/sop-java-picocli/src/main/resources/msg_detached-sign_de.properties +++ b/sop-java-picocli/src/main/resources/msg_detached-sign_de.properties @@ -2,11 +2,11 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Erstelle abgetrennte Signatur über Nachricht von Standard-Eingabe -armor=Schütze Ausgabe mit ASCII Armor +no-armor=Schütze Ausgabe mit ASCII Armor as.0=Bestimme Signaturformat der Nachricht. as.1=Standardmäßig: 'binary'. as.2=Ist die Standard-Eingabe nicht UTF-8 kodiert und '--as=text' gesetzt, so wird inline-sign Fehlercode 53 zurückgeben. with-key-password.0=Passwort zum Entsperren des privaten Schlüssels with-key-password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). micalg-out=Gibt den verwendeten Digest-Algorithmus an die angegebene Ausgabe in einer Form aus, die zum Auffüllen des micalg-Parameters für den PGP/MIME Content-Type (RFC3156) verwendet werden kann. -keys=Private Signaturschlüssel +KEYS[0..*]=Private Signaturschlüssel diff --git a/sop-java-picocli/src/main/resources/msg_detached-verify.properties b/sop-java-picocli/src/main/resources/msg_detached-verify.properties index 5e4f4b6..afacdbd 100644 --- a/sop-java-picocli/src/main/resources/msg_detached-verify.properties +++ b/sop-java-picocli/src/main/resources/msg_detached-verify.properties @@ -9,5 +9,5 @@ not-after.1=ISO-8601 formatted UTC date (e.g. '2020-11-23T16:35Z) not-after.2=Reject signatures with a creation date not in range. not-after.3=Defaults to current system time ("now").\ not-after.4 = Accepts special value "-" for end of time. -signature=Detached signature -certs=Public key certificates for signature verification +SIGNATURE[0]=Detached signature +CERT[0..*]=Public key certificates for signature verification diff --git a/sop-java-picocli/src/main/resources/msg_detached-verify_de.properties b/sop-java-picocli/src/main/resources/msg_detached-verify_de.properties index b5d669e..f69bf0b 100644 --- a/sop-java-picocli/src/main/resources/msg_detached-verify_de.properties +++ b/sop-java-picocli/src/main/resources/msg_detached-verify_de.properties @@ -9,5 +9,5 @@ not-after.0=Nach ISO-8601 formatierter UTC Zeitstempel (z.B.. '2020-11-23T16:35Z not-after.1=Lehne Signaturen mit Erstellungsdatum außerhalb des Gültigkeitsbereichs ab. not-after.2=Standardmäßig: Aktueller Zeitunkt ('now'). not-after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. -signature=Abgetrennte Signatur -certs=Zertifikate (öffentliche Schlüssel) zur Signaturprüfung +SIGNATURE[0]=Abgetrennte Signatur +CERT[0..*]=Zertifikate (öffentliche Schlüssel) zur Signaturprüfung diff --git a/sop-java-picocli/src/main/resources/msg_encrypt.properties b/sop-java-picocli/src/main/resources/msg_encrypt.properties index 3339187..4bd7051 100644 --- a/sop-java-picocli/src/main/resources/msg_encrypt.properties +++ b/sop-java-picocli/src/main/resources/msg_encrypt.properties @@ -2,11 +2,11 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Encrypt a message from standard input -armor=ASCII armor the output -type=Type of the input data. Defaults to 'binary' +no-armor=ASCII armor the output +as=Type of the input data. Defaults to 'binary' with-password.0=Encrypt the message with a password. with-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...) sign-with=Sign the output with a private key with-key-password.0=Passphrase to unlock the secret key(s). with-key-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). -certs=Certificates the message gets encrypted to +CERTS[0..*]=Certificates the message gets encrypted to diff --git a/sop-java-picocli/src/main/resources/msg_encrypt_de.properties b/sop-java-picocli/src/main/resources/msg_encrypt_de.properties index d364f62..1bfab33 100644 --- a/sop-java-picocli/src/main/resources/msg_encrypt_de.properties +++ b/sop-java-picocli/src/main/resources/msg_encrypt_de.properties @@ -2,11 +2,11 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Verschlüssle eine Nachricht von Standard-Eingabe -armor=Schütze Ausgabe mit ASCII Armor -type=Format der Nachricht. Standardmäßig 'binary' +no-armor=Schütze Ausgabe mit ASCII Armor +as=Format der Nachricht. Standardmäßig 'binary' with-password.0=Verschlüssle die Nachricht mit einem Passwort with-password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). sign-with=Signiere die Nachricht mit einem privaten Schlüssel with-key-password.0=Passwort zum Entsperren der privaten Schlüssel with-key-password.1=Ist INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). -certs=Zertifikate für die die Nachricht verschlüsselt werden soll +CERTS[0..*]=Zertifikate für die die Nachricht verschlüsselt werden soll diff --git a/sop-java-picocli/src/main/resources/msg_extract-cert.properties b/sop-java-picocli/src/main/resources/msg_extract-cert.properties index bf285bc..77c04db 100644 --- a/sop-java-picocli/src/main/resources/msg_extract-cert.properties +++ b/sop-java-picocli/src/main/resources/msg_extract-cert.properties @@ -2,4 +2,4 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Extract a public key certificate from a secret key from standard input -armor=ASCII armor the output +no-armor=ASCII armor the output diff --git a/sop-java-picocli/src/main/resources/msg_extract-cert_de.properties b/sop-java-picocli/src/main/resources/msg_extract-cert_de.properties index f13d5cd..a35bda4 100644 --- a/sop-java-picocli/src/main/resources/msg_extract-cert_de.properties +++ b/sop-java-picocli/src/main/resources/msg_extract-cert_de.properties @@ -2,4 +2,4 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Extrahiere Zertifikat (öffentlichen Schlüssel) aus privatem Schlüssel von Standard-Eingabe -armor=Schütze Ausgabe mit ASCII Armor +no-armor=Schütze Ausgabe mit ASCII Armor diff --git a/sop-java-picocli/src/main/resources/msg_generate-key.properties b/sop-java-picocli/src/main/resources/msg_generate-key.properties index 36145bb..29eb284 100644 --- a/sop-java-picocli/src/main/resources/msg_generate-key.properties +++ b/sop-java-picocli/src/main/resources/msg_generate-key.properties @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Generate a secret key -armor=ASCII armor the output -user-id=User-ID, e.g. "Alice " +no-armor=ASCII armor the output +USERID[0..*]=User-ID, e.g. "Alice " with-key-password.0=Password to protect the private key with with-key-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). diff --git a/sop-java-picocli/src/main/resources/msg_generate-key_de.properties b/sop-java-picocli/src/main/resources/msg_generate-key_de.properties index 3d3869c..60b2e21 100644 --- a/sop-java-picocli/src/main/resources/msg_generate-key_de.properties +++ b/sop-java-picocli/src/main/resources/msg_generate-key_de.properties @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Generiere einen privaten Schlüssel -armor=Schütze Ausgabe mit ASCII Armor -user-id=Nutzer-ID, z.B.. "Alice " +no-armor=Schütze Ausgabe mit ASCII Armor +USERID[0..*]=Nutzer-ID, z.B.. "Alice " with-key-password.0=Passwort zum Schutz des privaten Schlüssels with-key-password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). diff --git a/sop-java-picocli/src/main/resources/msg_inline-detach.properties b/sop-java-picocli/src/main/resources/msg_inline-detach.properties index 5500aaa..5963f88 100644 --- a/sop-java-picocli/src/main/resources/msg_inline-detach.properties +++ b/sop-java-picocli/src/main/resources/msg_inline-detach.properties @@ -2,5 +2,5 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Split signatures from a clearsigned message -armor=ASCII armor the output +no-armor=ASCII armor the output signatures-out=Destination to which a detached signatures block will be written diff --git a/sop-java-picocli/src/main/resources/msg_inline-detach_de.properties b/sop-java-picocli/src/main/resources/msg_inline-detach_de.properties index a2bb0ad..ffe058b 100644 --- a/sop-java-picocli/src/main/resources/msg_inline-detach_de.properties +++ b/sop-java-picocli/src/main/resources/msg_inline-detach_de.properties @@ -2,5 +2,5 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Trenne Signaturen von Klartext-signierter Nachricht -armor=Schütze Ausgabe mit ASCII Armor +no-armor=Schütze Ausgabe mit ASCII Armor signatures-out=Schreibe abgetrennte Signaturen in Ausgabe diff --git a/sop-java-picocli/src/main/resources/msg_inline-sign.properties b/sop-java-picocli/src/main/resources/msg_inline-sign.properties index ca53d22..efe5c5f 100644 --- a/sop-java-picocli/src/main/resources/msg_inline-sign.properties +++ b/sop-java-picocli/src/main/resources/msg_inline-sign.properties @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Create an inline-signed message from data on standard input -armor=ASCII armor the output +no-armor=ASCII armor the output as.0=Specify the signature format of the signed message as.1='text' and 'binary' will produce inline-signed messages. as.2='cleartextsigned' will make use of the cleartext signature framework. @@ -11,4 +11,4 @@ as.4=If '--as=text' and the input data is not valid UTF-8, inline-sign fails wit with-key-password.0=Passphrase to unlock the secret key(s). with-key-password.1=Is an INDIRECT data type (e.g. file, environment variable, file descriptor...). micalg=Emits the digest algorithm used to the specified file in a way that can be used to populate the micalg parameter for the PGP/MIME Content-Type (RFC3156) -keys=Secret keys used for signing +KEYS[0..*]=Secret keys used for signing diff --git a/sop-java-picocli/src/main/resources/msg_inline-sign_de.properties b/sop-java-picocli/src/main/resources/msg_inline-sign_de.properties index 8c9d000..dd5387d 100644 --- a/sop-java-picocli/src/main/resources/msg_inline-sign_de.properties +++ b/sop-java-picocli/src/main/resources/msg_inline-sign_de.properties @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: Apache-2.0 usage.header=Signiere eine Nachricht von Standard-Eingabe mit eingebetteten Signaturen -armor=Schütze Ausgabe mit ASCII Armor +no-armor=Schütze Ausgabe mit ASCII Armor as.0=Bestimme Signaturformat der Nachricht. as.1='text' und 'binary' resultieren in eingebettete Signaturen. as.2='cleartextsigned' wird die Nachricht Klartext-signieren. @@ -11,4 +11,4 @@ as.4=Ist die Standard-Eingabe nicht UTF-8 kodiert und '--as=text' gesetzt, so wi with-key-password.0=Passwort zum Entsperren des privaten Schlüssels with-key-password.1=Ist ein INDIREKTER Datentyp (z.B.. Datei, Umgebungsvariable, Dateideskriptor...). micalg=Gibt den verwendeten Digest-Algorithmus an die angegebene Ausgabe in einer Form aus, die zum Auffüllen des micalg-Parameters für den PGP/MIME Content-Type (RFC3156) verwendet werden kann. -keys=Private Signaturschlüssel +KEYS[0..*]=Private Signaturschlüssel diff --git a/sop-java-picocli/src/main/resources/msg_inline-verify.properties b/sop-java-picocli/src/main/resources/msg_inline-verify.properties index e3388c5..bde6622 100644 --- a/sop-java-picocli/src/main/resources/msg_inline-verify.properties +++ b/sop-java-picocli/src/main/resources/msg_inline-verify.properties @@ -10,4 +10,4 @@ not-after.1=Reject signatures with a creation date not in range. not-after.2=Defaults to current system time ("now"). not-after.3=Accepts special value "-" for end of time. verifications-out=File to write details over successful verifications to -certs=Public key certificates for signature verification +CERT[0..*]=Public key certificates for signature verification diff --git a/sop-java-picocli/src/main/resources/msg_inline-verify_de.properties b/sop-java-picocli/src/main/resources/msg_inline-verify_de.properties index 39268ad..0adf42b 100644 --- a/sop-java-picocli/src/main/resources/msg_inline-verify_de.properties +++ b/sop-java-picocli/src/main/resources/msg_inline-verify_de.properties @@ -10,4 +10,4 @@ not-after.1=Lehne Signaturen mit Erstellungsdatum au not-after.2=Standardmäßig: Aktueller Zeitunkt ('now'). not-after.3=Akzeptiert speziellen Wert '-' für das Ende aller Zeiten. verifications-out=Schreibe Status der Signaturprüfung in angegebene Ausgabe -certs=Zertifikate (öffentlich Schlüssel) zur Signaturprüfung +CERT[0..*]=Zertifikate (öffentlich Schlüssel) zur Signaturprüfung From 0cb614827bfbfd60d964f959e0a9b4dde999450d Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Thu, 4 Aug 2022 12:51:01 +0200 Subject: [PATCH 5/5] Un-bump picocli --- version.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.gradle b/version.gradle index e94f79d..9aa5316 100644 --- a/version.gradle +++ b/version.gradle @@ -10,7 +10,7 @@ allprojects { javaSourceCompatibility = 1.8 junitVersion = '5.8.2' junitSysExitVersion = '1.1.2' - picocliVersion = '4.7.0' + picocliVersion = '4.6.3' mockitoVersion = '4.5.1' jsrVersion = '3.0.2' }