aboutsummaryrefslogtreecommitdiffstats
path: root/security-utils/src/main/java/com/yahoo/security/tls/TransportSecurityOptions.java
diff options
context:
space:
mode:
Diffstat (limited to 'security-utils/src/main/java/com/yahoo/security/tls/TransportSecurityOptions.java')
-rw-r--r--security-utils/src/main/java/com/yahoo/security/tls/TransportSecurityOptions.java23
1 files changed, 17 insertions, 6 deletions
diff --git a/security-utils/src/main/java/com/yahoo/security/tls/TransportSecurityOptions.java b/security-utils/src/main/java/com/yahoo/security/tls/TransportSecurityOptions.java
index f0d1edd6889..67466179634 100644
--- a/security-utils/src/main/java/com/yahoo/security/tls/TransportSecurityOptions.java
+++ b/security-utils/src/main/java/com/yahoo/security/tls/TransportSecurityOptions.java
@@ -48,17 +48,28 @@ public class TransportSecurityOptions {
public static TransportSecurityOptions fromJsonFile(Path file) {
try {
- JsonNode root = mapper.readTree(file.toFile());
- JsonNode filesNode = getField(root, "files");
- String privateKeyFile = getField(filesNode, "private-key").asText();
- String certificatesFile = getField(filesNode, "certificates").asText();
- String caCertificatesFile = getField(filesNode, "ca-certificates").asText();
- return new TransportSecurityOptions(privateKeyFile, certificatesFile, caCertificatesFile);
+ return fromJsonNode(mapper.readTree(file.toFile()));
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}
+ public static TransportSecurityOptions fromJson(String json) {
+ try {
+ return fromJsonNode(mapper.readTree(json));
+ } catch (IOException e) {
+ throw new UncheckedIOException(e);
+ }
+ }
+
+ private static TransportSecurityOptions fromJsonNode(JsonNode root) {
+ JsonNode filesNode = getField(root, "files");
+ String privateKeyFile = getField(filesNode, "private-key").asText();
+ String certificatesFile = getField(filesNode, "certificates").asText();
+ String caCertificatesFile = getField(filesNode, "ca-certificates").asText();
+ return new TransportSecurityOptions(privateKeyFile, certificatesFile, caCertificatesFile);
+ }
+
private static JsonNode getField(JsonNode root, String fieldName) {
return Optional.ofNullable(root.get(fieldName))
.orElseThrow(() -> new IllegalArgumentException(String.format("'%s' field missing", fieldName)));