diff --git a/jero-boot/jero-boot-single-startup/src/main/java/com/jero/config/TomcatSslConnectorProperties.java b/jero-boot/jero-boot-single-startup/src/main/java/com/jero/config/TomcatSslConnectorProperties.java index 204e17a35..13658cad2 100644 --- a/jero-boot/jero-boot-single-startup/src/main/java/com/jero/config/TomcatSslConnectorProperties.java +++ b/jero-boot/jero-boot-single-startup/src/main/java/com/jero/config/TomcatSslConnectorProperties.java @@ -1,23 +1,30 @@ package com.jero.config; +import com.jero.modules.project.service.impl.ProjectLawsInventoryEOServiceImpl; import lombok.Data; import org.apache.catalina.connector.Connector; +import org.apache.commons.io.FileUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import java.io.File; +import java.io.IOException; +import java.io.InputStream; //@PropertySource("classpath:config/tomcat.https.properties") @ConfigurationProperties(prefix = "jero.tomcat.https") @Data public class TomcatSslConnectorProperties { + @Value("${jero.path.upload}") + private String tempStoreJks; + private Integer port; private Boolean ssl = true; private Boolean secure = true; private String scheme = "https"; - private File keystore; + private String keystore; private String keystorePassword; private String keystoreType; //这里为了节省空间,省略了getters和setters,读者在实践的时候要加上 @@ -36,8 +43,20 @@ public class TomcatSslConnectorProperties { connector.setProperty("SSLEnabled", ssl.toString()); } - if (keystore != null && keystore.exists()) { - connector.setProperty("keystoreFile", keystore.getAbsolutePath()); + InputStream inputStream = ProjectLawsInventoryEOServiceImpl.class.getClassLoader().getResourceAsStream(keystore); + + String keystorePath = tempStoreJks + File.separator + keystore; + File keystoreFile = new File(keystorePath); + if (!keystoreFile.exists()){ + try { + FileUtils.copyInputStreamToFile(inputStream, keystoreFile); + } catch (IOException e) { + e.printStackTrace(); + } + } + + if (keystoreFile != null && keystoreFile.exists()) { + connector.setProperty("keystoreFile", keystorePath); connector.setProperty("keystorePass", keystorePassword); connector.setProperty("keystoreType", keystoreType); } diff --git a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml index 73617b813..05c434846 100644 --- a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -209,7 +209,7 @@ jero : secure: true scheme: https ssl: true - keystore: classpath:grp.jks + keystore: grp.jks keystorePassword: 501937 keystoreType: JKS shiro: