fix: 校验证书取值
parent
e277a97b5c
commit
7b3a20a15a
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue