将自签名证书作为“添加到Java证书管理器”;签名人CA“;中断我的小程序(Win7 64位)

将自签名证书作为“添加到Java证书管理器”;签名人CA“;中断我的小程序(Win7 64位),java,security,applet,certificate,Java,Security,Applet,Certificate,我正在创建一个Java小程序,它连接到本地文件系统上的SQLite数据库。我已经创建了一个使用keytool进行签名的证书。我已经签署了我使用的每个Jar文件,我可以启动小程序,它在Google chrome和IE中运行良好 我确实得到了一个标准的安全警告对话框,每次加载页面时,我都必须单击“确定”,但仅此而已。它起作用了 为了避免此安全警告,我将相同的证书(通过Java控制面板)添加到签名者CA证书存储中。现在,当浏览网页时,我确实收到了安全警告,允许我检查“不要向我索要相同的出版商(或类似的

我正在创建一个Java小程序,它连接到本地文件系统上的SQLite数据库。我已经创建了一个使用keytool进行签名的证书。我已经签署了我使用的每个Jar文件,我可以启动小程序,它在Google chrome和IE中运行良好

我确实得到了一个标准的安全警告对话框,每次加载页面时,我都必须单击“确定”,但仅此而已。它起作用了

为了避免此安全警告,我将相同的证书(通过Java控制面板)添加到签名者CA证书存储中。现在,当浏览网页时,我确实收到了安全警告,允许我检查“不要向我索要相同的出版商(或类似的东西)”。但是小程序不再工作了,我在Java控制台中得到了以下异常列表

basic: Plugin2ClassLoader.getPermissions CeilingPolicy allPerms
security: SHA-256Certificate finger print: 7478E95FEAC103F0934BD2DDB669DE9A6105AD26ABA30C0C9F3A61107BFEBF4D
network: Cache entry not found [url: file:/C:/Work/Projects/OP/SPA_Notes/web/web/java/SPA_NotesApplet.jar, version: null]
basic: exception: java.lang.reflect.InvocationTargetException.
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at sun.plugin2.applet.Plugin2ClassLoader.defineClassHelper(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.access$100(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    ... 14 more
Caused by: java.lang.NullPointerException
    at sun.plugin2.applet.Plugin2ClassLoader.loadAllowedCodebases(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.getPermissions(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.getPermissions(Unknown Source)
    at java.security.SecureClassLoader.getProtectionDomain(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    ... 18 more
basic: Removed progress listener: sun.plugin.util.ProgressMonitorAdapter@175db37
security: Reset deny session certificate store
我对Java或它的安全设置都不太熟悉,所以如果有任何帮助,我将不胜感激

再重复一次:如果我不将证书添加到“签名者CA”证书存储中,一切正常。所以我认为JAR文件的签名不是问题所在。我猜,要么是我自己创建的证书不适合用作签名者CA证书,要么是因为没有验证CA的信任链(但我不知道这有什么关系)