2 Achegas 7a3cb3d02c ... f172f53ffe

Autor SHA1 Mensaxe Data
  wzy f172f53ffe 联安 hai 1 mes
  wzy 6d9c8cea04 华高 hai 1 mes

+ 1 - 1
mjava-huagao/src/main/resources/application-prod.yml

@@ -2,7 +2,7 @@ server:
   port: 7708
   servlet:
     context-path: /huagao
-  host: https://mes.huagaochina.com:7708
+  host: http://mes.huagaochina.com:7708
 
 enable:
   scheduling: true

+ 1 - 1
mjava-huagao/src/main/resources/application-prod2.yml

@@ -3,7 +3,7 @@ server:
   port: 7708
   servlet:
     context-path: /huagao
-    host: https://mes.huagaochina.com:7708
+    host: http://mes.huagaochina.com:7708
 
 enable:
   scheduling: true

+ 34 - 29
mjava-lianan/src/main/java/com/malk/lianan/TestUtil.java

@@ -16,12 +16,14 @@ import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.malk.utils.UtilDateTime;
+import com.malk.utils.UtilFile;
 import com.malk.utils.UtilMap;
 import com.sun.deploy.security.CertUtils;
 import lombok.extern.slf4j.Slf4j;
 
 import java.io.ByteArrayInputStream;
 import java.io.FileInputStream;
+import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 import java.security.KeyFactory;
 import java.security.PublicKey;
