Java tlsClientParameters包含具有特殊字符''+&引用;它给出了错误
我使用ApacheCXF端点和Http导管xml作为密钥库证书和密码以及代理设置。 它用于消费SOAP Web服务。 但是我的证书包含一些特殊字符,例如-“+” 请建议一些将密码与特殊字符合并的方法Java tlsClientParameters包含具有特殊字符''+&引用;它给出了错误,java,spring-boot,ssl,cxf,http-conduit,Java,Spring Boot,Ssl,Cxf,Http Conduit,我使用ApacheCXF端点和Http导管xml作为密钥库证书和密码以及代理设置。 它用于消费SOAP Web服务。 但是我的证书包含一些特殊字符,例如-“+” 请建议一些将密码与特殊字符合并的方法 So its gives me exception saying -`Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.cxf.configuratio
So its gives me exception saying -`Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.cxf.configuration.jsse.TLSClientParameters]: Factory method 'createTLSClientParametersFromType' threw exception; nested exception is java.security.UnrecoverableKeyException: Get Key failed: java.security.InvalidKeyException: Invalid RSA private key
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1247)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1096)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:535)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:312)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:131)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1602)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1354)
Caused by: java.security.UnrecoverableKeyException: Get Key failed: java.security.InvalidKeyException: Invalid RSA private key
at sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:435)
at java.security.KeyStore.getKey(KeyStore.java:1023)
at sun.security.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:133)
at sun.security.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:70)
at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:256)
at org.apache.cxf.configuration.jsse.TLSParameterJaxBUtils.getKeyManagers(TLSParameterJaxBUtils.java:306)
at org.apache.cxf.configuration.jsse.TLSClientParametersConfig.createTLSClientParametersFromType(TLSClientParametersConfig.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Caused by: java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: Invalid RSA private key
at sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:217)
at java.security.KeyFactory.generatePrivate(KeyFactory.java:372)
at sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:399)
at java.security.KeyStore.getKey(KeyStore.java:1023)
at sun.security.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:133)
at sun.security.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:70)
at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:256)
at org.apache.cxf.configuration.jsse.TLSParameterJaxBUtils.getKeyManagers(TLSParameterJaxBUtils.java:306)
at org.apache.cxf.configuration.jsse.TLSClientParametersConfig.createTLSClientParametersFromType(TLSClientParametersConfig.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Caused by: java.security.InvalidKeyException: Invalid RSA private key
at sun.security.rsa.RSAPrivateCrtKeyImpl.parseKeyBits(RSAPrivateCrtKeyImpl.java:214)
at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:343)
at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:357)
at sun.security.rsa.RSAPrivateCrtKeyImpl.<init>(RSAPrivateCrtKeyImpl.java:91)
at sun.security.rsa.RSAPrivateCrtKeyImpl.newKey(RSAPrivateCrtKeyImpl.java:75)
at sun.security.rsa.RSAKeyFactory.generatePrivate(RSAKeyFactory.java:316)
at sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:213)
at java.security.KeyFactory.generatePrivate(KeyFactory.java:372)
at sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:399)
at java.security.KeyStore.getKey(KeyStore.java:1023)
Caused by: java.io.IOException: DerInputStream.getLength(): Redundant length bytes found
at sun.security.util.DerInputStream.getLength(DerInputStream.java:606)
at sun.security.util.DerInputStream.getLength(DerInputStream.java:569)
at sun.security.util.DerInputStream.getPositiveBigInteger(DerInputStream.java:220)
at sun.security.rsa.RSAPrivateCrtKeyImpl.parseKeyBits(RSAPrivateCrtKeyImpl.java:205)
at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:343)
at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:357)
at sun.security.rsa.RSAPrivateCrtKeyImpl.<init>(RSAPrivateCrtKeyImpl.java:91)
at sun.security.rsa.RSAPrivateCrtKeyImpl.newKey(RSAPrivateCrtKeyImpl.java:75)
at sun.security.rsa.RSAKeyFactory.generatePrivate(RSAKeyFactory.java:316)
at sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:213)`
所以它给了我一个异常,说-`Caused by:org.springframework.beans.beanInstationException:未能实例化[org.apache.cxf.configuration.jsse.TLSClientParameters]:工厂方法'createTLSClientParametersFromType'引发了异常;嵌套异常为java.security.UnrecoverableKeyException:获取密钥失败:java.security.InvalidKeyException:无效的RSA私钥
位于org.springframework.beans.factory.support.SimpleInstallationStrategy.instantiate(SimpleInstallationStrategy.java:185)
位于org.springframework.beans.factory.support.ConstructorResolver.InstanceUsingFactoryMethod(ConstructorResolver.java:582)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.InstanceUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1247)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1096)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:535)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495)
位于org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:312)
在org.springframework.beans.factory.support.BeanDefinitionValueResolver.ResolveValueIfNeeded上(BeanDefinitionValueResolver.java:131)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1602)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1354)
原因:java.security.UnrecoverableKeyException:获取密钥失败:java.security.InvalidKeyException:无效的RSA私钥
位于sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:435)
位于java.security.KeyStore.getKey(KeyStore.java:1023)
位于sun.security.ssl.SunX509KeyManagerImpl.(SunX509KeyManagerImpl.java:133)
位于sun.security.ssl.keymanagerfactorympl$SunX509.engineInit(keymanagerfactorympl.java:70)
位于javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:256)
位于org.apache.cxf.configuration.jsse.TLSParameterJaxBUtils.getKeyManagers(TLSParameterJaxBUtils.java:306)
位于org.apache.cxf.configuration.jsse.TLSClientParametersConfig.createTLSClientParametersFromType(TLSClientParametersConfig.java:113)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
原因:java.security.spec.InvalidKeySpecException:java.security.InvalidKeyException:无效的RSA私钥
位于sun.security.rsa.RSAKeyFactory.EngineeGeneratePrivate(RSAKeyFactory.java:217)
位于java.security.KeyFactory.generatePrivate(KeyFactory.java:372)
位于sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:399)
位于java.security.KeyStore.getKey(KeyStore.java:1023)
位于sun.security.ssl.SunX509KeyManagerImpl.(SunX509KeyManagerImpl.java:133)
位于sun.security.ssl.keymanagerfactorympl$SunX509.engineInit(keymanagerfactorympl.java:70)
位于javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:256)
位于org.apache.cxf.configuration.jsse.TLSParameterJaxBUtils.getKeyManagers(TLSParameterJaxBUtils.java:306)
位于org.apache.cxf.configuration.jsse.TLSClientParametersConfig.createTLSClientParametersFromType(TLSClientParametersConfig.java:113)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
原因:java.security.InvalidKeyException:无效的RSA私钥
位于sun.security.rsa.RSAPrivateCrtKeyImpl.parseKeyBits(RSAPrivateCrtKeyImpl.java:214)
位于sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:343)
位于sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:357)
位于sun.security.rsa.RSAPrivateCrtKeyImpl.(RSAPrivateCrtKeyImpl.java:91)
位于sun.security.rsa.RSAPrivateCrtKeyImpl.newKey(RSAPrivateCrtKeyImpl.java:75)
位于sun.security.rsa.RSAKeyFactory.generatePrivate(RSAKeyFactory.java:316)
位于sun.security.rsa.RSAKeyFactory.EngineeGeneratePrivate(RSAKeyFactory.java:213)
位于java.security.KeyFactory.generatePrivate(KeyFactory.java:372)
位于sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:399)
位于java.security.KeyStore.getKey(KeyStore.java:1023)
原因:java.io.IOException:DerInputStream.getLength():找到冗余长度字节
位于sun.security.util.DerInputStream.getLength(DerInputStream.java:606)
位于sun.security.util.DerInputStream.getLength(DerInputStream.java:569)
位于sun.security.util.DerInputStream.getPositiveBigInteger(DerInputStream.java:220)
位于sun.security.rsa.RSAPrivateCrtKeyImpl.parseKeyBits(RSAPrivateCrtKeyImpl.java:205)
位于sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:343)
位于sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:357)
位于sun.security.rsa.RSAPrivateCrtKeyImpl.(RSAPrivateCrtKeyImpl.java:91)
位于sun.security.rsa.RSAPrivateCrtKeyImpl.newKey(RSAPrivateCrtKeyImpl.java:75)
位于sun.security.rsa.RSAKeyFactory.generatePrivate(RSAKeyFactory.java:316)
位于sun.security.rsa.RSAKeyFactory.EngineeGeneratePrivate(RSAKeyFactory.java:213)`