43 lines
1 KiB
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;
|
|
}
|
|
}
|
|
}
|