证书工具

This commit is contained in:
cheney 2022-10-13 10:25:19 +08:00
parent f36b8c2ca3
commit 01f7ac1f31

View File

@ -1,21 +1,22 @@
package com.sunyard.util;
import cn.hutool.core.codec.Base64;
import com.sunyard.RetWrap;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import sun.misc.BASE64Encoder;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.security.NoSuchProviderException;
import java.security.Security;
import java.security.cert.CertificateEncodingException;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.util.Map;
public class CertUtil {
public static String encodeBase64(byte[] data){
return new BASE64Encoder().encode( data );
public static String encodeBase64(byte[] data) {
return new BASE64Encoder().encode(data);
}
static {
@ -70,6 +71,7 @@ public class CertUtil {
/**
* 判断正式是否是国密证书
*
* @param cert 证书 base64 字符
* @return true 国密 false 非国密
*/
@ -81,12 +83,13 @@ public class CertUtil {
/**
* 判断 p7 是否是国密证书签的
*
* @param pkcs7 pkcs7
* @return true 国密 false 非国密
*/
public static boolean isSignedBySM2Cert( String pkcs7 ){
return false;
public static boolean isSignedBySM2Cert(String pkcs7) throws IOException, CertificateException, NoSuchProviderException {
RetWrap ret = ASN1Util.takeOutOriginDataFromPKCS7Sign(pkcs7);
return isSM2Cert((String) ret.get("cert"));
}
}