Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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 我为一个项目创建了一个CipherSpi类的实例,我得到;JCE无法对提供程序进行身份验证;_Java_Securityexception - Fatal编程技术网

Java 我为一个项目创建了一个CipherSpi类的实例,我得到;JCE无法对提供程序进行身份验证;

Java 我为一个项目创建了一个CipherSpi类的实例,我得到;JCE无法对提供程序进行身份验证;,java,securityexception,Java,Securityexception,我正在做一个项目,在这个项目中,我们的工作的一部分是重新制作密码算法和其他算法,然后使用JCA(java脚本体系结构)规则使用它们 我创建了一个提供多个类的提供者。在我尝试使用getInstance()之前,一切似乎都运行良好。 我为KeyAgreement的不同用法创建了一个DH(ExtendedKeyAgreementSPI)类 KeyAgreement dh = KeyAgreement.getInstance("DH", myProvider); 我得到: Exception

我正在做一个项目,在这个项目中,我们的工作的一部分是重新制作密码算法和其他算法,然后使用JCA(java脚本体系结构)规则使用它们

我创建了一个提供多个类的提供者。在我尝试使用getInstance()之前,一切似乎都运行良好。 我为KeyAgreement的不同用法创建了一个DH(ExtendedKeyAgreementSPI)类

KeyAgreement dh = KeyAgreement.getInstance("DH", myProvider);
我得到:

    Exception in thread "Thread-0" java.lang.SecurityException: JCE cannot authenticate the provider Ts001Proj1Provider
at javax.crypto.JceSecurity.getInstance(JceSecurity.java:114)
at javax.crypto.KeyAgreement.getInstance(KeyAgreement.java:263)
at fcul.ts001.proj1.SecuredStream.(SecuredStream.java:194)
at fcul.ts001.proj1.SecureStreamTest.run(SecureStreamTest.java:24)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.SecurityException: Cannot verify jar:file:/*pathToProject*/proj/Main/bin/!/
at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:406)
at javax.crypto.JarVerifier.verifyJars(JarVerifier.java:322)
at javax.crypto.JarVerifier.verify(JarVerifier.java:250)
at javax.crypto.JceSecurity.verifyProviderJar(JceSecurity.java:161)
at javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:187)
at javax.crypto.JceSecurity.getInstance(JceSecurity.java:110)
... 4 more
Caused by: java.security.PrivilegedActionException: java.io.FileNotFoundException: *pathToProject*\proj\Main\bin (Access is denied)
at java.security.AccessController.doPrivileged(Native Method)
at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:384)
... 9 more
Caused by: java.io.FileNotFoundException: *pathToProject*\proj\Main\bin (Access is denied)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:214)
at java.util.zip.ZipFile.(ZipFile.java:144)
at java.util.jar.JarFile.(JarFile.java:153)
at java.util.jar.JarFile.(JarFile.java:90)
at sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:93)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69)
at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:98)
at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122)
at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:89)
at javax.crypto.JarVerifier$2.run(JarVerifier.java:399)
... 11 more
最好的部分是该代码执行良好:
KeyPairGenerator dhKeyPairGen=KeyPairGenerator.getInstance(“DH”,myProvider)

为什么我会得到它


我正在使用win6.1 x64

除了实现一个类之外,还有很多其他功能。首先,您必须获得提供商认证。你为什么这么做