chore: Rename OpenSSLCertificateCreator to OpenSSLService

This commit is contained in:
Magnus Leßmann (@MarkL4YG) 2024-11-23 20:38:57 +01:00
parent 938101db8f
commit f1135c54fa
8 changed files with 23 additions and 37 deletions

View file

@ -1,7 +1,7 @@
package de.mlessmann.certassist.keystore;
import de.mlessmann.certassist.openssl.CertificatePasswordProvider;
import de.mlessmann.certassist.openssl.OpenSSLCertificateCreator;
import de.mlessmann.certassist.openssl.OpenSSLService;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@ -12,7 +12,7 @@ public class AutoBootKeyStoreManagement {
@Bean
@ConditionalOnMissingBean(KeyStoreManager.class)
public KeyStoreManager keystoreProvider(
OpenSSLCertificateCreator certificateCreator,
OpenSSLService certificateCreator,
CertificatePasswordProvider passwordProvider
) {
return new KeyStoreManager(certificateCreator, passwordProvider);

View file

@ -3,7 +3,7 @@ package de.mlessmann.certassist.keystore;
import de.mlessmann.certassist.except.JavaSecurityException;
import de.mlessmann.certassist.openssl.CertificatePasswordProvider;
import de.mlessmann.certassist.openssl.CertificateUsage;
import de.mlessmann.certassist.openssl.OpenSSLCertificateCreator;
import de.mlessmann.certassist.openssl.OpenSSLService;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.OpenOption;
@ -27,7 +27,7 @@ public class KeyStoreManager {
StandardOpenOption.CREATE,
StandardOpenOption.TRUNCATE_EXISTING,
};
private final OpenSSLCertificateCreator certificateCreator;
private final OpenSSLService certificateCreator;
private final CertificatePasswordProvider passwordProvider;
public KeystoreUsage createKeyStore(String keyStorePassphrase, CertificateUsage... serverCerts)

View file

@ -16,11 +16,11 @@ public class AutoBootOpenSSL {
@Bean
@ConditionalOnMissingBean(CertificatePasswordProvider.class)
public OpenSSLCertificateCreator openSSLProvider(
public OpenSSLService openSSLProvider(
ExecutableResolver executableResolver,
CertificatePasswordProvider passwordProvider,
CertificateProvider usageProvider
) {
return new OpenSSLCertificateCreator(executableResolver, passwordProvider, usageProvider);
return new OpenSSLService(executableResolver, passwordProvider, usageProvider);
}
}

View file

@ -40,7 +40,7 @@ import org.zeroturnaround.exec.stream.slf4j.Slf4jStream;
@Service
@RequiredArgsConstructor
@Slf4j
public class OpenSSLCertificateCreator {
public class OpenSSLService {
private static final Logger openSSLLogger = getLogger("OpenSSL-Logger");
public static final String OPENSSL_CERT_SUBJECT_TEMPLATE =

View file

@ -19,16 +19,14 @@ import org.springframework.stereotype.Service;
public class CertificateCreationService {
private final CertificateRepository certificateRepository;
private final OpenSSLCertificateCreator openSSLCertificateCreator;
private final OpenSSLService openSSLService;
private final PassphraseService passphraseService;
public Certificate createCertificate(final CertificateRequest certificateRequest) {
final Certificate certificate = createEntityFromRequest(certificateRequest);
try (
OpenSSLCertificateResult certificateCreatorResult = openSSLCertificateCreator.createCertificate(
certificateRequest
);
OpenSSLCertificateResult certificateCreatorResult = openSSLService.createCertificate(certificateRequest);
) {
certificate.setPrivateKey(Files.readAllBytes(certificateCreatorResult.certificateKeyPath()));
certificate.setCert(Files.readAllBytes(certificateCreatorResult.certificatePath()));
@ -67,8 +65,8 @@ public class CertificateCreationService {
public Certificate importCertificate(Path certificate, Path keyFile, String passphrase) {
try {
String fingerprint = openSSLCertificateCreator.getCertificateFingerprint(certificate);
var generatedRequest = openSSLCertificateCreator.getCertificateInfo(certificate);
String fingerprint = openSSLService.getCertificateFingerprint(certificate);
var generatedRequest = openSSLService.getCertificateInfo(certificate);
Certificate entity = createEntityFromRequest(generatedRequest);
entity.setCert(Files.readAllBytes(certificate));
entity.setPrivateKey(Files.readAllBytes(keyFile));

View file

@ -40,11 +40,11 @@ public class CertificateServiceTest {
@Test
void testCanImportCertificate() {
Path certDir = TestOpenSSLCertificateCreator.TEST_CERT_PATH;
Path certDir = TestOpenSSLService.TEST_CERT_PATH;
var importedCert = certificateService.importCertificate(
certDir.resolve("x509forImport.pem"),
certDir.resolve("x509forImport.key.pem"),
TestOpenSSLCertificateCreator.TEST_CERT_PASSPHRASE
TestOpenSSLService.TEST_CERT_PASSPHRASE
);
assertThat(importedCert).isNotNull();
assertThat(importedCert.getId()).isGreaterThan("0");

View file

@ -7,7 +7,7 @@ import de.mlessmann.certassist.keystore.TruststoreManager;
import de.mlessmann.certassist.openssl.CertificateProvider;
import de.mlessmann.certassist.openssl.CertificateUsage;
import de.mlessmann.certassist.openssl.InMemoryCertificatePasswordProvider;
import de.mlessmann.certassist.openssl.OpenSSLCertificateCreator;
import de.mlessmann.certassist.openssl.OpenSSLService;
import de.mlessmann.certassist.service.ExecutableResolver;
import java.io.IOException;
import java.net.ServerSocket;
@ -27,36 +27,32 @@ public class TestKeystoreCreation {
private final CertificateUsage dummyCert = new CertificateUsage() {
@Override
public String fingerprint() {
return TestOpenSSLCertificateCreator.TEST_CERT_FINGERPRINT;
return TestOpenSSLService.TEST_CERT_FINGERPRINT;
}
@Override
public Path certificatePath() {
return TestOpenSSLCertificateCreator.TEST_CERT_PATH.resolve("x509forImport.pem");
return TestOpenSSLService.TEST_CERT_PATH.resolve("x509forImport.pem");
}
@Override
public Path certificateKeyPath() {
return TestOpenSSLCertificateCreator.TEST_CERT_PATH.resolve("x509forImport.key.pem");
return TestOpenSSLService.TEST_CERT_PATH.resolve("x509forImport.key.pem");
}
@Override
public Path fullchainPath() {
return TestOpenSSLCertificateCreator.TEST_CERT_PATH.resolve("x509forImport.fullchain.pem");
return TestOpenSSLService.TEST_CERT_PATH.resolve("x509forImport.fullchain.pem");
}
};
@Test
void testTruststore() throws Exception {
var passwordProvider = new InMemoryCertificatePasswordProvider();
passwordProvider.setPasswordFor(dummyCert.fingerprint(), TestOpenSSLCertificateCreator.TEST_CERT_PASSPHRASE);
passwordProvider.setPasswordFor(dummyCert.fingerprint(), TestOpenSSLService.TEST_CERT_PASSPHRASE);
var certificateProvider = Mockito.mock(CertificateProvider.class);
var opensslCertCreator = new OpenSSLCertificateCreator(
new ExecutableResolver(),
passwordProvider,
certificateProvider
);
var opensslCertCreator = new OpenSSLService(new ExecutableResolver(), passwordProvider, certificateProvider);
var truststoreManager = new TruststoreManager();
var keyStoreManager = new KeyStoreManager(opensslCertCreator, passwordProvider);
AtomicBoolean serverAccepted = new AtomicBoolean(false);

View file

@ -14,7 +14,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
@SpringBootTest
class TestOpenSSLCertificateCreator {
class TestOpenSSLService {
public static final String TEST_CERT_PASSPHRASE = "ABC-123";
public static final Path TEST_CERT_PATH = Path.of("src/test/resources/openssl");
@ -36,11 +36,7 @@ class TestOpenSSLCertificateCreator {
void testCertificateCreation() throws Exception {
CertificateProvider certificateProvider = mock(CertificateProvider.class);
ExecutableResolver executableResolver = new ExecutableResolver();
var certificateCreator = new OpenSSLCertificateCreator(
executableResolver,
passwordProvider,
certificateProvider
);
var certificateCreator = new OpenSSLService(executableResolver, passwordProvider, certificateProvider);
CertificateRequest certRequest = CertificateRequest
.builder()
@ -102,11 +98,7 @@ class TestOpenSSLCertificateCreator {
void testCertificateImport() throws Exception {
CertificateProvider certificateProvider = mock(CertificateProvider.class);
ExecutableResolver executableResolver = new ExecutableResolver();
var certificateCreator = new OpenSSLCertificateCreator(
executableResolver,
passwordProvider,
certificateProvider
);
var certificateCreator = new OpenSSLService(executableResolver, passwordProvider, certificateProvider);
var request = certificateCreator.getCertificateInfo(TEST_CERT_PATH.resolve("x509forImportCA.pem"));
assertThat(request).isNotNull();