有没有办法从 etoken 中提取证书
Is there a way to extract a certificate from an etoken
有没有办法使用 java 以编程方式从电子令牌中提取证书?
如果是,是否可以将其转换为 Java KeyStore(.jks) 文件?
这是我的代码
String alias;
SunPKCS11 sunpkcs11;
Key privateKey;
String cfgFile = "D:\cfgFile.cfg";
sunpkcs11 = new SunPKCS11(cfgFile);
Security.addProvider(sunpkcs11);
alias = "myAlias";
KeyStore.Builder builderRunning = KeyStore.Builder.newInstance("PKCS11", sunpkcs11,new KeyStore.CallbackHandlerProtection(new CallbackHandler() {
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
}}));
KeyStore keyStore = builder.getKeyStore();
// get my private key
KeyStore.PrivateKeyEntry pkEntry = (KeyStore.PrivateKeyEntry) keyStore.getEntry(alias,
new KeyStore.PasswordProtection("password".toCharArray()));
privateKey = pkEntry.getPrivateKey();
它returns 一个空指针异常。
我是新手,不知道如何继续。
您需要证书或私钥吗?证书是可提取的,但在大多数情况下私钥不是。这就是为什么你得到一个例外。
有没有办法使用 java 以编程方式从电子令牌中提取证书?
如果是,是否可以将其转换为 Java KeyStore(.jks) 文件?
这是我的代码
String alias;
SunPKCS11 sunpkcs11;
Key privateKey;
String cfgFile = "D:\cfgFile.cfg";
sunpkcs11 = new SunPKCS11(cfgFile);
Security.addProvider(sunpkcs11);
alias = "myAlias";
KeyStore.Builder builderRunning = KeyStore.Builder.newInstance("PKCS11", sunpkcs11,new KeyStore.CallbackHandlerProtection(new CallbackHandler() {
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
}}));
KeyStore keyStore = builder.getKeyStore();
// get my private key
KeyStore.PrivateKeyEntry pkEntry = (KeyStore.PrivateKeyEntry) keyStore.getEntry(alias,
new KeyStore.PasswordProtection("password".toCharArray()));
privateKey = pkEntry.getPrivateKey();
它returns 一个空指针异常。 我是新手,不知道如何继续。
您需要证书或私钥吗?证书是可提取的,但在大多数情况下私钥不是。这就是为什么你得到一个例外。