chore: Apply spotless formatting
This commit is contained in:
parent
b27623db26
commit
4b863fec42
6 changed files with 85 additions and 81 deletions
|
@ -3,13 +3,12 @@ package de.mlessmann.certassist.models;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import jakarta.validation.constraints.Min;
|
import jakarta.validation.constraints.Min;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.*;
|
|
||||||
import org.hibernate.proxy.HibernateProxy;
|
|
||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import lombok.*;
|
||||||
|
import org.hibernate.proxy.HibernateProxy;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(uniqueConstraints = { @UniqueConstraint(columnNames = { "fingerprint" }) })
|
@Table(uniqueConstraints = { @UniqueConstraint(columnNames = { "fingerprint" }) })
|
||||||
|
@ -69,8 +68,12 @@ public class Certificate {
|
||||||
public final boolean equals(Object o) {
|
public final boolean equals(Object o) {
|
||||||
if (this == o) return true;
|
if (this == o) return true;
|
||||||
if (o == null) return false;
|
if (o == null) return false;
|
||||||
Class<?> oEffectiveClass = o instanceof HibernateProxy ? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass() : o.getClass();
|
Class<?> oEffectiveClass = o instanceof HibernateProxy
|
||||||
Class<?> thisEffectiveClass = this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass() : this.getClass();
|
? ((HibernateProxy) o).getHibernateLazyInitializer().getPersistentClass()
|
||||||
|
: o.getClass();
|
||||||
|
Class<?> thisEffectiveClass = this instanceof HibernateProxy
|
||||||
|
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass()
|
||||||
|
: this.getClass();
|
||||||
if (thisEffectiveClass != oEffectiveClass) return false;
|
if (thisEffectiveClass != oEffectiveClass) return false;
|
||||||
Certificate that = (Certificate) o;
|
Certificate that = (Certificate) o;
|
||||||
return getId() != null && Objects.equals(getId(), that.getId());
|
return getId() != null && Objects.equals(getId(), that.getId());
|
||||||
|
@ -78,6 +81,8 @@ public class Certificate {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final int hashCode() {
|
public final int hashCode() {
|
||||||
return this instanceof HibernateProxy ? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode() : getClass().hashCode();
|
return this instanceof HibernateProxy
|
||||||
|
? ((HibernateProxy) this).getHibernateLazyInitializer().getPersistentClass().hashCode()
|
||||||
|
: getClass().hashCode();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,11 +23,9 @@ import java.nio.file.Path;
|
||||||
import java.nio.file.StandardOpenOption;
|
import java.nio.file.StandardOpenOption;
|
||||||
import java.security.cert.X509Certificate;
|
import java.security.cert.X509Certificate;
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.time.ZonedDateTime;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.format.DateTimeFormatterBuilder;
|
import java.time.format.DateTimeFormatterBuilder;
|
||||||
import java.time.temporal.ChronoField;
|
import java.time.temporal.ChronoField;
|
||||||
import java.time.temporal.IsoFields;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import java.util.concurrent.TimeoutException;
|
import java.util.concurrent.TimeoutException;
|
||||||
|
|
|
@ -2,14 +2,12 @@ package de.mlessmann.certassist.openssl;
|
||||||
|
|
||||||
import de.mlessmann.certassist.models.CertificateInfoExtension;
|
import de.mlessmann.certassist.models.CertificateInfoExtension;
|
||||||
import de.mlessmann.certassist.models.CertificateInfoSubject;
|
import de.mlessmann.certassist.models.CertificateInfoSubject;
|
||||||
import lombok.Builder;
|
|
||||||
import org.springframework.lang.Nullable;
|
|
||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.time.ZonedDateTime;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import lombok.Builder;
|
||||||
|
import org.springframework.lang.Nullable;
|
||||||
|
|
||||||
@Builder
|
@Builder
|
||||||
public record X509CertificateInfo(
|
public record X509CertificateInfo(
|
||||||
|
|
|
@ -79,7 +79,13 @@ public class CertificateCreationService {
|
||||||
|
|
||||||
private Certificate createEntityFromInfo(X509CertificateInfo info) {
|
private Certificate createEntityFromInfo(X509CertificateInfo info) {
|
||||||
final Certificate certificate = new Certificate();
|
final Certificate certificate = new Certificate();
|
||||||
certificate.setType(mapCertificateRequestType(info.issuer() != null ? CertificateInfo.RequestType.NORMAL_CERTIFICATE : CertificateInfo.RequestType.STANDALONE_CERTIFICATE));
|
certificate.setType(
|
||||||
|
mapCertificateRequestType(
|
||||||
|
info.issuer() != null
|
||||||
|
? CertificateInfo.RequestType.NORMAL_CERTIFICATE
|
||||||
|
: CertificateInfo.RequestType.STANDALONE_CERTIFICATE
|
||||||
|
)
|
||||||
|
);
|
||||||
certificate.setSubjectCommonName(info.subject().getCommonName());
|
certificate.setSubjectCommonName(info.subject().getCommonName());
|
||||||
certificate.setTrustingAuthority(info.issuer().getCommonName());
|
certificate.setTrustingAuthority(info.issuer().getCommonName());
|
||||||
certificate.setRequestedKeyLength(-1);
|
certificate.setRequestedKeyLength(-1);
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
package de.mlessmann.certassist;
|
package de.mlessmann.certassist;
|
||||||
|
|
||||||
|
import static java.util.Objects.requireNonNull;
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.mockito.Mockito.*;
|
||||||
|
|
||||||
import de.mlessmann.certassist.models.CertificateInfo;
|
import de.mlessmann.certassist.models.CertificateInfo;
|
||||||
import de.mlessmann.certassist.models.CertificateInfo.RequestType;
|
import de.mlessmann.certassist.models.CertificateInfo.RequestType;
|
||||||
import de.mlessmann.certassist.models.CertificateInfoExtension;
|
import de.mlessmann.certassist.models.CertificateInfoExtension;
|
||||||
|
@ -8,17 +12,12 @@ import de.mlessmann.certassist.openssl.CertificatePasswordProvider;
|
||||||
import de.mlessmann.certassist.openssl.CertificateProvider;
|
import de.mlessmann.certassist.openssl.CertificateProvider;
|
||||||
import de.mlessmann.certassist.openssl.OpenSSLService;
|
import de.mlessmann.certassist.openssl.OpenSSLService;
|
||||||
import de.mlessmann.certassist.service.ExecutableResolver;
|
import de.mlessmann.certassist.service.ExecutableResolver;
|
||||||
|
import java.nio.file.Path;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||||
|
|
||||||
import java.nio.file.Path;
|
|
||||||
|
|
||||||
import static java.util.Objects.requireNonNull;
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
|
||||||
import static org.mockito.Mockito.*;
|
|
||||||
|
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
class TestOpenSSLService {
|
class TestOpenSSLService {
|
||||||
|
|
||||||
|
@ -88,9 +87,7 @@ class TestOpenSSLService {
|
||||||
when(certificateProvider.requestCertificateUsage(cert.fingerprint())).thenReturn(spiedCert);
|
when(certificateProvider.requestCertificateUsage(cert.fingerprint())).thenReturn(spiedCert);
|
||||||
try (var childCert = certificateCreator.createCertificate(childRequest)) {
|
try (var childCert = certificateCreator.createCertificate(childRequest)) {
|
||||||
Path fullchain = childCert.fullchainPath();
|
Path fullchain = childCert.fullchainPath();
|
||||||
assertThat(
|
assertThat(certificateCreator.verifyCertificate(requireNonNull(fullchain), cert.certificatePath()))
|
||||||
certificateCreator.verifyCertificate(requireNonNull(fullchain), cert.certificatePath())
|
|
||||||
)
|
|
||||||
.withFailMessage(ERR_VERIFY_FAILED)
|
.withFailMessage(ERR_VERIFY_FAILED)
|
||||||
.isTrue();
|
.isTrue();
|
||||||
assertThat(certificateCreator.isKeyEncrypted(requireNonNull(childCert.certificateKeyPath())))
|
assertThat(certificateCreator.isKeyEncrypted(requireNonNull(childCert.certificateKeyPath())))
|
||||||
|
@ -124,6 +121,7 @@ class TestOpenSSLService {
|
||||||
assertThat(request.subject().getState()).isEqualTo("SH");
|
assertThat(request.subject().getState()).isEqualTo("SH");
|
||||||
assertThat(request.subject().getLocality()).isEqualTo("HH");
|
assertThat(request.subject().getLocality()).isEqualTo("HH");
|
||||||
assertThat(request.subject().getOrganization()).isEqualTo("Crazy-Cats");
|
assertThat(request.subject().getOrganization()).isEqualTo("Crazy-Cats");
|
||||||
assertThat(request.extensions().getFirst().getAlternativeDnsNames()).containsExactly("test2.local", "test3.local");
|
assertThat(request.extensions().getFirst().getAlternativeDnsNames())
|
||||||
|
.containsExactly("test2.local", "test3.local");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,6 @@ import de.mlessmann.certassist.models.Certificate;
|
||||||
import de.mlessmann.certassist.models.CertificateExtension;
|
import de.mlessmann.certassist.models.CertificateExtension;
|
||||||
import de.mlessmann.certassist.models.CertificateType;
|
import de.mlessmann.certassist.models.CertificateType;
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.StreamSupport;
|
import java.util.stream.StreamSupport;
|
||||||
|
|
Loading…
Add table
Reference in a new issue