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="5test2000012020-09-02 20-0-01[机密]机密文件21531"; String labelXml="5"; String editXml="52"; 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; } }