@@ -55,35 +57,38 @@ public class TestUtil {
     private final static String GYPAY_API_SIGN_PUB_KEY="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmudhlkVXrFP1DB0r11LvVpy8nYVO9sR2tYLXCkQxXE4HR2VlihCO43B2v/Ep3tlny4l/OX++AQX4sJpO8vAnCRmNIAgXKXAfvre1HTSkJf9vb8G9sf4UsZX2bLEOtH4wOO7Osv8Za98WzBHBRrqESI91Z4GSE0/8ucMp6V7EZ5wIDAQAB";
 
     public static void main(String[] args) throws Exception {
-        query();
-//        String sign1="GRJCRklJVIy8vUFUg4gDo+iv+MIp+MHmitPrnUJLO0mcg+6EiJklYhoXtHhgmTgx2Rw7AgTsAsNNbM02ehgMLim0zeX76Ghq1oD/xbDyydi6/CLSEf1QS9fQvUsnOIwgZKarSc/UM2wdlgHf9M7OmNpf3Mv+YuEHwyMF6dXlljc=";
-//        String data="AeWTi5jUG8l1h6JJG9uuvGH63r6sSpnJW2VhOA52XGW5QdH6TESqQ4iKV46TuAB53juaW6DyBrQcuoXOXZK6lzIkird1cQksS8ve/IxVBwc1sa8BJRrO9cqCHoURjbKdJz66+FBE5L4pCZy5DESP/Q==";
-////        RSASignatureUtil.verifySafe("AeWTi5jUG8l1h6JJG9uuvGH63r6sSpnJW2VhOA52XGW5QdH6TESqQ4iKV46TuAB53juaW6DyBrQcuoXOXZK6lzIkird1cQksS8ve/IxVBwc1sa8BJRrO9cqCHoURjbKdJz66+FBE5L4pCZy5DESP/Q=="
-////                ,"GRJCRklJVIy8vUFUg4gDo+iv+MIp+MHmitPrnUJLO0mcg+6EiJklYhoXtHhgmTgx2Rw7AgTsAsNNbM02ehgMLim0zeX76Ghq1oD/xbDyydi6/CLSEf1QS9fQvUsnOIwgZKarSc/UM2wdlgHf9M7OmNpf3Mv+YuEHwyMF6dXlljc="
-////                ,GYPAY_API_SIGN_PUB_KEY);
-////        byte[] derData = Base64.decode(PRIVATE_KEY);
-////        X509Certificate x= parseDERCertificate(derData);
-////        PublicKey publicKey = x.getPublicKey();
-////        System.out.println(Base64.encode(publicKey.getEncoded()));
-//        try {
-//            // 加载证书文件
-//            CertificateFactory cf = CertificateFactory.getInstance("X.509");
-//            FileInputStream fis = null;
-//            fis = new FileInputStream("/home/ICBC_CZY__SIGN_TEST.cer");
-//            X509Certificate cert = (X509Certificate) cf.generateCertificate(fis);
-//            // 从证书中提取公钥
-//            PublicKey publicKey = cert.getPublicKey();
-//            System.out.println(new String(Base64.encode(publicKey.getEncoded()).getBytes(), StandardCharsets.UTF_8));
-//
-//            // 验证签名
-//            Signature signature = Signature.getInstance("SHA256withRSA");
-//            signature.initVerify(publicKey);
-//            signature.update(data.getBytes(StandardCharsets.UTF_8));
-//            boolean verify = signature.verify(Base64.decode(sign1));
-//            System.out.println(verify);
-//        }catch (Exception e){
-//            e.printStackTrace();
-//        }
+//        query();
+        String sign1="GRJCRklJVIy8vUFUg4gDo+iv+MIp+MHmitPrnUJLO0mcg+6EiJklYhoXtHhgmTgx2Rw7AgTsAsNNbM02ehgMLim0zeX76Ghq1oD/xbDyydi6/CLSEf1QS9fQvUsnOIwgZKarSc/UM2wdlgHf9M7OmNpf3Mv+YuEHwyMF6dXlljc=";
+        String data="AeWTi5jUG8l1h6JJG9uuvGH63r6sSpnJW2VhOA52XGW5QdH6TESqQ4iKV46TuAB53juaW6DyBrQcuoXOXZK6lzIkird1cQksS8ve/IxVBwc1sa8BJRrO9cqCHoURjbKdJz66+FBE5L4pCZy5DESP/Q==";
+//        RSASignatureUtil.verifySafe("AeWTi5jUG8l1h6JJG9uuvGH63r6sSpnJW2VhOA52XGW5QdH6TESqQ4iKV46TuAB53juaW6DyBrQcuoXOXZK6lzIkird1cQksS8ve/IxVBwc1sa8BJRrO9cqCHoURjbKdJz66+FBE5L4pCZy5DESP/Q=="
+//                ,"GRJCRklJVIy8vUFUg4gDo+iv+MIp+MHmitPrnUJLO0mcg+6EiJklYhoXtHhgmTgx2Rw7AgTsAsNNbM02ehgMLim0zeX76Ghq1oD/xbDyydi6/CLSEf1QS9fQvUsnOIwgZKarSc/UM2wdlgHf9M7OmNpf3Mv+YuEHwyMF6dXlljc="
+//                ,GYPAY_API_SIGN_PUB_KEY);
+//        byte[] derData = Base64.decode(PRIVATE_KEY);
+//        X509Certificate x= parseDERCertificate(derData);
+//        PublicKey publicKey = x.getPublicKey();
+//        System.out.println(Base64.encode(publicKey.getEncoded()));
+        try {
+            // 加载证书文件
+            CertificateFactory cf = CertificateFactory.getInstance("X.509");
+            FileInputStream fis = null;
+            fis = new FileInputStream("D:\\project\\cont\\mjava-lianan\\src\\main\\resources\\cer\\ICBC_CZY__SIGN_TEST.cer");
+//            InputStream inputStream = UtilFile.readPackageResource("cer/" + "ICBC_CZY__SIGN_TEST.cer");
+
+            X509Certificate cert = (X509Certificate) cf.generateCertificate(fis);
+//            X509Certificate cert = (X509Certificate) cf.generateCertificate(inputStream);
+            // 从证书中提取公钥
+            PublicKey publicKey = cert.getPublicKey();
+            System.out.println(new String(Base64.encode(publicKey.getEncoded()).getBytes(), StandardCharsets.UTF_8));
+
+            // 验证签名
+            Signature signature = Signature.getInstance("SHA256withRSA");
+            signature.initVerify(publicKey);
+            signature.update(data.getBytes(StandardCharsets.UTF_8));
+            boolean verify = signature.verify(Base64.decode(sign1));
+            System.out.println(verify);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
 
     }
 

+ 16 - 0
mjava-lianan/src/main/resources/cer/ICBC_CZY__SIGN_TEST.cer

@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICmDCCAgGgAwIBAgIEAq6v0jANBgkqhkiG9w0BAQUFADB+MREwDwYDVQQGDAgo
+5Lit5Zu9KTERMA8GA1UECAwIKOW5v+S4nCkxETAPBgNVBAcMCCjlub/lt54pMRcw
+FQYDVQQKDA4o5Lq65rCR57uE57uHKTEXMBUGA1UECwwOKOS6uuawkeWNleS9jSkx
+ETAPBgNVBAMMCCjlvKDkuIkpMCAXDTIxMDgwNTA5MzAzNloYDzIxMjEwNzEyMDkz
+MDM2WjB+MREwDwYDVQQGDAgo5Lit5Zu9KTERMA8GA1UECAwIKOW5v+S4nCkxETAP
+BgNVBAcMCCjlub/lt54pMRcwFQYDVQQKDA4o5Lq65rCR57uE57uHKTEXMBUGA1UE
+CwwOKOS6uuawkeWNleS9jSkxETAPBgNVBAMMCCjlvKDkuIkpMIGfMA0GCSqGSIb3
+DQEBAQUAA4GNADCBiQKBgQCmudhlkVXrFP1DB0r11LvVpy8nYVO9sR2tYLXCkQxX
+E4HR2VlihCO43B2v/Ep3tlny4l/OX++AQX4sJpO8vAnCRmNIAgXKXAfvre1HTSkJ
+f9vb8G9sf4UsZX2bLEOtH4wOO7Osv8Za98WzBHBRrqESI91Z4GSE0/8ucMp6V7EZ
+5wIDAQABoyEwHzAdBgNVHQ4EFgQUBsYJEnvf2AxVqDtEm8Wl6SMvFh0wDQYJKoZI
+hvcNAQEFBQADgYEAAeDqJsLkkADrht3MiQ35D4J9ka29VWY+bw153OhrC9MGga+O
+BfLP/jyO3kBoG39I/2eyajrF7UMsxfRrsaGx705xWtqhSpeXsfxYO1hIDrXBlQKy
+hj5PAScDSZ5FB3atuhQw5M2BLbVuqn9nTGJiV3RUGqjq+OqgLKnTkm7Sn7A=
+-----END CERTIFICATE-----