SM3通过证书杂凑
//通过cer文件获取公钥
public static byte[] getCSPK(byte[] csCert) {
InputStream inStream = new ByteArrayInputStream(csCert);
DERObject seq = null;
ASN1InputStream aIn;
try {
aIn = new ASN1InputStream(inStream);
seq = aIn.readObject();
X509CertificateStructure cert = new X509CertificateStructure((ASN1Sequence) seq);
SubjectPublicKeyInfo subjectPublicKeyInfo = cert.getSubjectPublicKeyInfo();
DERBitString publicKeyData = subjectPublicKeyInfo.getPublicKeyData();
byte[] publicKey = publicKeyData.getEncoded();
byte[] encodedPublicKey = publicKey;
byte[] eP = new byte[64];
System.arraycopy(encodedPublicKey, 4, eP, 0, eP.length);
return eP;
} catch