import java.io.FileInputStream;
import java.math.BigInteger;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;
import java.security.cert.X509CertSelector;
import java.util.Calendar;
import java.util.Date;
public class MainClass {
public static void main(String args[]) throws Exception {
X509CertSelector selec = new X509CertSelector();
CertificateFactory cf = CertificateFactory.getInstance("X.509");
FileInputStream in = new FileInputStream(args[0]);
Certificate c = cf.generateCertificate(in);
System.out.println(selec.match(c));
selec.setIssuer("CN=Peter,OU=Network Center," + "O=University,L=ZB,ST=Vancouver,C=CN");
System.out.println(selec.match(c));
Calendar cld = Calendar.getInstance();
int year = Integer.parseInt(args[1]);
int month = Integer.parseInt(args[2]) - 1;
int day = Integer.parseInt(args[3]);
cld.set(year, month, day);
Date d = cld.getTime();
selec.setCertificateValid(d);
System.out.println(selec.match(c));
BigInteger sn = new BigInteger("1039056963");
selec.setSerialNumber(sn);
System.out.println(selec.match(c));
}
}