增加及修改文件以适应RSA密钥签名验签功能

This commit is contained in:
yihzhou
2022-10-26 10:05:14 +08:00
parent 01f7ac1f31
commit 99b5956143
18 changed files with 1155 additions and 89 deletions
+19 -2
View File
@@ -76,7 +76,15 @@ public class CertUtil {
* @return true 国密, false 非国密
*/
public static boolean isSM2Cert(String cert) throws CertificateException, NoSuchProviderException {
X509Certificate certificate = convertToX509Cert(cert);
String pemCert;
if(cert.contains("-----BEGIN CERTIFICATE-----")){
pemCert =cert;
}else {
String cert_begin = "-----BEGIN CERTIFICATE-----\n";
String end_cert = "\n-----END CERTIFICATE-----";
pemCert = cert_begin + cert + end_cert;
}
X509Certificate certificate = convertToX509Cert(pemCert);
String signAlg = certificate.getSigAlgName();
return signAlg.toUpperCase().indexOf("SM2") >= 0;
}
@@ -89,7 +97,16 @@ public class CertUtil {
*/
public static boolean isSignedBySM2Cert(String pkcs7) throws IOException, CertificateException, NoSuchProviderException {
RetWrap ret = ASN1Util.takeOutOriginDataFromPKCS7Sign(pkcs7);
return isSM2Cert((String) ret.get("cert"));
//return isSM2Cert((String) ret.get("cert"));
String cert =(String) ret.get("cert");
if(cert.contains("-----BEGIN CERTIFICATE-----")){
return isSM2Cert(cert);
}else{
String cert_begin = "-----BEGIN CERTIFICATE-----\n";
String end_cert = "\n-----END CERTIFICATE-----";
String pemCert = cert_begin + cert + end_cert;
return isSM2Cert(pemCert);
}
}
}