,

javax.security.cert.X509Certificateは古いんだそうです
替わりはjava.security.cert.X509Certificateですがインスタンス化の方法がちょっと変わります。

import java.security.cert.X509Certificate;
import java.security.cert.CertificateFactory;
import java.security.SignatureException;
import java.security.PublicKey;
import java.io.FileInputStream;
public class X509test {
 public static X509Certificate createCertificate(FileInputStream in) throws Exception {
  CertificateFactory cf = CertificateFactory.getInstance("X.509");
  return  (X509Certificate)cf.generateCertificate(in);
 }
 public static void main(String[] args) throws Exception {
  FileInputStream in = new FileInputStream(args[0]);
  X509Certificate cert0 = createCertificate(in);
  in = new FileInputStream(args[1]);
  X509Certificate cert1 = createCertificate(in);
  PublicKey pk = cert1.getPublicKey();
  try {
 	 System.out.println("verifying:"+args[0]+" by "+ args[1]);
 	 cert0.verify(pk);
 	 System.out.println("  OK");
  } catch(SignatureException e){
 	 System.out.println("  BAD");
  } catch(Exception e){
 		e.printStackTrace();
  }
 }
}