⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 psiapp.java

📁 这个是自由下载的
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
  public byte[] AdvOpenEnvelope(String keyPasswd, String i_inData) {
    int flag = -18000;
    PKI_DATA inData = new PKI_DATA();
    PKI_DATA decData = new PKI_DATA();
    PKI_DATA outData = new PKI_DATA();
    try {
      inData.setSize(i_inData.length());
      inData.setValueString(i_inData);
      flag = psi.pkiBase64Decode(inData, decData);
      if (flag == 0)
        flag = psi.pkiOpenEnvelope(keyLabel, keyPasswd, decData, outData);
      CurStatus = flag;
    }
    catch (Exception err) {
      CurStatus = -18000;
    }
    byte outStr[];
    if (flag == 0)
      outStr = outData.getValue();
    else
      outStr = new byte[0];
    return outStr;
  }

  public boolean fAdvOpenEnvelope(String keyPasswd, String i_inFile,
                                  String i_outFile) {
    boolean retv = false;
    int flag = -18000;
    PKI_DATA inData = new PKI_DATA();
    PKI_DATA outData = new PKI_DATA();
    byte b_readData[] = null;
    if (i_inFile == null || i_inFile.length() <= 0) {
      CurStatus = -18500;
      return retv;
    }
    if (i_outFile == null || i_outFile.length() <= 0) {
      CurStatus = -18501;
      return retv;
    }
    try {
      b_readData = read(i_inFile);
      if (CurStatus == 0) {
        inData.setSize(b_readData.length);
        inData.setValue(b_readData);
        flag = psi.pkiOpenEnvelope(keyLabel, keyPasswd, inData, outData);
        if (flag == 0)
          write(outData.getValue(), i_outFile);
        else
          CurStatus = flag;
      }
    }
    catch (Exception err) {
      CurStatus = -18000;
    }
    if (CurStatus == 0)
      retv = true;
    else
      retv = false;
    return retv;
  }

  public String AdvSignData(String keyPasswd, byte i_inData[], int i_algoType,
                            int i_signType) {
    String outStr = "";
    int flag = -18000;
    try {
      PKI_DATA inData = new PKI_DATA();
      PKI_DATA outData = new PKI_DATA();
      PKI_DATA encData = new PKI_DATA();
      inData.setSize(i_inData.length);
      inData.setValue(i_inData);
      if (i_signType == 0)
        flag = psi.pkiGetSignature(keyLabel, keyPasswd, i_algoType, inData,
                                   outData);
      else
        flag = psi.pkiSignData(keyLabel, keyPasswd, i_algoType, inData, outData);
      if (flag == 0)
        flag = psi.pkiBase64Encode(outData, encData);
      if (flag == 0)
        outStr = encData.getValueString();
      CurStatus = flag;
    }
    catch (Exception err) {
      CurStatus = -18000;
    }
    return outStr;
  }

  public boolean fAdvSignData(String keyPasswd, String i_inFile,
                              String i_outFile, int i_algoType, int i_signType) {
    boolean retv = false;
    int flag = -18000;
    PKI_DATA inData = new PKI_DATA();
    PKI_DATA outData = new PKI_DATA();
    byte b_readData[] = null;
    if (i_inFile == null || i_inFile.length() <= 0) {
      CurStatus = -18500;
      return retv;
    }
    if (i_outFile == null || i_outFile.length() <= 0) {
      CurStatus = -18501;
      return retv;
    }
    try {
      b_readData = read(i_inFile);
      if (CurStatus == 0) {
        inData.setSize(b_readData.length);
        inData.setValue(b_readData);
        if (i_signType == 0)
          flag = psi.pkiGetSignature(keyLabel, keyPasswd, i_algoType, inData,
                                     outData);
        else
          flag = psi.pkiSignData(keyLabel, keyPasswd, i_algoType, inData,
                                 outData);
        if (flag == 0)
          write(outData.getValue(), i_outFile);
        else
          CurStatus = flag;
      }
    }
    catch (Exception err) {
      CurStatus = -18000;
    }
    if (CurStatus == 0)
      retv = true;
    else
      retv = false;
    return retv;
  }

  public String AdvSignDataEx(String i_sigCert, String keyPasswd, byte i_inData[],
                              int i_algoType, int i_signType) {
    String outStr = "";
    int flag = ABERROR;

    try {
      if (i_algoType == 0) {
        String ownerCert = AdvGetCert(2);
        if (ownerCert.length() <= 0) {
          CurStatus = ABERROR;
          return outStr;
        }

        int algo = AdvGetAlgoFromPA(ownerCert, i_sigCert, 3, -1);
        if (! (algo <= 0)) {
          i_algoType = algo;
        }
      }

      PKI_DATA inData = new PKI_DATA();
      PKI_DATA outData = new PKI_DATA();
      PKI_DATA encData = new PKI_DATA();

      inData.setSize(i_inData.length);
      inData.setValue(i_inData);

      if (i_signType == 0)
        flag = psi.pkiGetSignature(keyLabel, keyPasswd, i_algoType, inData,
                                   outData);
      else
        flag = psi.pkiSignData(keyLabel, keyPasswd, i_algoType, inData, outData);

      if (flag == 0)
        flag = psi.pkiBase64Encode(outData, encData);
      if (flag == 0)
        outStr = encData.getValueString();

      CurStatus = flag;
    }
    catch (Exception err) {
      CurStatus = ABERROR;
    }
    return outStr;

  }

  public boolean AdvVerifySign(String i_checkCert, byte i_clearText[],
                               String i_signature, int i_algoType,
                               int i_signType) {
    int flag = ABERROR;
    try {
      if (i_algoType == 0) {
        String ownerCert = AdvGetCert(2);
        if (ownerCert.length() <= 0) {
          CurStatus = ABERROR;
          return false;
        }

        int algo = AdvGetAlgoFromPA(ownerCert, i_checkCert, 3, -1);
        if (! (algo <= 0)) {
          i_algoType = algo;
        }
      }

      PKI_DATA checkCert = new PKI_DATA();
      PKI_DATA decCert = new PKI_DATA();

      checkCert.setSize(i_checkCert.length());
      checkCert.setValueString(i_checkCert);

      PKI_DATA clearText = new PKI_DATA();
      clearText.setSize(i_clearText.length);
      clearText.setValue(i_clearText);

      PKI_DATA signText = new PKI_DATA();
      PKI_DATA decSign = new PKI_DATA();
      signText.setSize(i_signature.length());
      signText.setValueString(i_signature);

      flag = psi.pkiBase64Decode(checkCert, decCert);

      if (flag == 0)
        flag = psi.pkiBase64Decode(signText, decSign);

      if (flag == 0) {
        if (i_signType == 0)
          flag = psi.pkiVerifySignature(i_algoType, decCert, clearText, decSign);
        else
          flag = psi.pkiVerifyData(decCert, decSign);
      }

      CurStatus = flag;
    }
    catch (Exception err) {
      CurStatus = ABERROR;
    }

    if (flag == 0)
      return true;
    else
      return false;

  }

  public boolean fAdvVerifySign(String i_checkCert, String i_clearFile,
                                String i_signFile, int i_algoType,
                                int i_signType) {
    boolean retv = false;
    int flag = -18000;
    if (i_clearFile == null || i_clearFile.length() <= 0) {
      CurStatus = -18502;
      return retv;
    }
    if (i_signFile == null || i_signFile.length() <= 0) {
      CurStatus = -18003;
      return retv;
    }
    try {
      PKI_DATA checkCert = new PKI_DATA();
      PKI_DATA decCert = new PKI_DATA();
      checkCert.setSize(i_checkCert.length());
      checkCert.setValueString(i_checkCert);
      byte b_clearData[] = null;

      byte b_signData[] = null;
      PKI_DATA clearText = new PKI_DATA();
      PKI_DATA signText = new PKI_DATA();
      flag = psi.pkiBase64Decode(checkCert, decCert);
      if (flag == 0) {
        b_clearData = read(i_clearFile);
        if (CurStatus == 0)
          b_signData = read(i_signFile);
      }
      else {
        CurStatus = flag;
      }
      if (flag == 0 && CurStatus == 0) {
        clearText.setSize(b_clearData.length);
        clearText.setValue(b_clearData);
        signText.setSize(b_signData.length);
        signText.setValue(b_signData);
        if (i_signType == 0)
          flag = psi.pkiVerifySignature(i_algoType, decCert, clearText,
                                        signText);
        else
          flag = psi.pkiVerifyData(decCert, signText);
        CurStatus = flag;
        if (flag == 0)
          retv = true;
      }
    }
    catch (Exception err) {
      CurStatus = -18000;
    }
    return retv;
  }

  public String AdvGenRandom(int len) {
    String revl = "";
    PKI_DATA outData = new PKI_DATA();
    PKI_DATA encData = new PKI_DATA();
    try {
      int flag = psi.pkiGenerateRandom(len, outData);
      if (flag == 0)
        flag = psi.pkiBase64Encode(outData, encData);
      if (flag == 0)
        revl = encData.getValueString();
      CurStatus = flag;
    }
    catch (Exception err) {
      CurStatus = -18000;
    }
    return revl;
  }

  public String AdvSymmEncrypt(int i_symmAlgo, String i_symmkey, byte i_indata[]) {
    String revl = "";
    PKI_DATA encKey = new PKI_DATA();
    PKI_DATA decKey = new PKI_DATA();
    PKI_DATA inData = new PKI_DATA();
    PKI_DATA outData = new PKI_DATA();
    PKI_DATA encStr = new PKI_DATA();
    int flag = -1;
    try {
      encKey.setValue(i_symmkey.getBytes());
      encKey.setSize(i_symmkey.length());
      inData.setValue(i_indata);
      inData.setSize(i_indata.length);
      flag = psi.pkiBase64Decode(encKey, decKey);
      if (flag == 0)
        flag = psi.pkiSymmCryptData(1, i_symmAlgo, decKey, inData, outData);
      if (flag == 0)
        flag = psi.pkiBase64Encode(outData, encStr);
      if (flag == 0)
        revl = encStr.getValueString();
      CurStatus = flag;
    }
    catch (Exception err) {
      CurStatus = -18000;
    }
    return revl;
  }

  public boolean fAdvSymmEncrypt(int i_symmAlgo, String i_symmkey,
                                 String i_inFile, String i_outFile) {
    boolean retv = false;
    int flag = -18000;
    if (i_inFile == null || i_inFile.length() <= 0) {
      CurStatus = -18500;
      return retv;
    }
    if (i_outFile == null || i_outFile.length() <= 0) {
      CurStatus = -18501;
      return retv;
    }
    PKI_DATA encKey = new PKI_DATA();
    PKI_DATA decKey = new PKI_DATA();
    PKI_DATA inData = new PKI_DATA();
    PKI_DATA outData = new PKI_DATA();
    byte b_readData[] = null;
    try {
      encKey.setValue(i_symmkey.getBytes());
      encKey.setSize(i_symmkey.length());
      flag = psi.pkiBase64Decode(encKey, decKey);
      if (flag == 0)
        b_readData = read(i_inFile);
      else
        CurStatus = flag;
      if (flag == 0 && CurStatus == 0) {
        inData.setSize(b_readData.length);
        inData.setValue(b_readData);
        if (flag == 0)
          flag = psi.pkiSymmCryptData(1, i_symmAlgo, decKey, inData, outData);
        if (flag == 0)
          write(outData.getValue(), i_outFile);
        else
          CurStatus = flag;
      }
    }
    catch (Exception err) {
      CurStatus = -18000;
    }
    if (CurStatus == 0)
      retv = true;
    else
      retv = false;
    return retv;
  }

  public byte[] AdvSymmDecrypt(int i_symmAlgo, String i_symmkey,
                               String i_indata) {
    byte revl[] = null;
    PKI_DATA encKey = new PKI_DATA();
    PKI_DATA decKey = new PKI_DATA();
    PKI_DATA encData = new PKI_DATA();
    PKI_DATA decData = new PKI_DATA();
    PKI_DATA outData = new PKI_DATA();
    int flag = -18000;
    try {
      encKey.setValue(i_symmkey.getBytes());
      encKey.setSize(i_symmkey.length());
      encData.setValue(i_indata.getBytes());

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -