Java代码已成功执行但未终止[已关闭]

yr9zkbsy  于 2022-12-10  发布在  Java
关注(0)|答案(1)|浏览(119)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

8小时前关门。
这篇文章是编辑和提交审查7小时前。
Improve this question
我有一个java代码成功执行,但JVM不退出,即使添加了system.exit(0);

class GetSignatureNew {

    public static void main (String args[])
    {
        String pwd = "*******";
        char[] pin = new char[pwd.length()]; 
        try
        {
            for (int i = 0; i < pwd.length(); i++) {
                pin[i] = pwd.charAt(i);
            }
            // Get Certificate and private key from token
            KeyStore ks = KeyStore.getInstance("PKCS11");
            ks.load(null, pin);
            Enumeration enu = ks.aliases();
            String alias = String.valueOf(enu.nextElement());           
            X509Certificate cert =  (X509Certificate) ks.getCertificate(alias);
            PrivateKey pk = (PrivateKey) ks.getKey(alias, pin);
            byte [] output = cert.getEncoded();         
            String b64 = Base64.getEncoder().encodeToString(output);
            System.out.println(b64);
            System.exit(0);

        }
        catch (Exception e) {
            e.printStackTrace(); 
            System.out.println("Error");
        }
    }
}

代码应在执行后终止

w6lpcovy

w6lpcovy1#

由于您是动态地(而不是静态地)添加提供程序,因此请尝试添加Security.removeProvider()。
以下是完整的文档:
https://docs.oracle.com/javase/8/docs/technotes/guides/security/p11guide.html

相关问题