package com.lxzn.label;
|
|
import com.eetrust.label.LabelOperator;
|
|
import java.io.FileInputStream;
|
import java.io.FileOutputStream;
|
import java.io.IOException;
|
|
//import org.apache.axis.client.Call;
|
//import org.apache.axis.client.Service;
|
|
public class Demo {
|
|
public static void main(String[] args) throws Exception {
|
|
|
|
String serverIp = "10.3.45.221";
|
int serverPort =8090;
|
//应用系统用户唯一标识
|
String identifier= "testUser";
|
String fileName = "D:\\lxzn_storage\\temp\\06af53c75200d781f51581fd347941181f3c2f545be0bb2e1cf624535d503b0e";
|
// String labelXml="<secAttrib><secrecy>5</secrecy><draftsMan><oid>test</oid><name><![CDATA[test]]></name></draftsMan><range><type>2</type><data>0000</data></range><periods><type>1</type><data>2020-09-02 20-0-0</data></periods><reasons><reason><type>1</type><content>[机密]机密文件</content><secrecy>2</secrecy></reason></reasons><extensions><extension><extnID>153</extnID><critical>1</critical><extnValue><![CDATA[工控业务类型]]></extnValue></extension></extensions></secAttrib>";
|
String labelXml="<secAttrib><secrecy>5</secrecy></secAttrib>";
|
|
String editXml="<secAttrib><secrecy>5</secrecy><status>2</status></secAttrib>";
|
|
String fileName1 = "D:\\重绑的明文文件.doc";
|
|
// 223添加文件密级标志接口 TODO
|
binByFileLable(serverIp,serverPort,identifier,fileName,labelXml);
|
|
// 224读取密标文件密级标志接口
|
//readlabelByPath(serverIp, serverPort,fileName); //文件路径
|
|
// 225修改密标文件密级标志接口 TODO
|
editLabelByPath(serverIp, serverPort,identifier,fileName,editXml); //文件路径
|
|
// 227获取是否是密标文件接口
|
// isLableFileByPath(serverIp, serverPort,fileName); //文件路径
|
|
// 228获取密标文件唯一标识接口
|
// getFileUidByPath(serverIp, serverPort,fileName); //文件路径
|
|
// 229获取密标文件密级接口
|
// getFileLevelByPath(serverIp, serverPort,fileName); //文件路径
|
|
// 2210获取密标文件状态接口
|
// getFileStatusByPath(serverIp, serverPort,fileName); //文件路径
|
|
// 2211重新绑定文件密级标志接口
|
// reBindByteLabelFilePath(serverIp,serverPort,identifier,fileName,fileName1);
|
|
//检查文件是否被篡改
|
// chcekLabelByPath(serverIp,serverPort,fileName); //文件路径
|
|
// 226去除密标文件密级标志接口
|
// removeLabelByPath(serverIp,serverPort,identifier,fileName); //文件路径
|
|
}
|
|
public static void editLabelByPath(String serverIp, int serverPort,String identifier,String path,String editXml){
|
|
try{
|
LabelOperator labelOperator = new LabelOperator(serverIp,serverPort);
|
//设置本地工程编码格式(UTF_8、GBK),默认为UTF_8
|
//labelOperator.setCharacter(CharacterEnums.UTF_8);
|
|
//默认不开启 //fase 远程调用MB服务 //true 调用本地MB服务
|
labelOperator.setLocalService(false);
|
int modifyFileLabel = labelOperator.modifyFileLabel(identifier,path,editXml);
|
if(modifyFileLabel == 0){
|
System.out.println("修改文件密级标志成功");
|
}else{
|
System.out.println("修改文件密级标志失败");
|
}
|
}catch(Exception e){
|
System.out.println("修改文件密级标志异常");
|
e.printStackTrace();
|
}
|
}
|
|
public static void binByFileLable(String serverIp, int serverPort,String identifier,String fileName,String labelXml){
|
|
try{
|
LabelOperator labelOperator = new LabelOperator(serverIp,serverPort);
|
//默认不开启 //fase 远程调用MB服务 //true 调用本地MB服务
|
labelOperator.setLocalService(false);
|
//设置本地工程编码格式(UTF_8、GBK),默认为UTF_8
|
//labelOperator.setCharacter(CharacterEnums.UTF_8);
|
short fileFrom = 0;
|
int bindFileLabel = labelOperator.bindFileLabel(identifier, fileName , labelXml ,fileFrom);
|
if(bindFileLabel == 0){
|
System.out.println("添加文件密级标志成功");
|
}else{
|
System.out.println("添加文件密级标志失败");
|
}
|
}catch(Exception e){
|
System.out.println("添加文件密级标志异常");
|
e.printStackTrace();
|
}
|
}
|
|
|
public static void removeLabelByPath(String serverIp, int serverPort,String userId,String path){
|
|
FileInputStream inputFileEncrypt = null;
|
FileInputStream inputFileDecrypt = null;
|
FileOutputStream outputFile = null;
|
try {
|
LabelOperator labelOperator = new LabelOperator(serverIp,serverPort);
|
labelOperator.setLocalService(false);
|
int count = labelOperator.removeFileLabel(userId, path);
|
System.out.println(count);
|
System.out.println("ok");
|
} catch (Exception e) {
|
e.printStackTrace();
|
} finally {
|
if (inputFileEncrypt != null) {
|
try {
|
inputFileEncrypt.close();
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
if (inputFileDecrypt != null) {
|
try {
|
inputFileDecrypt.close();
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
if (outputFile != null) {
|
try {
|
outputFile.close();
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
}
|
}
|
|
|
public static void reBindByteLabelFilePath(String serverIp, int serverPort,String userId,String fileName1,String fileName2){
|
|
try {
|
LabelOperator labelOperator = new LabelOperator(serverIp,serverPort);
|
labelOperator.setLocalService(false);
|
int count =labelOperator.reBindFileLabel(userId,fileName1, fileName2, 1);
|
System.out.println(count);
|
System.out.println("ok");
|
} catch (Exception e) {
|
e.printStackTrace();
|
System.out.println("重新绑定文件密级标志异常");
|
}
|
}
|
|
|
|
|
// 获取密标文件状态
|
public static void getFileStatusByPath(String serverIp, int serverPort,String inputFileName) {
|
|
FileInputStream inputFile = null;
|
try {
|
LabelOperator labelOperator = new LabelOperator(serverIp,serverPort);
|
labelOperator.setLocalService(false);
|
int status=labelOperator.getFileStatus(inputFileName);
|
System.out.println(status);
|
System.out.println("获取密级标志文件密级状态成功");
|
} catch (Exception e) {
|
System.out.println("获取密级标志文件密级状态异常");
|
} finally {
|
if (inputFile != null) {
|
try {
|
inputFile.close();
|
} catch (Exception e2) {
|
}
|
}
|
}
|
}
|
|
|
|
public static String getFileLevelByPath(String serverIp, int serverPort,String inputFileName) {
|
|
FileInputStream inputFile = null;
|
try {
|
LabelOperator labelOperator = new LabelOperator(serverIp,serverPort);
|
labelOperator.setLocalService(false);
|
int level =labelOperator.getFileLevel(inputFileName);
|
System.out.println(level);
|
System.out.println("获取密级标志文件密级成功");
|
} catch (Exception e) {
|
e.printStackTrace();
|
System.out.println("获取密级标志文件密级异常");
|
} finally {
|
if (inputFile != null) {
|
try {
|
inputFile.close();
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
}
|
return null;
|
}
|
|
|
// 获取密标文件唯一标识
|
public static String getFileUidByPath(String serverIp, int serverPort,String path) {
|
String massage = "";
|
try {
|
boolean isHttpProtocol = true;
|
LabelOperator labelOperator = new LabelOperator(serverIp,serverPort, isHttpProtocol);
|
labelOperator.setLocalService(false);
|
String uuid =labelOperator.getFileUuid(path);
|
if ("".equals(uuid)) {
|
System.out.println("获取密级标志文件唯一标识失败");
|
} else {
|
System.out.println(uuid);
|
System.out.println("获取密级标志文件唯一标识成功");
|
}
|
massage = "成功";
|
} catch (Exception e) {
|
e.printStackTrace();
|
System.out.println("获取密级标志文件唯一标识异常");
|
massage = "失败";
|
}
|
return massage;
|
}
|
|
|
|
|
// 是否是密标文件
|
public static String isLableFileByPath(String serverIp, int serverPort,String path) {
|
String massage = "";
|
FileInputStream inputFile = null;
|
try {
|
LabelOperator labelOperator = new LabelOperator(serverIp,serverPort);
|
labelOperator.setLocalService(false);
|
int isLabelledFile = labelOperator.isLabelledFile(path);
|
if (isLabelledFile == 0) {
|
System.out.println("不是密级标志文件");
|
massage = "不是密级标志文件";
|
} else if (isLabelledFile == 1) {
|
System.out.println("是密级标志文件");
|
massage = "是密级标志文件";
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
massage = "获取是密级标志文件异常";
|
} finally {
|
if (inputFile != null) {
|
try {
|
inputFile.close();
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
}
|
}
|
return massage;
|
}
|
|
|
|
|
|
|
public static String readlabelByPath(String serverIp, int serverPort,String path) throws IOException{
|
LabelOperator labelOperator = new LabelOperator(serverIp,serverPort);
|
//默认不开启 //fase 远程调用MB服务 //true 调用本地MB服务
|
labelOperator.setLocalService(false);
|
String readFileLabel=labelOperator.readFileLabel(path, 1);
|
System.out.println(readFileLabel);
|
return null;
|
}
|
|
public static String chcekLabelByPath(String serverIp, int serverPort,String inputFileName){
|
String massage = "";
|
FileInputStream inputFile = null;
|
try {
|
LabelOperator labelOperator = new LabelOperator(serverIp,serverPort);
|
int readFileLabel = labelOperator.checkFileLabel(inputFileName);
|
System.out.println(readFileLabel);
|
} catch (Exception e) {
|
e.printStackTrace();
|
System.out.println("文件篡改异常");
|
|
} finally {
|
if (inputFile != null) {
|
try {
|
inputFile.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
return massage;
|
}
|
|
}
|