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

📄 sslsignature_log.java

📁 身份认证和数字签名在实际应用中是通过以数字证书为核心的公开密钥基础结构(PKI)来实现的
💻 JAVA
字号:
/****************************************************************
* 软件:Java签名协议扩展 (Java Signature Protocol Extension, JSPE)
* 版本:V1.0
* 软件功能:实现SSL签名协议
* 模块:公共类SSLSignature_Log
*-----------------------------------------------------------------
*                                 版权所有:中山大学软件研究所 2002
*                          Programmed by 佛山张峰岭 fszfl@21cn.com
*                                              2002.4 - 2002.5
*****************************************************************/
package com.zsusoft.zfl;
import java.io.*;
import java.util.*;
/***
*   SSLSignature_Log
*   这个类的对象用于记录日志文件
*   这些日志文件可以用来分析和调试。
***/ 
public class SSLSignature_Log{
 /**
 *  保存对方签名请求到签名记录,由于签名请求中
 *  有对方的签名,可以防止对方否认,也便于与对方核对
 **/
   private String SignLogFileName="SSL_signature.log";//签名记录名
  /**
  *   构造函数指定用于保存日志的文件名
  **/
   public SSLSignature_Log(String FileName)
   {
   	SignLogFileName=FileName;
   }
   public SSLSignature_Log()
   {
   }
  /**
  *   保存签名信息到日志文件
  **/
   public void SaveSignToLog(String Desc,Signature_request S_request,Signature_reply S_reply)
   {
      String Message = "----------------------------------";
      Message += "\n" + "时间:"+(new Date()).toString();
      Message += "\n" + Desc;
      Message += "\n" + "签名请求的信息:";
      Message += "\n" + S_request.toString();
      Message += "\n" + "签名返回的信息:";
      Message += S_reply.toString();
      Save_Message_Log(Message);
      return ;
   }
  /**
  * 保存调试信息到日志文件(静态方法)
  **/
   public static void Save_Message_Log(String Filename,String Message)
   {
   	try{	
   	PrintWriter out = new PrintWriter(
	 		   new BufferedWriter(
			    new OutputStreamWriter(
			     new FileOutputStream(Filename,true))));  //true表示按照Append方式打开文件
        out.println(Message);
        out.flush();
	out.close();
	return ;
      } catch (IOException e)
      {
      	    System.err.println("保存签名信息到日志文件出错:" + e.getMessage());
	    e.printStackTrace();
	    return;
      }
   }
  /**
  * 保存调试信息到日志文件
  **/ 
   public void Save_Message_Log(String Message)
   {
   	Save_Message_Log(SignLogFileName,Message);
   }
  /**
  * 保存数据缓冲区到日志文件,用于跟踪和调试
  * Desc:表示描述信息
  * buf:通信缓冲区
  * len:缓冲区长度
  **/
   public void Save_buffer_log(String Desc,byte[] buf,int len){
      try{
       PrintWriter out = new PrintWriter(
	 		   new BufferedWriter(
			    new OutputStreamWriter(
			     new FileOutputStream(SignLogFileName,true))));  //true表示按照Append方式打开文件
       out.println("时间:"+(new Date()).toString());
       out.println(Desc+":");
       for(int i=0;i<len;++i){
      	out.print("["+Conversion.byteToHexString(buf[i])+"]");
      	if(((i + 1) % 20)==0)out.println();
       }
       out.println();
       out.flush();
       out.close();
      } catch (IOException e)
      {
      	System.err.println("保存数据缓冲区出错:" + e.getMessage());
	    e.printStackTrace();
	return;
      }
   }
}

⌨️ 快捷键说明

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