diff --git a/docker/adminer/build.sh b/docker/adminer/build.sh index 6e10de18..5cb800a9 100644 --- a/docker/adminer/build.sh +++ b/docker/adminer/build.sh @@ -1,5 +1,5 @@ #/bin/bash -version=2.3.0 +version=2.3.1 docker build -t orion-visor-adminer:${version} . docker tag orion-visor-adminer:${version} registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-adminer:${version} docker tag orion-visor-adminer:${version} registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-adminer:latest diff --git a/docker/mysql/build.sh b/docker/mysql/build.sh index 0c7db7da..f5ca4806 100644 --- a/docker/mysql/build.sh +++ b/docker/mysql/build.sh @@ -1,5 +1,5 @@ #/bin/bash -version=2.3.0 +version=2.3.1 cp -r ../../sql ./sql docker build -t orion-visor-mysql:${version} . rm -rf ./sql diff --git a/docker/push.sh b/docker/push.sh index bb296787..625b9332 100644 --- a/docker/push.sh +++ b/docker/push.sh @@ -1,5 +1,5 @@ #/bin/bash -version=2.3.0 +version=2.3.1 docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-adminer:${version} docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-mysql:${version} docker push registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-redis:${version} diff --git a/docker/redis/build.sh b/docker/redis/build.sh index a58ef254..9ed0c658 100644 --- a/docker/redis/build.sh +++ b/docker/redis/build.sh @@ -1,5 +1,5 @@ #/bin/bash -version=2.3.0 +version=2.3.1 docker build -t orion-visor-redis:${version} . docker tag orion-visor-redis:${version} registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-redis:${version} docker tag orion-visor-redis:${version} registry.cn-hangzhou.aliyuncs.com/orionsec/orion-visor-redis:latest diff --git a/docker/service/build.sh b/docker/service/build.sh index 6312f193..0d553c44 100644 --- a/docker/service/build.sh +++ b/docker/service/build.sh @@ -1,5 +1,5 @@ #/bin/bash -version=2.3.0 +version=2.3.1 mv ../../orion-visor-launch/target/orion-visor-launch.jar ./orion-visor-launch.jar mv ../../orion-visor-ui/dist ./dist docker build --no-cache -t orion-visor-service:${version} . diff --git a/orion-visor-common/src/main/java/org/dromara/visor/common/constant/AppConst.java b/orion-visor-common/src/main/java/org/dromara/visor/common/constant/AppConst.java index 444bd022..9b6f0042 100644 --- a/orion-visor-common/src/main/java/org/dromara/visor/common/constant/AppConst.java +++ b/orion-visor-common/src/main/java/org/dromara/visor/common/constant/AppConst.java @@ -36,7 +36,7 @@ public interface AppConst extends OrionConst { /** * 同 ${orion.version} 迭代时候需要手动更改 */ - String VERSION = "2.3.0"; + String VERSION = "2.3.1"; /** * 同 ${spring.application.name} diff --git a/orion-visor-common/src/main/java/org/dromara/visor/common/interfaces/RsaEncryptor.java b/orion-visor-common/src/main/java/org/dromara/visor/common/interfaces/RsaDecryptor.java similarity index 86% rename from orion-visor-common/src/main/java/org/dromara/visor/common/interfaces/RsaEncryptor.java rename to orion-visor-common/src/main/java/org/dromara/visor/common/interfaces/RsaDecryptor.java index a0edc757..a0bec1ae 100644 --- a/orion-visor-common/src/main/java/org/dromara/visor/common/interfaces/RsaEncryptor.java +++ b/orion-visor-common/src/main/java/org/dromara/visor/common/interfaces/RsaDecryptor.java @@ -23,21 +23,13 @@ package org.dromara.visor.common.interfaces; /** - * rsa 加密器 + * rsa 解密器 * * @author Jiahang Li * @version 1.0.0 * @since 2025/1/5 20:58 */ -public interface RsaEncryptor { - - /** - * 加密 - * - * @param value value - * @return value - */ - String encrypt(String value); +public interface RsaDecryptor { /** * 解密 diff --git a/orion-visor-common/src/main/java/org/dromara/visor/common/utils/RsaEncryptUtils.java b/orion-visor-common/src/main/java/org/dromara/visor/common/utils/RsaParamDecryptUtils.java similarity index 70% rename from orion-visor-common/src/main/java/org/dromara/visor/common/utils/RsaEncryptUtils.java rename to orion-visor-common/src/main/java/org/dromara/visor/common/utils/RsaParamDecryptUtils.java index b048b6b2..56b24887 100644 --- a/orion-visor-common/src/main/java/org/dromara/visor/common/utils/RsaEncryptUtils.java +++ b/orion-visor-common/src/main/java/org/dromara/visor/common/utils/RsaParamDecryptUtils.java @@ -23,30 +23,20 @@ package org.dromara.visor.common.utils; import cn.orionsec.kit.lang.utils.Exceptions; -import org.dromara.visor.common.interfaces.RsaEncryptor; +import org.dromara.visor.common.interfaces.RsaDecryptor; /** - * rsa 加密工具类 + * rsa 参数解密工具类 * * @author Jiahang Li * @version 1.0.0 * @since 2025/1/5 21:13 */ -public class RsaEncryptUtils { +public class RsaParamDecryptUtils { - private static RsaEncryptor delegate; + private static RsaDecryptor delegate; - private RsaEncryptUtils() { - } - - /** - * 加密 - * - * @param value value - * @return value - */ - public static String encrypt(String value) { - return delegate.encrypt(value); + private RsaParamDecryptUtils() { } /** @@ -59,12 +49,12 @@ public class RsaEncryptUtils { return delegate.decrypt(value); } - public static void setDelegate(RsaEncryptor delegate) { - if (RsaEncryptUtils.delegate != null) { + public static void setDelegate(RsaDecryptor delegate) { + if (RsaParamDecryptUtils.delegate != null) { // unmodified throw Exceptions.state(); } - RsaEncryptUtils.delegate = delegate; + RsaParamDecryptUtils.delegate = delegate; } } diff --git a/orion-visor-dependencies/pom.xml b/orion-visor-dependencies/pom.xml index 92f73f8d..3cedb2b4 100644 --- a/orion-visor-dependencies/pom.xml +++ b/orion-visor-dependencies/pom.xml @@ -14,7 +14,7 @@ https://github.com/dromara/orion-visor - 2.3.0 + 2.3.1 2.7.17 2.7.15 1.5.0 diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-encrypt/src/main/java/org/dromara/visor/framework/encrypt/configuration/OrionEncryptAutoConfiguration.java b/orion-visor-framework/orion-visor-spring-boot-starter-encrypt/src/main/java/org/dromara/visor/framework/encrypt/configuration/OrionEncryptAutoConfiguration.java index 2157a14b..f6e942be 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-encrypt/src/main/java/org/dromara/visor/framework/encrypt/configuration/OrionEncryptAutoConfiguration.java +++ b/orion-visor-framework/orion-visor-spring-boot-starter-encrypt/src/main/java/org/dromara/visor/framework/encrypt/configuration/OrionEncryptAutoConfiguration.java @@ -25,12 +25,12 @@ package org.dromara.visor.framework.encrypt.configuration; import org.dromara.visor.common.config.ConfigStore; import org.dromara.visor.common.constant.AutoConfigureOrderConst; import org.dromara.visor.common.interfaces.AesEncryptor; -import org.dromara.visor.common.interfaces.RsaEncryptor; +import org.dromara.visor.common.interfaces.RsaDecryptor; import org.dromara.visor.common.utils.AesEncryptUtils; -import org.dromara.visor.common.utils.RsaEncryptUtils; +import org.dromara.visor.common.utils.RsaParamDecryptUtils; import org.dromara.visor.framework.encrypt.configuration.config.AesEncryptConfig; import org.dromara.visor.framework.encrypt.core.impl.AesEncryptorImpl; -import org.dromara.visor.framework.encrypt.core.impl.RsaEncryptorImpl; +import org.dromara.visor.framework.encrypt.core.impl.RsaDecryptorImpl; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.boot.context.properties.EnableConfigurationProperties; @@ -63,15 +63,15 @@ public class OrionEncryptAutoConfiguration { /** * @param configStore configStore - * @return rsa 加密器 + * @return rsa 参数解密器 */ @Bean - public RsaEncryptor rsaEncryptor(ConfigStore configStore) { - // 加密器 - RsaEncryptor encryptor = new RsaEncryptorImpl(configStore); + public RsaDecryptor rsaParamDecryptor(ConfigStore configStore) { + // 解密器 + RsaDecryptor decryptor = new RsaDecryptorImpl(configStore); // 设置工具类 - RsaEncryptUtils.setDelegate(encryptor); - return encryptor; + RsaParamDecryptUtils.setDelegate(decryptor); + return decryptor; } } diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-encrypt/src/main/java/org/dromara/visor/framework/encrypt/core/impl/RsaEncryptorImpl.java b/orion-visor-framework/orion-visor-spring-boot-starter-encrypt/src/main/java/org/dromara/visor/framework/encrypt/core/impl/RsaDecryptorImpl.java similarity index 72% rename from orion-visor-framework/orion-visor-spring-boot-starter-encrypt/src/main/java/org/dromara/visor/framework/encrypt/core/impl/RsaEncryptorImpl.java rename to orion-visor-framework/orion-visor-spring-boot-starter-encrypt/src/main/java/org/dromara/visor/framework/encrypt/core/impl/RsaDecryptorImpl.java index be53e73a..1b482252 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-encrypt/src/main/java/org/dromara/visor/framework/encrypt/core/impl/RsaEncryptorImpl.java +++ b/orion-visor-framework/orion-visor-spring-boot-starter-encrypt/src/main/java/org/dromara/visor/framework/encrypt/core/impl/RsaDecryptorImpl.java @@ -26,10 +26,11 @@ import cn.orionsec.kit.lang.utils.crypto.RSA; import org.dromara.visor.common.config.ConfigRef; import org.dromara.visor.common.config.ConfigStore; import org.dromara.visor.common.constant.ConfigKeys; -import org.dromara.visor.common.interfaces.RsaEncryptor; +import org.dromara.visor.common.interfaces.RsaDecryptor; import java.security.interfaces.RSAPrivateKey; -import java.security.interfaces.RSAPublicKey; +import java.util.Arrays; +import java.util.stream.Collectors; /** * rsa 加密器 @@ -38,25 +39,21 @@ import java.security.interfaces.RSAPublicKey; * @version 1.0.0 * @since 2025/1/7 11:32 */ -public class RsaEncryptorImpl implements RsaEncryptor { +public class RsaDecryptorImpl implements RsaDecryptor { - private final ConfigRef publicKey; + private static final String SPLIT = "\\|"; private final ConfigRef privateKey; - public RsaEncryptorImpl(ConfigStore configStore) { - this.publicKey = configStore.ref(ConfigKeys.ENCRYPT_PUBLIC_KEY, RSA::getPublicKey); + public RsaDecryptorImpl(ConfigStore configStore) { this.privateKey = configStore.ref(ConfigKeys.ENCRYPT_PRIVATE_KEY, RSA::getPrivateKey); } - @Override - public String encrypt(String value) { - return RSA.encrypt(value, publicKey.value); - } - @Override public String decrypt(String value) { - return RSA.decrypt(value, privateKey.value); + return Arrays.stream(value.split(SPLIT)) + .map(s -> RSA.decrypt(s, privateKey.value)) + .collect(Collectors.joining()); } } diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-web/src/main/java/org/dromara/visor/framework/web/core/deserializer/ParamDecryptDeserializer.java b/orion-visor-framework/orion-visor-spring-boot-starter-web/src/main/java/org/dromara/visor/framework/web/core/deserializer/ParamDecryptDeserializer.java index 608367a2..fee715dd 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-web/src/main/java/org/dromara/visor/framework/web/core/deserializer/ParamDecryptDeserializer.java +++ b/orion-visor-framework/orion-visor-spring-boot-starter-web/src/main/java/org/dromara/visor/framework/web/core/deserializer/ParamDecryptDeserializer.java @@ -28,7 +28,7 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonNode; import org.dromara.visor.common.constant.ErrorMessage; -import org.dromara.visor.common.utils.RsaEncryptUtils; +import org.dromara.visor.common.utils.RsaParamDecryptUtils; import org.dromara.visor.common.utils.Valid; import java.io.IOException; @@ -51,7 +51,7 @@ public class ParamDecryptDeserializer extends JsonDeserializer { return value; } // 解密参数 - String decrypt = RsaEncryptUtils.decrypt(value); + String decrypt = RsaParamDecryptUtils.decrypt(value); return Valid.notNull(decrypt, ErrorMessage.DECRYPT_ERROR); } diff --git a/orion-visor-launch/src/test/java/org/dromara/visor/launch/ReplaceVersion.java b/orion-visor-launch/src/test/java/org/dromara/visor/launch/ReplaceVersion.java index 86558434..7ff40dac 100644 --- a/orion-visor-launch/src/test/java/org/dromara/visor/launch/ReplaceVersion.java +++ b/orion-visor-launch/src/test/java/org/dromara/visor/launch/ReplaceVersion.java @@ -39,9 +39,9 @@ import java.util.function.Function; */ public class ReplaceVersion { - private static final String TARGET_VERSION = "2.2.3"; + private static final String TARGET_VERSION = "2.3.0"; - private static final String REPLACE_VERSION = "2.3.0"; + private static final String REPLACE_VERSION = "2.3.1"; private static final String PATH = new File("").getAbsolutePath(); diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/strategy/HostSshConfigStrategy.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/strategy/HostSshConfigStrategy.java index 0fd5da54..d20f46d7 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/strategy/HostSshConfigStrategy.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/strategy/HostSshConfigStrategy.java @@ -29,7 +29,7 @@ import org.dromara.visor.common.constant.Const; import org.dromara.visor.common.constant.ErrorMessage; import org.dromara.visor.common.handler.data.strategy.AbstractGenericsDataStrategy; import org.dromara.visor.common.utils.AesEncryptUtils; -import org.dromara.visor.common.utils.RsaEncryptUtils; +import org.dromara.visor.common.utils.RsaParamDecryptUtils; import org.dromara.visor.common.utils.Valid; import org.dromara.visor.module.asset.dao.HostIdentityDAO; import org.dromara.visor.module.asset.dao.HostKeyDAO; @@ -134,7 +134,7 @@ public class HostSshConfigStrategy extends AbstractGenericsDataStrategy => { // 为空直接返回 @@ -9,14 +12,32 @@ export const encrypt = async (data: string | undefined): Promise { + const encrypted = encryptor.encrypt(chunk); + if (encrypted === false) { + throw new Error(); + } + return encrypted; + }); + return encryptedChunks.join('|'); + } catch (error) { Message.error('数据加密失败'); throw new Error('数据加密失败'); } - return value; +}; + +// 分割字符串 +const splitString = (str: string): string[] => { + const chunks: string[] = []; + for (let i = 0; i < str.length; i += BLOCK_SIZE) { + chunks.push(str.slice(i, i + BLOCK_SIZE)); + } + return chunks; }; diff --git a/pom.xml b/pom.xml index 46841506..3b65eba6 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ - 2.3.0 + 2.3.1 8 8 3.0.0-M5