diff --git a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/cipher/DefaultValidator.java b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/cipher/DefaultValidator.java index 28ac73d..13b228e 100644 --- a/scfs-api-core/src/main/java/com/czcb/scfs/api/core/cipher/DefaultValidator.java +++ b/scfs-api-core/src/main/java/com/czcb/scfs/api/core/cipher/DefaultValidator.java @@ -50,9 +50,9 @@ public final class DefaultValidator implements Validator { public void validate(HttpRequest newRequest) { // 校验证书 CertificateProvider provider = getProfile().getSignature().getCertificateProvider(); - Signer signer = getProfile().getSignature().getSigner(); - if (!provider.isAvailableCertificate(signer.getCertificateSerial())) { - throw new ValidationException(String.format("证书已失效, 序列号:%s", signer.getCertificateSerial())); + PrivacyEncryptor encryptor = getProfile().getPrivacy().getEncryptor(); + if (!provider.isAvailableCertificate(encryptor.getCertificateSerial())) { + throw new ValidationException(String.format("证书已失效, 序列号:%s", encryptor.getCertificateSerial())); } } diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/DefaultValidatorTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/DefaultValidatorTest.java index 31afea7..158501e 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/DefaultValidatorTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/cipher/DefaultValidatorTest.java @@ -322,6 +322,6 @@ class DefaultValidatorTest { DefaultValidator defaultValidator = new DefaultValidator(buildProfileInvalid()); ValidationException exception = Assertions.assertThrows(ValidationException.class, () -> defaultValidator.validate(null)); - Assertions.assertEquals("证书已失效, 序列号:823CF3E310F2E2ED1AF85506E74A95DC4301006FDEF2FD019953FAF4DE12A8BF", exception.getMessage()); + Assertions.assertEquals("证书已失效, 序列号:6CDDAA92CAD75998325027647847330C1756291", exception.getMessage()); } } \ No newline at end of file diff --git a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientValidTest.java b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientValidTest.java index 379c32f..c4eceeb 100644 --- a/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientValidTest.java +++ b/scfs-api-core/src/test/java/com/czcb/scfs/api/core/http/client/ApacheHttpclientValidTest.java @@ -104,7 +104,7 @@ class ApacheHttpclientValidTest { HttpHeaders headers = new HttpHeaders(); ValidationException exception = Assertions.assertThrows(ValidationException.class, () -> apiClient.post("/mock/invalid", headers, requestBody, TestResponse.class)); - Assertions.assertEquals("证书已失效, 序列号:823CF3E310F2E2ED1AF85506E74A95DC4301006FDEF2FD019953FAF4DE12A8BF", exception.getMessage()); + Assertions.assertEquals("证书已失效, 序列号:6CDDAA92CAD75998325027647847330C1756291", exception.getMessage()); } diff --git a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/cipher/TestPrivacy.java b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/cipher/TestPrivacy.java index ffce352..fcae8f7 100644 --- a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/cipher/TestPrivacy.java +++ b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/cipher/TestPrivacy.java @@ -3,6 +3,7 @@ package com.czcb.scfs.api.service.cipher; import com.czcb.scfs.api.core.cipher.*; import java.security.PrivateKey; +import java.security.cert.X509Certificate; public class TestPrivacy implements Privacy { // 对称加密/解密器 @@ -14,7 +15,8 @@ public class TestPrivacy implements Privacy { public TestPrivacy(PrivateKey privateKey, CertificateProvider certificateProvider) { this.secretCipher = new TestSecretCipher(); - this.privacyEncryptor = new TestPrivacyEncryptor(certificateProvider.getAvailableCertificate().getPublicKey()); + X509Certificate certificate = certificateProvider.getAvailableCertificate(); + this.privacyEncryptor = new TestPrivacyEncryptor(certificateProvider.getAvailableCertificate().getPublicKey(), certificate.getSerialNumber().toString(16).toUpperCase()); this.privacyDecryptor = new TestPrivacyDecryptor(privateKey); } diff --git a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/cipher/TestPrivacyEncryptor.java b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/cipher/TestPrivacyEncryptor.java index c2de389..ce73adb 100644 --- a/scfs-api-service/src/test/java/com/czcb/scfs/api/service/cipher/TestPrivacyEncryptor.java +++ b/scfs-api-service/src/test/java/com/czcb/scfs/api/service/cipher/TestPrivacyEncryptor.java @@ -10,7 +10,7 @@ public class TestPrivacyEncryptor extends AbstractPrivacyEncryptor { * * @param publicKey 加密使用的公钥 */ - protected TestPrivacyEncryptor(PublicKey publicKey) { - super("RSA/ECB/OAEPWithSHA-1AndMGF1Padding", publicKey, null, ""); + protected TestPrivacyEncryptor(PublicKey publicKey, String certificateSerial) { + super("RSA/ECB/OAEPWithSHA-1AndMGF1Padding", publicKey, null, certificateSerial); } }