From bf0c364db7d2e31272786c3bc59eea4f26f8ac71 Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Wed, 23 Jan 2019 14:22:58 +0100 Subject: Allow configuration of accepted ciphers --- .../yahoo/security/tls/json/TransportSecurityOptionsEntity.java | 1 + .../tls/json/TransportSecurityOptionsJsonSerializer.java | 9 +++++++++ 2 files changed, 10 insertions(+) (limited to 'security-utils/src/main/java/com/yahoo/security/tls/json') diff --git a/security-utils/src/main/java/com/yahoo/security/tls/json/TransportSecurityOptionsEntity.java b/security-utils/src/main/java/com/yahoo/security/tls/json/TransportSecurityOptionsEntity.java index fbb98d7c382..6594fa84255 100644 --- a/security-utils/src/main/java/com/yahoo/security/tls/json/TransportSecurityOptionsEntity.java +++ b/security-utils/src/main/java/com/yahoo/security/tls/json/TransportSecurityOptionsEntity.java @@ -19,6 +19,7 @@ class TransportSecurityOptionsEntity { @JsonProperty("files") Files files; @JsonProperty("authorized-peers") @JsonInclude(NON_EMPTY) List authorizedPeers; + @JsonProperty("accepted-ciphers") @JsonInclude(NON_EMPTY) List acceptedCiphers; static class Files { @JsonProperty("private-key") String privateKeyFile; diff --git a/security-utils/src/main/java/com/yahoo/security/tls/json/TransportSecurityOptionsJsonSerializer.java b/security-utils/src/main/java/com/yahoo/security/tls/json/TransportSecurityOptionsJsonSerializer.java index f75cb4bcfff..a6291477942 100644 --- a/security-utils/src/main/java/com/yahoo/security/tls/json/TransportSecurityOptionsJsonSerializer.java +++ b/security-utils/src/main/java/com/yahoo/security/tls/json/TransportSecurityOptionsJsonSerializer.java @@ -70,6 +70,12 @@ public class TransportSecurityOptionsJsonSerializer { } builder.withAuthorizedPeers(new AuthorizedPeers(toPeerPolicies(authorizedPeersEntity))); } + if (entity.acceptedCiphers != null) { + if (entity.acceptedCiphers.isEmpty()) { + throw new IllegalArgumentException("'accepted-ciphers' cannot be empty"); + } + builder.withAcceptedCiphers(entity.acceptedCiphers); + } return builder.build(); } @@ -145,6 +151,9 @@ public class TransportSecurityOptionsJsonSerializer { entity.authorizedPeers.add(authorizedPeer); } }); + if (!options.getAcceptedCiphers().isEmpty()) { + entity.acceptedCiphers = options.getAcceptedCiphers(); + } return entity; } -- cgit v1.2.3