mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-09-18 09:29:24 +00:00
interface fies
This commit is contained in:
parent
1a8d2f3d33
commit
cd71075f79
@ -5,7 +5,10 @@ import java.security.KeyStore;
|
|||||||
import java.security.cert.X509Certificate;
|
import java.security.cert.X509Certificate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
public interface ServerCertificateService {
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
public interface ServerCertificateServiceInterface {
|
||||||
|
|
||||||
boolean isEnabled();
|
boolean isEnabled();
|
||||||
|
|
||||||
@ -27,40 +30,13 @@ public interface ServerCertificateService {
|
|||||||
|
|
||||||
ServerCertificateInfo getServerCertificateInfo() throws Exception;
|
ServerCertificateInfo getServerCertificateInfo() throws Exception;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
class ServerCertificateInfo {
|
class ServerCertificateInfo {
|
||||||
private final boolean exists;
|
private final boolean exists;
|
||||||
private final String subject;
|
private final String subject;
|
||||||
private final String issuer;
|
private final String issuer;
|
||||||
private final Date validFrom;
|
private final Date validFrom;
|
||||||
private final Date validTo;
|
private final Date validTo;
|
||||||
|
|
||||||
public ServerCertificateInfo(
|
|
||||||
boolean exists, String subject, String issuer, Date validFrom, Date validTo) {
|
|
||||||
this.exists = exists;
|
|
||||||
this.subject = subject;
|
|
||||||
this.issuer = issuer;
|
|
||||||
this.validFrom = validFrom;
|
|
||||||
this.validTo = validTo;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isExists() {
|
|
||||||
return exists;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSubject() {
|
|
||||||
return subject;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIssuer() {
|
|
||||||
return issuer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getValidFrom() {
|
|
||||||
return validFrom;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getValidTo() {
|
|
||||||
return validTo;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -68,11 +68,12 @@ import io.micrometer.common.util.StringUtils;
|
|||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
import stirling.software.SPDF.model.api.security.SignPDFWithCertRequest;
|
import stirling.software.SPDF.model.api.security.SignPDFWithCertRequest;
|
||||||
import stirling.software.common.service.ServerCertificateService;
|
import stirling.software.common.service.ServerCertificateServiceInterface;
|
||||||
import stirling.software.common.annotations.AutoJobPostMapping;
|
import stirling.software.common.annotations.AutoJobPostMapping;
|
||||||
import stirling.software.common.service.CustomPDFDocumentFactory;
|
import stirling.software.common.service.CustomPDFDocumentFactory;
|
||||||
import stirling.software.common.util.ExceptionUtils;
|
import stirling.software.common.util.ExceptionUtils;
|
||||||
@ -82,7 +83,6 @@ import stirling.software.common.util.WebResponseUtils;
|
|||||||
@RequestMapping("/api/v1/security")
|
@RequestMapping("/api/v1/security")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Tag(name = "Security", description = "Security APIs")
|
@Tag(name = "Security", description = "Security APIs")
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class CertSignController {
|
public class CertSignController {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
@ -102,7 +102,14 @@ public class CertSignController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final CustomPDFDocumentFactory pdfDocumentFactory;
|
private final CustomPDFDocumentFactory pdfDocumentFactory;
|
||||||
private final ServerCertificateService serverCertificateService;
|
private final ServerCertificateServiceInterface serverCertificateService;
|
||||||
|
|
||||||
|
public CertSignController(
|
||||||
|
CustomPDFDocumentFactory pdfDocumentFactory,
|
||||||
|
@Autowired(required = false) ServerCertificateServiceInterface serverCertificateService) {
|
||||||
|
this.pdfDocumentFactory = pdfDocumentFactory;
|
||||||
|
this.serverCertificateService = serverCertificateService;
|
||||||
|
}
|
||||||
|
|
||||||
private static void sign(
|
private static void sign(
|
||||||
CustomPDFDocumentFactory pdfDocumentFactory,
|
CustomPDFDocumentFactory pdfDocumentFactory,
|
||||||
@ -197,6 +204,11 @@ public class CertSignController {
|
|||||||
ks.load(jksfile.getInputStream(), password.toCharArray());
|
ks.load(jksfile.getInputStream(), password.toCharArray());
|
||||||
break;
|
break;
|
||||||
case "SERVER":
|
case "SERVER":
|
||||||
|
if (serverCertificateService == null) {
|
||||||
|
throw ExceptionUtils.createIllegalArgumentException(
|
||||||
|
"error.serverCertificateNotAvailable",
|
||||||
|
"Server certificate service is not available in this edition");
|
||||||
|
}
|
||||||
if (!serverCertificateService.isEnabled()) {
|
if (!serverCertificateService.isEnabled()) {
|
||||||
throw ExceptionUtils.createIllegalArgumentException(
|
throw ExceptionUtils.createIllegalArgumentException(
|
||||||
"error.serverCertificateDisabled",
|
"error.serverCertificateDisabled",
|
||||||
|
@ -23,10 +23,11 @@ import org.springframework.stereotype.Service;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import stirling.software.common.configuration.InstallationPathConfig;
|
import stirling.software.common.configuration.InstallationPathConfig;
|
||||||
|
import stirling.software.common.service.ServerCertificateServiceInterface;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class ServerCertificateService implements stirling.software.common.service.ServerCertificateService {
|
public class ServerCertificateService implements ServerCertificateServiceInterface {
|
||||||
|
|
||||||
private static final String KEYSTORE_FILENAME = "server-certificate.p12";
|
private static final String KEYSTORE_FILENAME = "server-certificate.p12";
|
||||||
private static final String KEYSTORE_ALIAS = "stirling-pdf-server";
|
private static final String KEYSTORE_ALIAS = "stirling-pdf-server";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user