diff --git a/common/src/main/java/work/xuye/common/utils/signature/RSASignatureService.java b/common/src/main/java/work/xuye/common/utils/signature/RSASignatureService.java index 661bfd0..dc26589 100644 --- a/common/src/main/java/work/xuye/common/utils/signature/RSASignatureService.java +++ b/common/src/main/java/work/xuye/common/utils/signature/RSASignatureService.java @@ -22,6 +22,16 @@ import java.security.spec.X509EncodedKeySpec; class RSASignatureService extends AbstractSignatureService { + private RSASignatureService() { + + } + + public static AbstractSignatureService getInstance(SignatureConfig signatureConfig) throws GeneralSecurityException { + RSASignatureService result = new RSASignatureService(); + result.init(signatureConfig); + return result; + } + @Override public String signatureByPriKey(String content) throws GeneralSecurityException { if (signatureContext == null) { diff --git a/common/src/main/java/work/xuye/common/utils/signature/SignatureFactory.java b/common/src/main/java/work/xuye/common/utils/signature/SignatureFactory.java index 9c8100b..8f25643 100644 --- a/common/src/main/java/work/xuye/common/utils/signature/SignatureFactory.java +++ b/common/src/main/java/work/xuye/common/utils/signature/SignatureFactory.java @@ -20,13 +20,12 @@ public class SignatureFactory { switch (SignatureEnumGroup.KeyAlgorithm.valueOf(signatureConfig.getKeyAlgorithm())) { case RSA: - result = new RSASignatureService(); + result = RSASignatureService.getInstance(signatureConfig); break; } if (result == null) { throw new RuntimeException(String.format("不支持的签名方式,signatureConfig:%s", signatureConfig)); } - result.init(signatureConfig); return result; }