checkcertsign.java

来自「Java安全性编程实例,解压看说明」· Java 代码 · 共 37 行

JAVA
37
字号
import java.io.*;
import java.security.*;
import java.security.cert.*;
public class CheckCertSign{
     public static void main(String args[ ]) throws Exception{
	//参数
        String cacert=args[0];
        String lfcert=args[1];
	//CA "Xu Yingxiao"的证书
        CertificateFactory cf=CertificateFactory.getInstance("X.509");
        FileInputStream in1=new FileInputStream(cacert);
        java.security.cert.Certificate cac=cf.generateCertificate(in1);
        in1.close();
	//用户"Liu Fang"的签名证书
        FileInputStream in2=new FileInputStream(lfcert);
        java.security.cert.Certificate lfc=cf.generateCertificate(in2);
        in2.close();

        PublicKey pbk=cac.getPublicKey( );
	boolean pass=false;
	try{
	        lfc.verify(pbk);
		pass=true;
        }
	catch(Exception e){
		pass=false;
		System.out.println(e);
	}
	if(pass){
		System.out.println("The Certificate is signed by the CA Xu Yingxiao");
	}
	else{
		System.out.println("!!!The Certificate is not signed by the CA Xu Yingxiao");
	}
  }
}  

⌨️ 快捷键说明

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