Java 从智能卡读取证书
我正在尝试从智能卡读取证书Java 从智能卡读取证书,java,applet,smartcard,Java,Applet,Smartcard,我正在尝试从智能卡读取证书 import java.security.KeyStore; import java.security.PrivateKey; import java.security.Provider; import java.security.Security; import java.security.cert.X509Certificate; import java.util.Enumeration; public class Test { public stat
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.Provider;
import java.security.Security;
import java.security.cert.X509Certificate;
import java.util.Enumeration;
public class Test {
public static void main(String[] args) throws Exception{
Provider pkcs11Provider =new sun.security.pkcs11.SunPKCS11("c:\\dev\\pkcs11.cfg");
char [] pin = {'1', '2', '3', '4'};
KeyStore smartCardKeyStore = KeyStore.getInstance("PKCS11",pkcs11Provider);
smartCardKeyStore.load(null, null);
Enumeration aliasesEnum = smartCardKeyStore.aliases();
while (aliasesEnum.hasMoreElements()) {
String alias = (String)aliasesEnum.nextElement();
System.out.println("Alias: " + alias);
X509Certificate cert =
(X509Certificate) smartCardKeyStore.getCertificate(alias);
System.out.println("Certificate: " + cert);
PrivateKey privateKey =
(PrivateKey) smartCardKeyStore.getKey(alias, null);
System.out.println("Private key: " + privateKey);
}
}
}
这是我从你那里得到的
我将在applet中执行此代码,问题是每个用户都必须向我指出其本地pkcs11…dll,
使用java samrtcard api是否可以避免加载此dll?(未找到任何使用java智能卡api加载证书的示例)
如果使用JWS/JNLP来定义小程序,而不是使用
标记,那么使用SunPKCS11是否有任何方法可以让小程序jar包含dll,这样客户端浏览器就不需要提供我了。。若要评论或要求作者澄清,请在其帖子下方留下评论。使用java智能卡api可以简化从智能卡读取证书的过程吗?有没有使用java智能卡api读取证书的代码示例?@SubinJacob您的评论毫无意义。答案是使用JWS。@user884424您的问题已经包含了代码。您的问题是DLL,这就是我的答案。智能卡在PKCS#11上有CSP层,它使其中的所有证书(非私钥)在插入后立即在证书存储中可用。您可以通过编写几行代码来使用浏览器扩展提供的方法,为现代浏览器使用浏览器扩展进行签名。My Co.为现代浏览器提供了一个这样的免费服务。