Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在BouncyCastle中生成X.509证书时出现吊销状态未知错误_Java_Security_X509certificate_Bouncycastle_Digital Certificate - Fatal编程技术网

Java 在BouncyCastle中生成X.509证书时出现吊销状态未知错误

Java 在BouncyCastle中生成X.509证书时出现吊销状态未知错误,java,security,x509certificate,bouncycastle,digital-certificate,Java,Security,X509certificate,Bouncycastle,Digital Certificate,不熟悉加密和安全性,正在尝试生成x509证书 已尝试使用BouncyCastle API的以下代码: X509V3CertificateGenerator certGenerator = new X509V3CertificateGenerator(); System.out.println("- ---Inside createCertificate Method----- certificate generated"); certGenerator.setSerialNumber(BigIn

不熟悉加密和安全性,正在尝试生成x509证书

已尝试使用BouncyCastle API的以下代码:

X509V3CertificateGenerator certGenerator = new X509V3CertificateGenerator();
System.out.println("- ---Inside createCertificate Method----- certificate generated");
certGenerator.setSerialNumber(BigInteger.valueOf(Math.abs(new Random().nextLong())));
certGenerator.setIssuerDN(new X509Name(dn));
certGenerator.setSubjectDN(new X509Name(dn));
certGenerator.setIssuerDN(new X509Name(issuer)); // Set issuer!
Calendar instance = Calendar.getInstance();
X509Certificate certificate = (X509Certificate) certGenerator.generate(
                    privateKey, "BC");
并遇到异常

security: The OCSP support is enabled
security: The CRL support is enabled
security: Failing over to CRLs: Certificate does not specify OCSP responder
security: Revocation Status Unknown
com.sun.deploy.security.RevocationChecker$StatusUnknownException: Certificate does not specify OCSP responder
    at com.sun.deploy.security.RevocationChecker.checkOCSP(Unknown Source)
    at com.sun.deploy.security.RevocationChecker.check(Unknown Source)
    at com.sun.deploy.security.TrustDecider.checkRevocationStatus(Unknown Source)
    at com.sun.deploy.security.TrustDecider.getValidationState(Unknown Source)
    at com.sun.deploy.security.TrustDecider.validateChain(Unknown Source)
    at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.isTrustedByTrustDecider(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.getTrustedCodeSources(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.strategy(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.openClassPathElement(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader$1.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.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 java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter$1.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    Suppressed: com.sun.deploy.security.RevocationChecker$StatusUnknownException
        at com.sun.deploy.security.RevocationChecker.checkCRLs(Unknown Source)
        ... 54 more
network: Created version ID: 1.7.0.51
network: Created version ID: 1.7.0.51
安全性:已启用OCSP支持
安全性:已启用CRL支持
安全性:故障转移到CRLs:证书未指定OCSP响应程序
安全性:吊销状态未知
com.sun.deploy.security.RevocationChecker$StatusUnknownException:证书未指定OCSP响应程序
位于com.sun.deploy.security.RevocationChecker.checkOCSP(未知源)
位于com.sun.deploy.security.RevocationChecker.check(未知源)
在com.sun.deploy.security.TrustDecider.checkRevocationStatus(未知源)上
位于com.sun.deploy.security.TrustDecider.getValidationState(未知源)
位于com.sun.deploy.security.TrustDecider.validateChain(未知源)
在com.sun.deploy.security.TrustDecider.IsAllPermissionGrassed上(未知源)
位于sun.plugin2.applet.Plugin2ClassLoader.isTrustedByTrustDecider(未知源)
位于sun.plugin2.applet.Plugin2ClassLoader.getTrustedCodeSources(未知源)
位于com.sun.deploy.security.CPCallbackHandler$ParentCallback.strategy(未知源)
位于com.sun.deploy.security.CPCallbackHandler$ParentCallback.openClassPathElement(未知源)
位于com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(未知源)
位于com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(未知源)
位于com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(未知源)
位于com.sun.deploy.security.DeployURLClassPath$JarLoader。(未知来源)
位于com.sun.deploy.security.DeployURLClassPath$3.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于com.sun.deploy.security.DeployURLClassPath.getLoader(未知源)
位于com.sun.deploy.security.DeployURLClassPath.getLoader(未知源)
位于com.sun.deploy.security.DeployURLClassPath.getResource(未知源)
位于sun.plugin2.applet.Plugin2ClassLoader$1.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(未知源)
位于sun.plugin2.applet.Applet2ClassLoader.findClass(未知源)
位于sun.plugin2.applet.Plugin2ClassLoader.loadClass0(未知源)
位于sun.plugin2.applet.Plugin2ClassLoader.loadClass(未知源)
位于sun.plugin2.applet.Plugin2ClassLoader.loadClass0(未知源)
位于sun.plugin2.applet.Plugin2ClassLoader.loadClass(未知源)
位于sun.plugin2.applet.Plugin2ClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于java.lang.Class.getDeclaredConstructors0(本机方法)
位于java.lang.Class.privateGetDeclaredConstructors(未知源)
位于java.lang.Class.getConstructor0(未知源)
位于java.lang.Class.newInstance(未知源)
位于com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter$1.run(未知源)
在java.awt.event.InvocationEvent.dispatch(未知源)处
位于java.awt.EventQueue.dispatchEventImpl(未知源)
位于java.awt.EventQueue.access$200(未知源)
在java.awt.EventQueue$3.run处(未知源)
在java.awt.EventQueue$3.run处(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(未知源)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(未知源)
在java.awt.EventQueue$4.run处(未知源)
在java.awt.EventQueue$4.run处(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(未知源)
位于java.awt.EventQueue.dispatchEvent(未知源)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(未知源)
位于java.awt.EventDispatchThread.pumpEventsForFilter(未知源)
位于java.awt.EventDispatchThread.pumpEventsForHierarchy(未知源)
位于java.awt.EventDispatchThread.pumpEvents(未知源)
位于java.awt.EventDispatchThread.pumpEvents(未知源)
位于java.awt.EventDispatchThread.run(未知源)
抑制:com.sun.deploy.security.RevocationChecker$StatusUnknownException
在com.sun.deploy.security.RevocationChecker.checkCRLs上(未知源)
... 54多
网络:已创建版本ID:1.7.0.51
网络:已创建版本ID:1.7.0.51

试图用谷歌搜索,但没有任何线索。谢谢您的帮助。

您的问题与BouncyCastle和证书生成无关。您正在使用一个Java小程序,Java插件正在尝试验证JAR文件签名。但是,签名证书(或证书链中的一个证书)似乎没有包含CRL服务器或OCSP响应程序URL的适当扩展。因此,签名验证失败,无法使用JAR


一种解决方案是在Java Control Center中停用证书验证(在“高级”选项卡上的“执行证书吊销检查”选项中,选择“无验证”)。请注意,这是不推荐的用于日常使用,但可用于测试目的(例如在开发过程中,小程序使用开发/自签名证书进行签名)。

我在Java.com上运行Java版本检查器时发现了相同的问题<代码>https://www.java.com/en/download/installed.jsp。这是否意味着Java错误地发布了他们的证书或jar?