zoukankan      html  css  js  c++  java
  • SealClient

    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.security.KeyStore;
    
    import javax.net.ssl.HostnameVerifier;
    import javax.net.ssl.HttpsURLConnection;
    import javax.net.ssl.KeyManagerFactory;
    import javax.net.ssl.SSLContext;
    import javax.net.ssl.SSLSession;
    import javax.net.ssl.TrustManagerFactory;
    
    import cfca.seal.util.Base64;
    import cfca.seal.util.StringUtil;
    
    public class SealClient
    {
      public static final String ASSIST_SEAL_SERVLET = "AssistSealServlet";
      public static final String MAKE_SEAL_SERVLET = "MakeSealServlet";
      public static final String WEB_SEAL_SERVLET = "WebSealServlet";
      public static final String PDF_SEAL_SERVLET = "PdfSealServlet";
      public static final String BUSINESS_SEAL_SERVLET = "BusinessSealServlet";
      public static final String DEFAULT_CHARSET = "UTF-8";
      public static final String SLASH = "/";
      private String urlString;
      private int connectTimeout = 30000;
      private int readTimeout = 30000;
    
      private String keyStorePath = "";
      private String keyStorePassword = "";
      private String trustStorePath = "";
      private String trustStorePassword = "";
    
      public SealClient(String urlString, String keyStorePath, String keyStorePassword, String trustStorePath, String trustStorePassword) {
        this.keyStorePath = keyStorePath;
        this.keyStorePassword = keyStorePassword;
        this.trustStorePath = trustStorePath;
        this.trustStorePassword = trustStorePassword;
        this.urlString = urlString;
      }
    
      public SealClient(String urlString) {
        this.urlString = urlString;
      }
    
      public SealClient(String urlString, int connectTimeout, int readTimeout) {
        this.urlString = urlString;
        this.connectTimeout = connectTimeout;
        this.readTimeout = readTimeout;
      }
    
      public String reqAndRes(String urlString, String parameterData) throws Exception {
        String result = "";
    
        if ((StringUtil.isNotEmpty(urlString)) && (urlString.startsWith("https://")))
          result = reqAndResForHttps(urlString, parameterData);
        else if ((StringUtil.isNotEmpty(urlString)) && (urlString.startsWith("http://"))) {
          result = reqAndResForHttp(urlString, parameterData);
        }
    
        return result;
      }
    
      public String reqAndResForHttps(String urlString, String parameterData) throws Exception
      {
        OutputStream outputStream = null;
        OutputStreamWriter outputStreamWriter = null;
        InputStream inputStream = null;
        InputStreamReader inputStreamReader = null;
        BufferedReader reader = null;
        StringBuffer resultBuffer = new StringBuffer();
        try
        {
          SSLContext sslContext = getSSLContext(this.keyStorePath, this.keyStorePassword, this.trustStorePath, this.trustStorePassword);
          URL url = new URL(urlString);
          HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
          conn.setSSLSocketFactory(sslContext.getSocketFactory());
          conn.setRequestMethod("POST");
          conn.setDoInput(true);
          conn.setDoOutput(true);
          conn.setRequestProperty("Accept-Charset", "utf-8");
          conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
          System.setProperty("sun.net.client.defaultConnectTimeout", String.valueOf(this.connectTimeout));
          System.setProperty("sun.net.client.defaultReadTimeout", String.valueOf(this.readTimeout));
          conn.setHostnameVerifier(new HostnameVerifier() {
            public boolean verify(String hostname, SSLSession session) {
              return true;
            }
          });
          conn.setRequestProperty("Content-Length", String.valueOf(parameterData.length()));
          outputStream = conn.getOutputStream();
    
          outputStreamWriter = new OutputStreamWriter(outputStream);
          outputStreamWriter.write(parameterData);
          outputStreamWriter.flush();
    
          inputStream = conn.getInputStream();
          inputStreamReader = new InputStreamReader(inputStream);
          reader = new BufferedReader(inputStreamReader);
          String tempLine = null;
          while ((tempLine = reader.readLine()) != null)
            resultBuffer.append(tempLine);
        }
        catch (MalformedURLException e) {
          throw e;
        } catch (IOException e) {
          throw e;
        } finally {
          if (outputStreamWriter != null) {
            outputStreamWriter.close();
          }
    
          if (outputStream != null) {
            outputStream.close();
          }
    
          if (reader != null) {
            reader.close();
          }
    
          if (inputStreamReader != null) {
            inputStreamReader.close();
          }
    
          if (inputStream != null) {
            inputStream.close();
          }
        }
        return resultBuffer.toString();
      }
    
      public String reqAndResForHttp(String urlString, String parameterData) throws Exception {
            OutputStream outputStream = null;
            OutputStreamWriter outputStreamWriter = null;
            InputStream inputStream = null;
            InputStreamReader inputStreamReader = null;
            BufferedReader reader = null;
            StringBuffer resultBuffer = new StringBuffer();
            try
            {
              URL url = new URL(urlString);
              HttpURLConnection conn = (HttpURLConnection)url.openConnection();
              conn.setDoOutput(true);
              conn.setDoInput(true);
              conn.setRequestMethod("POST");
              conn.setRequestProperty("Accept-Charset", "utf-8");
              conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
              conn.setRequestProperty("Content-Length", String.valueOf(parameterData.length()));
              System.setProperty("sun.net.client.defaultConnectTimeout", String.valueOf(this.connectTimeout));
              System.setProperty("sun.net.client.defaultReadTimeout", String.valueOf(this.readTimeout));
              outputStream = conn.getOutputStream();
              outputStreamWriter = new OutputStreamWriter(outputStream);
              outputStreamWriter.write(parameterData);
              outputStreamWriter.flush();
              inputStream = conn.getInputStream();
              inputStreamReader = new InputStreamReader(inputStream);
              reader = new BufferedReader(inputStreamReader);
              String tempLine = null;
              while ((tempLine = reader.readLine()) != null)
                resultBuffer.append(tempLine);
            }
            catch (MalformedURLException e) {
              throw e;
            } catch (IOException e) {
              throw e;
            } finally {
              if (outputStreamWriter != null) {
                outputStreamWriter.close();
              }
    
              if (outputStream != null) {
                outputStream.close();
              }
    
              if (reader != null) {
                reader.close();
              }
    
              if (inputStreamReader != null) {
                inputStreamReader.close();
              }
    
              if (inputStream != null) {
                inputStream.close();
              }
            }
            return resultBuffer.toString();
          }
    
      public SSLContext getSSLContext(String keyStorePath, String keyStorePassword, String trustStorePath, String trustStorePassword) throws Exception
      {
        SSLContext ctx = SSLContext.getInstance("SSL");
    
        String jdkvs = System.getProperty("java.vm.vendor");
    
        KeyManagerFactory kmf = null;
        TrustManagerFactory tmf = null;
        if ((null != jdkvs) && (jdkvs.startsWith("IBM"))) {
          kmf = KeyManagerFactory.getInstance("IbmX509");
          tmf = TrustManagerFactory.getInstance("IbmPKIX");
        } else {
          kmf = KeyManagerFactory.getInstance("SunX509");
          tmf = TrustManagerFactory.getInstance("SunX509");
        }
    
        KeyStore ks = null;
    
        if (keyStorePath.indexOf("jks") >= 0)
          ks = KeyStore.getInstance("JKS");
        else if (keyStorePath.indexOf("pfx") >= 0) {
          ks = KeyStore.getInstance("PKCS12");
        }
        KeyStore tks = KeyStore.getInstance("JKS");
    
        ks.load(new FileInputStream(keyStorePath), keyStorePassword.toCharArray());
        tks.load(new FileInputStream(trustStorePath), trustStorePassword.toCharArray());
    
        kmf.init(ks, keyStorePassword.toCharArray());
        tmf.init(tks);
    
        ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
    
        return ctx;
      }
    
      public String makeSeal(byte[] pfx, String pfxPassword, byte[] image, String sealInfoXML)
        throws Exception
      {
        try
        {
          String pfxString = new String(Base64.encode(pfx), "UTF-8");
          pfxString = URLEncoder.encode(pfxString, "UTF-8");
    
          pfxPassword = new String(Base64.encode(pfxPassword.getBytes("UTF-8")), "UTF-8");
          pfxPassword = URLEncoder.encode(pfxPassword, "UTF-8");
    
          String imageString = new String(Base64.encode(image), "UTF-8");
          imageString = URLEncoder.encode(imageString, "UTF-8");
    
          sealInfoXML = new String(Base64.encode(sealInfoXML.getBytes("UTF-8")), "UTF-8");
          sealInfoXML = URLEncoder.encode(sealInfoXML, "UTF-8");
    
          String parameterData = "type=makeSeal&pfx=" + pfxString + "&pfxPassword=" + pfxPassword + "&image=" + imageString + "&sealInfoXML=" + sealInfoXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String makeNamedSeal(byte[] pfx, String pfxPassword, String sealInfoXML)
        throws Exception
      {
        try
        {
          String pfxString = new String(Base64.encode(pfx), "UTF-8");
          pfxString = URLEncoder.encode(pfxString, "UTF-8");
    
          pfxPassword = new String(Base64.encode(pfxPassword.getBytes("UTF-8")), "UTF-8");
          pfxPassword = URLEncoder.encode(pfxPassword, "UTF-8");
    
          sealInfoXML = new String(Base64.encode(sealInfoXML.getBytes("UTF-8")), "UTF-8");
          sealInfoXML = URLEncoder.encode(sealInfoXML, "UTF-8");
    
          String parameterData = "type=makeNamedSeal&pfx=" + pfxString + "&pfxPassword=" + pfxPassword + "&sealInfoXML=" + sealInfoXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String updateSeal(byte[] pfx, String pfxPassword, byte[] image, String sealInfoXML)
        throws Exception
      {
        try
        {
          String pfxString = new String(Base64.encode(pfx), "UTF-8");
          pfxString = URLEncoder.encode(pfxString, "UTF-8");
    
          pfxPassword = new String(Base64.encode(pfxPassword.getBytes("UTF-8")), "UTF-8");
          pfxPassword = URLEncoder.encode(pfxPassword, "UTF-8");
    
          String imageString = new String(Base64.encode(image), "UTF-8");
          imageString = URLEncoder.encode(imageString, "UTF-8");
    
          sealInfoXML = new String(Base64.encode(sealInfoXML.getBytes("UTF-8")), "UTF-8");
          sealInfoXML = URLEncoder.encode(sealInfoXML, "UTF-8");
    
          String parameterData = "type=updateSeal&pfx=" + pfxString + "&pfxPassword=" + pfxPassword + "&image=" + imageString + "&sealInfoXML=" + sealInfoXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String updateNamedSeal(byte[] pfx, String pfxPassword, String sealInfoXML)
        throws Exception
      {
        try
        {
          String pfxString = new String(Base64.encode(pfx), "UTF-8");
          pfxString = URLEncoder.encode(pfxString, "UTF-8");
    
          pfxPassword = new String(Base64.encode(pfxPassword.getBytes("UTF-8")), "UTF-8");
          pfxPassword = URLEncoder.encode(pfxPassword, "UTF-8");
    
          sealInfoXML = new String(Base64.encode(sealInfoXML.getBytes("UTF-8")), "UTF-8");
          sealInfoXML = URLEncoder.encode(sealInfoXML, "UTF-8");
    
          String parameterData = "type=updateNamedSeal&pfx=" + pfxString + "&pfxPassword=" + pfxPassword + "&sealInfoXML=" + sealInfoXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public byte[] sealAutoPdf(byte[] pdf, String sealStrategyXML)
        throws Exception
      {
        try
        {
          String pdfString = new String(Base64.encode(pdf), "UTF-8");
          pdfString = URLEncoder.encode(pdfString, "UTF-8");
          sealStrategyXML = new String(Base64.encode(sealStrategyXML.getBytes("UTF-8")), "UTF-8");
          sealStrategyXML = URLEncoder.encode(sealStrategyXML, "UTF-8");
    
          String parameterData = "type=sealAutoPdf&pdf=" + pdfString + "&sealStrategyXML=" + sealStrategyXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
          return Base64.decode(resultString.getBytes("UTF-8"));
        }
        catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public byte[] batchSealAutoPdf(byte[] pdf, String batchSealStrategyXML)
        throws Exception
      {
        try
        {
          String pdfString = new String(Base64.encode(pdf), "UTF-8");
          pdfString = URLEncoder.encode(pdfString, "UTF-8");
    
          batchSealStrategyXML = new String(Base64.encode(batchSealStrategyXML.getBytes("UTF-8")), "UTF-8");
          batchSealStrategyXML = URLEncoder.encode(batchSealStrategyXML, "UTF-8");
    
          String parameterData = "type=batchSealAutoPdf&pdf=" + pdfString + "&batchSealStrategyXML=" + batchSealStrategyXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
          return Base64.decode(resultString.getBytes("UTF-8"));
        }
        catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String sealBase64PdfFunction(String pdfBase64, String pfxBase64, String pfxPassword, String imageBase64, String sealFunctionStrategyXML)
        throws Exception
      {
        try
        {
          pdfBase64 = new String(Base64.encode(pdfBase64.getBytes("UTF-8")), "UTF-8");
          pdfBase64 = URLEncoder.encode(pdfBase64, "UTF-8");
    
          pfxBase64 = new String(Base64.encode(pfxBase64.getBytes("UTF-8")), "UTF-8");
          pfxBase64 = URLEncoder.encode(pfxBase64, "UTF-8");
    
          pfxPassword = new String(Base64.encode(pfxPassword.getBytes("UTF-8")), "UTF-8");
          pfxPassword = URLEncoder.encode(pfxPassword, "UTF-8");
    
          imageBase64 = new String(Base64.encode(imageBase64.getBytes("UTF-8")), "UTF-8");
          imageBase64 = URLEncoder.encode(imageBase64, "UTF-8");
    
          sealFunctionStrategyXML = new String(Base64.encode(sealFunctionStrategyXML.getBytes("UTF-8")), "UTF-8");
          sealFunctionStrategyXML = URLEncoder.encode(sealFunctionStrategyXML, "UTF-8");
    
          String parameterData = "type=sealBase64PdfFunction&pdfBase64=" + pdfBase64 + "&pfxBase64=" + pfxBase64 + "&pfxPassword=" + pfxPassword + "&imageBase64=" + imageBase64 + "&sealFunctionStrategyXML=" + sealFunctionStrategyXML;
    
          return reqAndRes(this.urlString, parameterData);
        }
        catch (Exception e)
        {
          e.printStackTrace();
          throw e;
        }
      }
    
      public byte[] sealPdfFunction(byte[] pdf, byte[] pfx, String pfxPassword, byte[] image, String sealFunctionStrategyXML)
        throws Exception
      {
        try
        {
          String pdfString = new String(Base64.encode(pdf), "UTF-8");
          pdfString = URLEncoder.encode(pdfString, "UTF-8");
    
          String pfxString = new String(Base64.encode(pfx), "UTF-8");
          pfxString = URLEncoder.encode(pfxString, "UTF-8");
    
          pfxPassword = new String(Base64.encode(pfxPassword.getBytes("UTF-8")), "UTF-8");
          pfxPassword = URLEncoder.encode(pfxPassword, "UTF-8");
    
          String imageString = new String(Base64.encode(image), "UTF-8");
          imageString = URLEncoder.encode(imageString, "UTF-8");
    
          sealFunctionStrategyXML = new String(Base64.encode(sealFunctionStrategyXML.getBytes("UTF-8")), "UTF-8");
          sealFunctionStrategyXML = URLEncoder.encode(sealFunctionStrategyXML, "UTF-8");
    
          String parameterData = "type=sealPdfFunction&pdfString=" + pdfString + "&pfxString=" + pfxString + "&pfxPassword=" + pfxPassword + "&imageString=" + imageString + "&sealFunctionStrategyXML=" + sealFunctionStrategyXML;
    
          return Base64.decode(reqAndRes(this.urlString, parameterData));
        }
        catch (Exception e)
        {
          e.printStackTrace();
          throw e;
        }
      }
    
      public byte[] sealAutoCrossPdf(byte[] pdf, String crossSealStrategyXML)
        throws Exception
      {
        try
        {
          String pdfString = new String(Base64.encode(pdf), "UTF-8");
          pdfString = URLEncoder.encode(pdfString, "UTF-8");
    
          crossSealStrategyXML = new String(Base64.encode(crossSealStrategyXML.getBytes("UTF-8")), "UTF-8");
          crossSealStrategyXML = URLEncoder.encode(crossSealStrategyXML, "UTF-8");
    
          String parameterData = "type=sealAutoCrossPdf&pdf=" + pdfString + "&crossSealStrategyXML=" + crossSealStrategyXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
          return Base64.decode(resultString.getBytes("UTF-8"));
        }
        catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public byte[] sealAutoSynthesizedBusinessPdf(byte[] pdf, String businessXML, String sealStrategyXML)
        throws Exception
      {
        try
        {
          String pdfString = new String(Base64.encode(pdf), "UTF-8");
          pdfString = URLEncoder.encode(pdfString, "UTF-8");
    
          businessXML = new String(Base64.encode(businessXML.getBytes("UTF-8")), "UTF-8");
          businessXML = URLEncoder.encode(businessXML, "UTF-8");
    
          sealStrategyXML = new String(Base64.encode(sealStrategyXML.getBytes("UTF-8")), "UTF-8");
          sealStrategyXML = URLEncoder.encode(sealStrategyXML, "UTF-8");
    
          String parameterData = "type=sealAutoSynthesizedBusinessPdf&pdf=" + pdfString + "&businessXML=" + businessXML + "&sealStrategyXML=" + sealStrategyXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
          return Base64.decode(resultString.getBytes("UTF-8"));
        }
        catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public byte[] addWaterMark2Pdf(byte[] pdf, String waterMarkStrategyXML)
        throws Exception
      {
        try
        {
          String pdfString = new String(Base64.encode(pdf), "UTF-8");
          pdfString = URLEncoder.encode(pdfString, "UTF-8");
    
          waterMarkStrategyXML = new String(Base64.encode(waterMarkStrategyXML.getBytes("UTF-8")), "UTF-8");
          waterMarkStrategyXML = URLEncoder.encode(waterMarkStrategyXML, "UTF-8");
    
          String parameterData = "type=addWaterMark2Pdf&pdf=" + pdfString + "&waterMarkStrategyXML=" + waterMarkStrategyXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
          return Base64.decode(resultString.getBytes("UTF-8"));
        }
        catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public byte[] signWebSeal(String sourceBase64, String sealStrategyXml)
        throws Exception
      {
        try
        {
          sourceBase64 = new String(Base64.encode(sourceBase64.getBytes("UTF-8")), "UTF-8");
          sourceBase64 = URLEncoder.encode(sourceBase64, "UTF-8");
    
          sealStrategyXml = new String(Base64.encode(sealStrategyXml.getBytes("UTF-8")), "UTF-8");
          sealStrategyXml = URLEncoder.encode(sealStrategyXml, "UTF-8");
    
          String parameterData = "type=signWebSeal&sourceBase64=" + sourceBase64 + "&sealStrategyXml=" + sealStrategyXml;
    
          String resultString = reqAndRes(this.urlString, parameterData);
          return Base64.decode(resultString.getBytes("UTF-8"));
        }
        catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String verifyPdfSeal(byte[] sealedPdf, String verifyStrategyXML)
        throws Exception
      {
        try
        {
          String sealedPdfString = new String(Base64.encode(sealedPdf), "UTF-8");
          sealedPdfString = URLEncoder.encode(sealedPdfString, "UTF-8");
    
          verifyStrategyXML = new String(Base64.encode(verifyStrategyXML.getBytes("UTF-8")), "UTF-8");
          verifyStrategyXML = URLEncoder.encode(verifyStrategyXML, "UTF-8");
    
          String parameterData = "type=verifyPdfSeal&sealedPdf=" + sealedPdfString + "&verifyStrategyXML=" + verifyStrategyXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String verifyWebSeal(String webSealSource, String sourceBase64, String verifyStrategyXML)
        throws Exception
      {
        try
        {
          webSealSource = new String(Base64.encode(webSealSource.getBytes("UTF-8")), "UTF-8");
          webSealSource = URLEncoder.encode(webSealSource, "UTF-8");
    
          sourceBase64 = new String(Base64.encode(sourceBase64.getBytes("UTF-8")), "UTF-8");
          sourceBase64 = URLEncoder.encode(sourceBase64, "UTF-8");
    
          verifyStrategyXML = new String(Base64.encode(verifyStrategyXML.getBytes("UTF-8")), "UTF-8");
          verifyStrategyXML = URLEncoder.encode(verifyStrategyXML, "UTF-8");
    
          String parameterData = "type=verifyWebSeal&webSealSource=" + webSealSource + "&sourceBase64=" + sourceBase64 + "&verifyStrategyXML=" + verifyStrategyXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public byte[] synthesizeAutoBusinessPdf(byte[] pdf, String businessXML)
        throws Exception
      {
        try
        {
          String pdfString = new String(Base64.encode(pdf), "UTF-8");
          pdfString = URLEncoder.encode(pdfString, "UTF-8");
    
          businessXML = new String(Base64.encode(businessXML.getBytes("UTF-8")), "UTF-8");
          businessXML = URLEncoder.encode(businessXML, "UTF-8");
    
          String parameterData = "type=synthesizeAutoBusinessPdf&pdf=" + pdfString + "&businessXML=" + businessXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
          return Base64.decode(resultString.getBytes("UTF-8"));
        }
        catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public byte[] transformToPdf(byte[] source, String fileType)
        throws Exception
      {
        try
        {
          String sourceString = new String(Base64.encode(source), "UTF-8");
          sourceString = URLEncoder.encode(sourceString, "UTF-8");
    
          fileType = new String(Base64.encode(fileType.getBytes("UTF-8")), "UTF-8");
          fileType = URLEncoder.encode(fileType, "UTF-8");
    
          String parameterData = "type=transformToPdf&sourceString=" + sourceString + "&fileType=" + fileType;
    
          String resultString = reqAndRes(this.urlString, parameterData);
          return Base64.decode(resultString.getBytes("UTF-8"));
        }
        catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String p1Sign(byte[] source, String signStrategyXML)
        throws Exception
      {
        try
        {
          String sourceString = new String(Base64.encode(source), "UTF-8");
          sourceString = URLEncoder.encode(sourceString, "UTF-8");
    
          signStrategyXML = new String(Base64.encode(signStrategyXML.getBytes("UTF-8")), "UTF-8");
          signStrategyXML = URLEncoder.encode(signStrategyXML, "UTF-8");
    
          String parameterData = "type=p1Sign&source=" + sourceString + "&signStrategyXML=" + signStrategyXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String p7SignDetached(byte[] source, String signStrategyXML)
        throws Exception
      {
        try
        {
          String sourceString = new String(Base64.encode(source), "UTF-8");
          sourceString = URLEncoder.encode(sourceString, "UTF-8");
    
          signStrategyXML = new String(Base64.encode(signStrategyXML.getBytes("UTF-8")), "UTF-8");
          signStrategyXML = URLEncoder.encode(signStrategyXML, "UTF-8");
    
          String parameterData = "type=p7SignDetached&source=" + sourceString + "&signStrategyXML=" + signStrategyXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String p7VerifyDetached(String signatureBase64, byte[] source, String verifyStrategyXML)
        throws Exception
      {
        try
        {
          signatureBase64 = new String(Base64.encode(signatureBase64.getBytes("UTF-8")), "UTF-8");
          signatureBase64 = URLEncoder.encode(signatureBase64, "UTF-8");
    
          String sourceString = new String(Base64.encode(source), "UTF-8");
          sourceString = URLEncoder.encode(sourceString, "UTF-8");
    
          verifyStrategyXML = new String(Base64.encode(verifyStrategyXML.getBytes("UTF-8")), "UTF-8");
          verifyStrategyXML = URLEncoder.encode(verifyStrategyXML, "UTF-8");
    
          String parameterData = "type=p7VerifyDetached&signatureBase64=" + signatureBase64 + "&source=" + sourceString + "&verifyStrategyXML=" + verifyStrategyXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String getSealInfo(String sealCode)
        throws Exception
      {
        try
        {
          sealCode = new String(Base64.encode(sealCode.getBytes("UTF-8")), "UTF-8");
          sealCode = URLEncoder.encode(sealCode, "UTF-8");
    
          String parameterData = "type=getSealInfo&sealCode=" + sealCode;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String bindSeal(String bindSealXML)
        throws Exception
      {
        try
        {
          bindSealXML = new String(Base64.encode(bindSealXML.getBytes("UTF-8")), "UTF-8");
          bindSealXML = URLEncoder.encode(bindSealXML, "UTF-8");
    
          String parameterData = "type=bindSeal&bindSealXML=" + bindSealXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    
      public String autoGenerateImage(String imageStrategyXML)
        throws Exception
      {
        try
        {
          imageStrategyXML = new String(Base64.encode(imageStrategyXML.getBytes("UTF-8")), "UTF-8");
          imageStrategyXML = URLEncoder.encode(imageStrategyXML, "UTF-8");
    
          String parameterData = "type=autoGenerateImage&imageStrategyXML=" + imageStrategyXML;
    
          String resultString = reqAndRes(this.urlString, parameterData);
    
          return new String(Base64.decode(resultString.getBytes("UTF-8")));
        } catch (Exception e) {
          e.printStackTrace();
          throw e;
        }
      }
    }
  • 相关阅读:
    Swift3 重写一个带占位符的textView
    Swift3 使用系统UIAlertView方法做吐司效果
    Swift3 页面顶部实现拉伸效果代码
    Swift3 倒计时按钮扩展
    iOS 获取当前对象所在的VC
    SpringBoot在IDEA下使用JPA
    hibernate 异常a different object with the same identifier value was already associated with the session
    SpringCloud IDEA 教学 番外篇 后台运行Eureka服务注册中心
    SpringCloud IDEA 教学 (五) 断路器控制台(HystrixDashboard)
    SpringCloud IDEA 教学 (四) 断路器(Hystrix)
  • 原文地址:https://www.cnblogs.com/yy123/p/5301660.html
Copyright © 2011-2022 走看看