导出公钥和证书
This commit is contained in:
@@ -43,12 +43,12 @@ public interface AppCertMapper extends BaseMapper<AppCert> {
|
||||
return certs.iterator().next();
|
||||
}
|
||||
|
||||
default AppCert selectEncBySubject(String dn) {
|
||||
default AppCert selectByTypeAndDn(String type,String dn) {
|
||||
Assert.hasText(dn, "证书序列号不能为空");
|
||||
String subject = Subject.fromDN(dn).getDN();
|
||||
List<AppCert> certs = selectList(new LambdaQueryWrapper<AppCert>()
|
||||
.eq(AppCert::getSubject, subject)
|
||||
.eq(AppCert::getCertType, KeyUsage.ENCRYPT_DECRYPT.getCode())
|
||||
.eq(AppCert::getCertType, type)
|
||||
);
|
||||
if (CollectionUtils.isEmpty(certs)) {
|
||||
return null;
|
||||
|
||||
@@ -25,12 +25,7 @@ import com.sunyard.chsm.utils.gm.BCSM4Utils;
|
||||
import com.sunyard.chsm.utils.gm.cert.BCSM2CertUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import org.bouncycastle.asn1.ASN1BitString;
|
||||
import org.bouncycastle.asn1.ASN1Integer;
|
||||
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
|
||||
import org.bouncycastle.asn1.ASN1OctetString;
|
||||
import org.bouncycastle.asn1.ASN1Sequence;
|
||||
import org.bouncycastle.asn1.DLSequence;
|
||||
import org.bouncycastle.asn1.*;
|
||||
import org.bouncycastle.asn1.gm.GMObjectIdentifiers;
|
||||
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
|
||||
import org.bouncycastle.crypto.params.ECPrivateKeyParameters;
|
||||
@@ -50,12 +45,7 @@ import java.nio.ByteBuffer;
|
||||
import java.security.PublicKey;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Arrays;
|
||||
import java.util.Base64;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -155,6 +145,8 @@ public class AppCertServiceImpl implements AppCertService {
|
||||
|
||||
AppCert exist = appCertMapper.selectBySN(x509Cert.getSerialNumber().toString());
|
||||
Assert.isNull(exist, "此证书已经存在");
|
||||
exist = appCertMapper.selectByTypeAndDn(importCert.getCertType(), x509Cert.getSubjectX500Principal().getName());
|
||||
Assert.isNull(exist, "此证书主题已经存在");
|
||||
|
||||
AppCert cert = genCert(x509Cert, keyInfo.getApplicationId(), record, importCert);
|
||||
appCertMapper.insert(cert);
|
||||
|
||||
Reference in New Issue
Block a user