/************************************************************************* * * * CESeCore: CE Security Core * * * * This software is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or any later version. * * * * See terms of license at gnu.org. * * * *************************************************************************/ package org.cesecore.certificates.ca; import java.io.Serializable; import org.cesecore.authentication.tokens.AuthenticationToken; import org.cesecore.certificates.certificatetransparency.CTAuditLogCallback; import org.cesecore.certificates.certificatetransparency.CTSubmissionConfigParams; import org.cesecore.keys.validation.CertificateValidationDomainService; /** * Contains parameters and callbacks which is needed during certificate * generation in X509CA, e.g. by the CT extension. This can be used to access * session beans from this class, for instance the global configuration * or audit logging. * * @note Since instances of this class may reference session beans, you must ensure * that instances of this interface are only used temporarily, e.g. as * functions arguments, and never as e.g. instance variables of non-temporary * classes. * * @note Since it might not be possible to obtain the parameters, all methods that * accept objects of this class should also accept a null value, or null values * inside the CertificateGenerationParams object. * * @see CTAuditLogCallback * * @version $Id: CertificateGenerationParams.java 27524 2017-12-12 09:48:23Z bastianf $ */ public final class CertificateGenerationParams implements Serializable { private static final long serialVersionUID = 1L; private CTSubmissionConfigParams ctSubmissionConfigParams; private CTAuditLogCallback ctAuditLogCallback; private AuthenticationToken authenticationToken; private CertificateValidationDomainService certificateValidationDomainService; /** * Sets CT parameters that are not specific to the certificate profile, for example list of available CT logs. */ public void setCTSubmissionConfigParams(final CTSubmissionConfigParams ctSubmissionConfigParams) { this.ctSubmissionConfigParams = ctSubmissionConfigParams; } /** * Set the a callback to be called after CT log submission. * This method is called automatically from CertificateCreateSession when generating a certificate. */ public void setCTAuditLogCallback(CTAuditLogCallback ctAuditLogCallback) { this.ctAuditLogCallback = ctAuditLogCallback; } /* Package internal methods are called from X509CA */ CTSubmissionConfigParams getCTSubmissionConfigParams() { return ctSubmissionConfigParams; } CTAuditLogCallback getCTAuditLogCallback() { return ctAuditLogCallback; } /** * Gets the validation domain service reference. * @return the domain service reference. */ public CertificateValidationDomainService getCertificateValidationDomainService() { return certificateValidationDomainService; } /** * Sets the validation domain service reference. * @param certificateValidationDomainService the domain service reference. */ public void setCertificateValidationDomainService(CertificateValidationDomainService certificateValidationDomainService) { this.certificateValidationDomainService = certificateValidationDomainService; } /** * Gets the authentication token. * @return the token. */ public AuthenticationToken getAuthenticationToken() { return authenticationToken; } /** * Sets the authentication token. * @param authenticationToken the token. */ public void setAuthenticationToken(AuthenticationToken authenticationToken) { this.authenticationToken = authenticationToken; } }