我希望在插入eToken时从eToken中读取证书,当我将该证书存储在本地计算机上时,可以通过Java应用程序读取它,但是,我不知道如何从eToken中读取它。

RSAPublicKey pub;
            String fileName = "C:\\myCert.cer";

             InputStream inStream = new FileInputStream(fileName);
             CertificateFactory cf = CertificateFactory.getInstance("X.509");
             X509Certificate cert =
        (X509Certificate)cf.generateCertificate(inStream);
             inStream.close();

             pub = (RSAPublicKey) cert.getPublicKey();
             System.out.println(cert.getIssuerDN());
             System.out.println(cert.getSubjectDN());
             System.out.println(cert.getSubjectAlternativeNames());
             byte [] tempPub = pub.getEncoded();
             String sPub = new String( tempPub );

最佳答案

一种方法是使用PKCS#11 provider。它也附带示例。

10-08 04:36