【问题标题】:Is there a way to extract a certificate from an etoken有没有办法从 etoken 中提取证书
【发布时间】:2015-04-13 01:24:09
【问题描述】:

有没有办法使用 java 以编程方式从 etoken 中提取证书?

如果可以,是否可以转换为 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();

它返回一个空指针异常。 我是新手,不知道如何继续。

【问题讨论】:

    标签: java jks pkcs#11 e-token x509securitytokenmanager


    【解决方案1】:

    您需要证书还是私钥?证书是可提取的,而私钥在大多数情况下不可提取。这就是为什么你会得到一个例外。

    【讨论】:

    • 好的..我需要证书和私钥..并将它们转换为 jks 文件..有没有办法以某种方式读取私钥?
    • @Vin 不,设备的目的是防止提取私钥。
    • 哦..好的..感谢您的回复..最后一件事..这是一个愚蠢的问题,但仍然..生成密钥的人可能知道吗?
    • @vin 仅当他制作了不太可能的副本时
    猜你喜欢
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 2019-05-16
    • 2011-12-28
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多