Search in sources :

Example 1 with CertificateInfoDTO

use of org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.CertificateInfoDTO in project carbon-apimgt by wso2.

the class ApisApiServiceImpl method getAPIClientCertificateByAlias.

@Override
public Response getAPIClientCertificateByAlias(String alias, String apiId, MessageContext messageContext) {
    String organization = null;
    CertificateMgtUtils certificateMgtUtils = CertificateMgtUtils.getInstance();
    try {
        organization = RestApiUtil.getValidatedOrganization(messageContext);
        APIProvider apiProvider = RestApiCommonUtil.getLoggedInUserProvider();
        API api = apiProvider.getAPIbyUUID(apiId, organization);
        ClientCertificateDTO clientCertificateDTO = CertificateRestApiUtils.preValidateClientCertificate(alias, api.getId(), organization);
        CertificateInformationDTO certificateInformationDTO = certificateMgtUtils.getCertificateInfo(clientCertificateDTO.getCertificate());
        if (certificateInformationDTO != null) {
            CertificateInfoDTO certificateInfoDTO = CertificateMappingUtil.fromCertificateInformationToDTO(certificateInformationDTO);
            return Response.ok().entity(certificateInfoDTO).build();
        } else {
            RestApiUtil.handleResourceNotFoundError("Certificate is empty for alias " + alias, log);
        }
    } catch (APIManagementException e) {
        RestApiUtil.handleInternalServerError("Error while retrieving the client certificate with alias " + alias + " for the tenant " + organization, e, log);
    }
    return null;
}
Also used : APIManagementException(org.wso2.carbon.apimgt.api.APIManagementException) API(org.wso2.carbon.apimgt.api.model.API) ImportExportAPI(org.wso2.carbon.apimgt.impl.importexport.ImportExportAPI) SubscribedAPI(org.wso2.carbon.apimgt.api.model.SubscribedAPI) ClientCertificateDTO(org.wso2.carbon.apimgt.api.dto.ClientCertificateDTO) CertificateInformationDTO(org.wso2.carbon.apimgt.api.dto.CertificateInformationDTO) CertificateMgtUtils(org.wso2.carbon.apimgt.impl.utils.CertificateMgtUtils) APIProvider(org.wso2.carbon.apimgt.api.APIProvider) CertificateInfoDTO(org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.CertificateInfoDTO)

Example 2 with CertificateInfoDTO

use of org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.CertificateInfoDTO in project carbon-apimgt by wso2.

the class EndpointCertificatesApiServiceImpl method getEndpointCertificateByAlias.

public Response getEndpointCertificateByAlias(String alias, MessageContext messageContext) {
    String tenantDomain = RestApiCommonUtil.getLoggedInUserTenantDomain();
    int tenantId = APIUtil.getTenantIdFromTenantDomain(tenantDomain);
    if (!StringUtils.isNotEmpty(alias)) {
        RestApiUtil.handleBadRequest("The alias cannot be empty", log);
    }
    if (log.isDebugEnabled()) {
        log.debug(String.format("Retrieving the common information of the certificate which is represented by the" + " alias : %s", alias));
    }
    try {
        APIProvider apiProvider = RestApiCommonUtil.getLoggedInUserProvider();
        if (!apiProvider.isCertificatePresent(tenantId, alias)) {
            if (log.isDebugEnabled()) {
                log.debug(String.format("Could not find a certificate in truststore which belongs to tenant %d " + "and with alias %s. Hence the operation is terminated.", tenantId, alias));
            }
            String message = "Certificate for Alias '" + alias + "' is not found.";
            RestApiUtil.handleResourceNotFoundError(message, log);
        }
        CertificateInformationDTO certificateInformationDTO = apiProvider.getCertificateStatus(alias);
        CertificateValidityDTO certificateValidityDTO = new CertificateValidityDTO();
        certificateValidityDTO.setFrom(certificateInformationDTO.getFrom());
        certificateValidityDTO.setTo(certificateInformationDTO.getTo());
        CertificateInfoDTO certificateInfoDTO = new CertificateInfoDTO();
        certificateInfoDTO.setValidity(certificateValidityDTO);
        certificateInfoDTO.setStatus(certificateInformationDTO.getStatus());
        certificateInfoDTO.setSubject(certificateInformationDTO.getSubject());
        certificateInfoDTO.setVersion(certificateInformationDTO.getVersion());
        return Response.ok().entity(certificateInfoDTO).build();
    } catch (APIManagementException e) {
        RestApiUtil.handleInternalServerError("Error while retrieving the certificate status.", e, log);
    }
    return null;
}
Also used : APIManagementException(org.wso2.carbon.apimgt.api.APIManagementException) CertificateInformationDTO(org.wso2.carbon.apimgt.api.dto.CertificateInformationDTO) APIProvider(org.wso2.carbon.apimgt.api.APIProvider) CertificateInfoDTO(org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.CertificateInfoDTO) CertificateValidityDTO(org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.CertificateValidityDTO)

Example 3 with CertificateInfoDTO

use of org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.CertificateInfoDTO in project carbon-apimgt by wso2.

the class CertificateMappingUtil method fromCertificateInformationToDTO.

/**
 * To convert Instance of {@link CertificateInformationDTO} to {@link CertificateInfoDTO};
 *
 * @param certificateInformationDTO Instance of {@link CertificateInformationDTO}
 * @return converted instance of {@link CertificateInfoDTO}.
 */
public static CertificateInfoDTO fromCertificateInformationToDTO(CertificateInformationDTO certificateInformationDTO) {
    CertificateValidityDTO certificateValidityDTO = new CertificateValidityDTO();
    certificateValidityDTO.setFrom(certificateInformationDTO.getFrom());
    certificateValidityDTO.setTo(certificateInformationDTO.getTo());
    CertificateInfoDTO certificateInfoDTO = new CertificateInfoDTO();
    certificateInfoDTO.setValidity(certificateValidityDTO);
    certificateInfoDTO.setStatus(certificateInformationDTO.getStatus());
    certificateInfoDTO.setSubject(certificateInformationDTO.getSubject());
    certificateInfoDTO.setVersion(certificateInformationDTO.getVersion());
    return certificateInfoDTO;
}
Also used : CertificateInfoDTO(org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.CertificateInfoDTO) CertificateValidityDTO(org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.CertificateValidityDTO)

Aggregations

CertificateInfoDTO (org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.CertificateInfoDTO)3 APIManagementException (org.wso2.carbon.apimgt.api.APIManagementException)2 APIProvider (org.wso2.carbon.apimgt.api.APIProvider)2 CertificateInformationDTO (org.wso2.carbon.apimgt.api.dto.CertificateInformationDTO)2 CertificateValidityDTO (org.wso2.carbon.apimgt.rest.api.publisher.v1.dto.CertificateValidityDTO)2 ClientCertificateDTO (org.wso2.carbon.apimgt.api.dto.ClientCertificateDTO)1 API (org.wso2.carbon.apimgt.api.model.API)1 SubscribedAPI (org.wso2.carbon.apimgt.api.model.SubscribedAPI)1 ImportExportAPI (org.wso2.carbon.apimgt.impl.importexport.ImportExportAPI)1 CertificateMgtUtils (org.wso2.carbon.apimgt.impl.utils.CertificateMgtUtils)1