From 5849cfea755b443e68c968379500d13b654e0c5b Mon Sep 17 00:00:00 2001 From: David BRASSELY Date: Tue, 12 Feb 2019 23:54:09 +0100 Subject: [PATCH] fix(swagger): Apply trustall when getting swagger / oai content from HTTPS url Closes gravitee-io/issues#1897 --- .../management/service/impl/SwaggerServiceImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gravitee-management-api-service/src/main/java/io/gravitee/management/service/impl/SwaggerServiceImpl.java b/gravitee-management-api-service/src/main/java/io/gravitee/management/service/impl/SwaggerServiceImpl.java index b6cf36ee3b..56890f93e8 100644 --- a/gravitee-management-api-service/src/main/java/io/gravitee/management/service/impl/SwaggerServiceImpl.java +++ b/gravitee-management-api-service/src/main/java/io/gravitee/management/service/impl/SwaggerServiceImpl.java @@ -18,14 +18,15 @@ import com.fasterxml.jackson.core.JsonProcessingException; import io.gravitee.common.http.MediaType; import io.gravitee.management.model.ImportSwaggerDescriptorEntity; -import io.gravitee.management.model.api.NewApiEntity; import io.gravitee.management.model.PageEntity; +import io.gravitee.management.model.api.NewApiEntity; import io.gravitee.management.service.SwaggerService; import io.gravitee.management.service.exceptions.SwaggerDescriptorException; import io.swagger.models.Scheme; import io.swagger.models.Swagger; import io.swagger.parser.SwaggerCompatConverter; import io.swagger.parser.SwaggerParser; +import io.swagger.parser.util.RemoteUrl; import io.swagger.util.Json; import io.swagger.util.Yaml; import io.swagger.v3.oas.models.OpenAPI; @@ -62,6 +63,11 @@ public class SwaggerServiceImpl implements SwaggerService { @Value("${swagger.scheme:https}") private String defaultScheme; + static { + System.setProperty(String.format("%s.trustAll", RemoteUrl.class.getName()), Boolean.TRUE.toString()); + System.setProperty(String.format("%s.trustAll", io.swagger.v3.parser.util.RemoteUrl.class.getName()), Boolean.TRUE.toString()); + } + @Override public NewApiEntity prepare(ImportSwaggerDescriptorEntity swaggerDescriptor) { NewApiEntity apiEntity;