Skip to content

Commit ed6e982

Browse files
feat(cmdline): Adds --ecdsa-binding and help (#164)
- Allow `cmdlint.jar help encryptnano` to give explanation of subcommand - Adds `--ecdsa-binding` boolean option to `encryptnano` subcommand
1 parent 649dac7 commit ed6e982

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

cmdline/src/main/java/io/opentdf/platform/Command.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import org.apache.commons.codec.DecoderException;
88
import picocli.CommandLine;
9+
import picocli.CommandLine.HelpCommand;
910
import picocli.CommandLine.Option;
1011

1112
import javax.crypto.BadPaddingException;
@@ -36,7 +37,7 @@
3637

3738
import javax.net.ssl.TrustManager;
3839

39-
@CommandLine.Command(name = "tdf")
40+
@CommandLine.Command(name = "tdf", subcommands = {HelpCommand.class})
4041
class Command {
4142

4243
@Option(names = { "--client-secret" }, required = true)
@@ -137,7 +138,8 @@ void createNanoTDF(
137138
@Option(names = { "-f", "--file" }, defaultValue = Option.NULL_VALUE) Optional<File> file,
138139
@Option(names = { "-k", "--kas-url" }, required = true) List<String> kas,
139140
@Option(names = { "-m", "--metadata" }, defaultValue = Option.NULL_VALUE) Optional<String> metadata,
140-
@Option(names = { "-a", "--attr" }, defaultValue = Option.NULL_VALUE) Optional<String> attributes)
141+
@Option(names = { "-a", "--attr" }, defaultValue = Option.NULL_VALUE) Optional<String> attributes,
142+
@Option(names = { "--ecdsa-binding" }, defaultValue = Option.NULL_VALUE) Optional<Boolean> ecdsaBinding)
141143
throws Exception {
142144

143145
var sdk = buildSDK();
@@ -152,6 +154,9 @@ void createNanoTDF(
152154
attributes.ifPresent(attr -> {
153155
configs.add(Config.witDataAttributes(attr.split(",")));
154156
});
157+
if (ecdsaBinding.orElse(false)) {
158+
configs.add(Config.WithECDSAPolicyBinding());
159+
};
155160

156161
var nanoTDFConfig = Config.newNanoTDFConfig(configs.toArray(Consumer[]::new));
157162
try (var in = file.isEmpty() ? new BufferedInputStream(System.in) : new FileInputStream(file.get())) {

0 commit comments

Comments
 (0)