📄 psiapp.java
字号:
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 + -