■
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(); } } }