checkcertvalid.java

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

JAVA
35
字号
import java.io.*;
import java.security.*;
import java.security.cert.*;
import java.util.*;
public class CheckCertValid{
    
   public static void main(String args[ ]) throws Exception{
        CertificateFactory cf=CertificateFactory.getInstance("X.509");
        FileInputStream in=new FileInputStream(args[0]);
        java.security.cert.Certificate c=cf.generateCertificate(in);
        in.close();
        X509Certificate t=(X509Certificate) c;

        Calendar cld=Calendar.getInstance();
        int year=Integer.parseInt(args[1]);
        int month=Integer.parseInt(args[2])-1;  // as 0 is Jan, 11 
        int day=Integer.parseInt(args[3]);
        cld.set(year,month,day);
        Date d=cld.getTime();
        System.out.println(d);
        try{
           t.checkValidity(d);
           System.out.println("OK");
        }catch(CertificateExpiredException e){   //过期
            System.out.println("Expired");
            System.out.println(e.getMessage());
        }
        catch(CertificateNotYetValidException e){   //尚未生效
            System.out.println("Too early");
            System.out.println(e.getMessage());
        }
  }
}  

⌨️ 快捷键说明

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