home-cert-assistant/src/main/java/de/mlessmann/certassist/openssl/CertificateRequest.java

43 lines
1 KiB
Java

package de.mlessmann.certassist.openssl;
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class CertificateRequest {
private RequestType type;
private String commonName;
private String trustingAuthority;
@Builder.Default
private int requestedKeyLength = 4096;
@Builder.Default
private int requestedValidityDays = 365;
private CertificateSubject subject;
private CertificateRequestExtension extension;
public enum RequestType {
ROOT_AUTHORITY,
STANDALONE_CERTIFICATE,
NORMAL_CERTIFICATE,
}
public static class CertificateRequestBuilder {
public CertificateRequestBuilder subject(CertificateSubject.CertificateSubjectBuilder builder) {
this.subject = builder.build();
return this;
}
public CertificateRequestBuilder extension(
CertificateRequestExtension.CertificateRequestExtensionBuilder builder
) {
this.extension = builder.build();
return this;
}
}
}