|
@@ -48,76 +48,6 @@ public class AuthorizeApprove {
|
|
|
public static String getApprovePasswd(AuthorData authorData, String machineCode) {
|
|
|
return authorData.getPassword() + machineCode + authorData.getAuthorizeTime();
|
|
|
}
|
|
|
- // 加密并保存授权批准文件
|
|
|
- public static boolean saveAuthorizeApproveFile(AuthorizeApprove authorizeApprove,AuthorData authorData, String targetPath) {
|
|
|
- if (authorizeApprove == null) {
|
|
|
- logger.error("授权批准文件为空, 无法保存");
|
|
|
- return false;
|
|
|
- }
|
|
|
- if (targetPath == null) {
|
|
|
- logger.error("请输入授权文件保存路径");
|
|
|
- return false;
|
|
|
- }
|
|
|
- // 生成授权批准文件
|
|
|
- String approveStr = JSON.toJSONString(authorizeApprove);
|
|
|
-
|
|
|
- String password = getApprovePasswd(authorData, authorData.getMachineCode());
|
|
|
- try{
|
|
|
- // 加密授权文件
|
|
|
- String encryptStr = AesUtils.encrypt(approveStr, password);
|
|
|
-
|
|
|
- // 使用 base64 转换文本
|
|
|
- byte[] approveData = encryptStr.getBytes();
|
|
|
- byte[] approveByte = Base64Utils.encode(approveData);
|
|
|
- // 保存授权文件
|
|
|
- File file = new File(targetPath);
|
|
|
- if (file.exists()) {
|
|
|
- file.delete();
|
|
|
- logger.info("授权批准文件已存在, 正在覆盖");
|
|
|
- }
|
|
|
- file.createNewFile();
|
|
|
- IoUtils.writeTxtFile(file, approveByte.toString());
|
|
|
- return true;
|
|
|
- }catch(Exception e)
|
|
|
- {
|
|
|
- logger.error("授权批准文件生成失败. 请检查练习管理员进行排查. ");
|
|
|
- logger.error("错误信息: {}", e.getMessage());
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
- // 生成授权文件
|
|
|
- public static AuthorizeApprove generateAuthorizeApprove(String machineCode, String authorizeFilePath, String approver, int p_authorizeDay ) {
|
|
|
- // 获取密文
|
|
|
- String encryptAuthorData = Authorize.getEncryptAuthorData(authorizeFilePath);
|
|
|
- // 读取授权文件
|
|
|
- AuthorData authorData = Authorize.parseBaseAuthorizeFile(machineCode, authorizeFilePath);
|
|
|
-
|
|
|
- if (authorData == null) {
|
|
|
- logger.error("授权文件解析失败,请检查对应文件是否正确");
|
|
|
- return null;
|
|
|
- }
|
|
|
- // 判断机器码是否一致
|
|
|
- if (!authorData.getMachineCode().equals(machineCode)) {
|
|
|
- logger.error("授权文件机器码不一致,请检查对应文件是否正确");
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- // 生成授权批准文件
|
|
|
- AuthorizeApprove authorizeApprove = new AuthorizeApprove();
|
|
|
- // 机器码
|
|
|
- authorizeApprove.setMachineCode(machineCode);
|
|
|
- // 授权请求时间
|
|
|
- authorizeApprove.setRequestTime(authorData.getAuthorizeTime());
|
|
|
- // 授权发布时间
|
|
|
- authorizeApprove.setRequestTime(DateUtil.getNowForISO8601());
|
|
|
- // 请求密文
|
|
|
- authorizeApprove.setEncryptAuthorData(encryptAuthorData);
|
|
|
- // 授权天数
|
|
|
- authorizeApprove.setAuthorizeDay(p_authorizeDay);
|
|
|
- // 批准人
|
|
|
- authorizeApprove.setApprover(approver);
|
|
|
- return authorizeApprove;
|
|
|
- }
|
|
|
|
|
|
/**
|
|
|
* 解析授权批准文件
|