From 1cf53b6cf45b5dd627a2246e1936d987b9180963 Mon Sep 17 00:00:00 2001 From: Matthew McPherrin Date: Wed, 8 Nov 2023 21:56:07 -0500 Subject: [PATCH] Make the Common Name optional in CSRs This change doesn't set it by default when adding domains, and adds a method to explicitly set it if desired. --- .../org/shredzone/acme4j/util/CSRBuilder.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/util/CSRBuilder.java b/acme4j-client/src/main/java/org/shredzone/acme4j/util/CSRBuilder.java index ecefdded..e3cde461 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/util/CSRBuilder.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/util/CSRBuilder.java @@ -78,11 +78,7 @@ public class CSRBuilder { * Domain name to add */ public void addDomain(String domain) { - var ace = toAce(requireNonNull(domain)); - if (namelist.isEmpty()) { - namebuilder.addRDN(BCStyle.CN, ace); - } - namelist.add(ace); + namelist.add(toAce(requireNonNull(domain))); } /** @@ -222,6 +218,15 @@ public class CSRBuilder { namebuilder.addRDN(oid, requireNonNull(value, "attribute value must not be null")); } + /** + * Sets the common name + *

+ * Note that it is at the discretion of the ACME server to accept this parameter. + */ + public void setCommonName(String cn) { + namebuilder.addRDN(BCStyle.CN, toAce(requireNonNull(cn))); + } + /** * Sets the organization. *