📄 rmisignclient.java
字号:
import java.rmi.*;
import java.rmi.server.*;
import java.io.*;
import java.security.*;
public class RMISignClient
{
public static void main(String[] args)
{
String RemoteSerHost = null;
RMISignInterface rmisi = null;
String outprint = null;
RMISignObject rmiso = null;
Signature signature = null;
boolean isValid = false;
String testTxt = null;
try
{
RemoteSerHost = "//127.0.0.1/SignServer";
testTxt = "It is a test";
System.out.println("\n本地客户机开始启动...");
rmisi = (RMISignInterface) Naming.lookup(RemoteSerHost);
outprint = rmisi.putString(testTxt);
System.out.println("\n本地客户机接收到的正文为: " + outprint);
rmiso = rmisi.getSignObj(); //获得RMI数字签名对象
System.out.println("RMI数字签名对象为: " +rmiso.toString());
signature = Signature.getInstance("SHA/DSA");
signature.initVerify(rmiso.puk);
signature.update(rmiso.seriTxt); //更新数字签名序列化的对象
System.out.println("\nRMI数字签名对象的公钥为:" +rmiso.puk);
isValid = signature.verify(rmiso.signTxt); //判断RMI数字签名是否有效
if(isValid == true)
{
System.out.println("这是有效的RMI数字签名!");
}
else
{
System.out.println("这是无效的RMI数字签名!");
}
}
catch(Exception e)
{
System.out.println("! 客户机在运行时抛出例外:" + e.toString());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -