package net.lulli.certsigner.strategy.file; import net.lulli.certsigner.ca.CaServer; import net.lulli.certsigner.strategy.SigningStrategy; import java.util.Objects; public class FileBasedCertificateSigning implements SigningStrategy { private final String organizationName; private final String rootKeyStorePass; public FileBasedCertificateSigning( String organizationName, String rootKeyStorePass ) { Objects.requireNonNull(organizationName); Objects.requireNonNull(rootKeyStorePass); this.organizationName = organizationName; this.rootKeyStorePass = rootKeyStorePass; } @Override public String sign(String clientName) { var rootSubject = "CN=root-cert, O=" + organizationName; var caServer = new CaServer(organizationName); return caServer.createCert(rootKeyStorePass, rootSubject, clientName); } }