我想访问在Webogic的Web应用程序中,在WebLogic的自定义密钥库配置中配置的身份密钥库(JKS).我如何在不依赖以下环境属性的情况下揭露此信息:-djavax.net.ssl.keystore,-djavax.net.ssl.kekeystorepassword. 解决方案 您可以将以下代码用作起点. 几个注释: 执行代码的用户需要属于一个称为OracleSystemGroup 的组 密钥库是从文件系统加载的,而EJB规范不建议.但是我认为可以安全地完成文件读取. java.lang.String中包含的密钥库密码,不建议使用. 由于这些缺点,我正在研究一种更好的方法.我一直在尝试找到一项博客服务,该服务将为身份店中访问证书和钥匙提供服务.看来没有一个. InitialContext ic = new InitialContext(); MBeanServer server = (MBeanServer) ic.lookup("java:c
以下是关于 keystore 的编程技术问答
在我的Java应用程序中,我正在使用提供的 -djavax.net.ssl.truststore 系统属性,如下所示. -Djavax.net.ssl.trustStore=/myapp/app.jks -Djavax.net.ssl.trustStorePassword=XXXXX -Djavax.net.ssl.trustStoreType=jks -Djavax.net.debug=ssl 这是我完整的命令行: $JAVA_HOME/bin/java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Xms512m -Xmx1024m -XX:MaxPermSize=192m -Djavax.net.ssl.trustStore=/myapp/app.jks -Djavax.net.ssl.keyStore=/myapp/app.jks -Djavax.net.ssl.trustStorePassword=
我在SSL支持的情况下构建了弹簧靴可执行战争. 我的application.properties文件是: server.port = 8443 server.ssl.key-store = classpath:keystore.jks server.ssl.key-store-password = secret server.ssl.key-password = another-secret 战争文件包含" keystore.jks"文件.但是我有奇怪的例外: org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Could not find key
你好Android编码器. 我正在尝试从我的Android代码中进行HTTPS安全调用.该呼叫在仿真器上正常,但是在实际的三星星系设备上,我会遇到SSL错误. 我使用疯狂的鲍勃方法来处理cetificate. 这是疯狂的鲍勃链接: android-trusting-ssl-certificates.html . 问题是我遇到了一个错误:自定义SSLSOCKETCOCTFACTORY对象中的"键库的错误版本". 关于如何解决此问题的任何建议? 谢谢. 解决方案 您是否使用充气城堡格式创建了钥匙店?使用Keytool创建密钥库时,所有这3个参数都是必须的(尤其是密钥库类型必须 be BKS): -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath /path/to/bouncycastle.jar Android使
我使用的是一个需要密钥库和信任店文件的z/os java jar. 我已经将所有文件都放在Z/OS UNIX目录(Mainfame). 执行JAR时,我会收到"无效的密钥库文件格式"错误.当我在密钥库文件上的本地计算机上使用键盘时,命令成功.在遥控器(ZOS UNIX)上使用Keytool命令时,我会遇到格式错误.文件以二进制格式发送. 是否有一种特殊的方式将文件传输到MF Unix? 解决方案 根据我是否需要转换(例如,从UTF-8到IBM-1047),我使用三种主要方式将文件传输到z/OS USS. 转换: scp工作起作用,并在传输时会翻译文件字符.注意:这是一种IBM行为,从分布式系统转移到分布式系统时,通常不会看到它.这真的很烦人. ftp使用ASCII模式 没有转换: ftp将转移模式设置为binary sftp 选择基于环境中客户端最有意义的选项.
i具有以下方法,我需要为其编写单元测试.但是我不能监视类钥匙店.它抛出以下异常. org.mockito.exceptions.base.MockitoException: Unable to create mock instance of type 'KeyStore' 我可以嘲笑它.但是,当我去分配模拟方法的行为时,它会引发异常.我打电话给的方法,我得到的例外如下. when(keyStoreMock.getCertificate(anyString())).thenReturn(certificateMock); java.security.KeyStoreException: Uninitialized keystore doNothing().when(keyStoreMock).load(any(InputStream.class),Mockito.any(char[].class)); java.lang.NullPointerException
我有一个应用程序,可以提供安装CA CERT的选项,并将其存储在 trusted凭据的用户选项卡中,并且可以按预期工作. fyi (这是我安装证书的方式): Intent installIntent = KeyChain.createInstallIntent(); javax.security.cert.X509Certificate x509 = javax.security.cert.X509Certificate.getInstance(caRootCertBytes); installIntent.putExtra(KeyChain.EXTRA_CERTIFICATE, x509.getEncoded()); installIntent.putExtra(KeyChain.EXTRA_NAME,caRootCertName); startActivity(installIntent); 如果应用程序为 我希望卸载申请时卸载证书. 我想到使用 fyi (我
我有Ubuntu的新安装18.04.我的构建(例如Maven和Gradle)访问存储库HTTPS的构建问题是: : java.security.invalidalgorithmparameterexception:信任者参数必须是非空的 尝试使用以下命令从密钥库访问证书时: keytool -list -keystore /etc/ssl/certs/java/cacerts 我会使用密码提示,这不是问题,但是如果我只按Enter不输入密码,则不会显示任何条目. 如果我输入密码,则所有证书都正常出现.我要做的就是添加所有Java应用程序以下系统prop:javax.net.ssl.trustStorePassword=changeit 那么一切正常工作.我做错了什么? 编辑: 这是Cacerts现在的权限: -rw-r--r-- 1 root root 167K jun 8 11:21 /etc/ssl/certs/java/cac
尝试在Windows 10中使用JDK10在Tomcat 9中设置SSL.当我遵循在线教程中使用"更改"的默认密码创建Java密钥库时,所有内容都可以正常工作,而Tomcat则没有错误. 但是,如果我使用"更改"以外的其他密钥库密码创建一个密钥库,则tomcat会引发此错误: Caused by: java.lang.IllegalArgumentException: keystore password was incorrect 这是创建一个密钥库的命令: keytool -genkey -alias tomcat -keyalg RSA -keystore c:\certificates\tomcatkeystore 这是有效的SSL连接器.
我使用以下命令创建了一个私钥和CSR文件 openssl req -nodes -newkey rsa:2048 -sha1 -keyout myserver.key -out server.csr 输出的两个文件是 myserver.key server.csr 我将server.csr文件上传到网络解决方案,然后返回4个" CRT"文件. addtrustexternalcaroot.crt ov_networksolutionsovserverca2.crt ov_usertrustrustrustrustificationauthority.crt star.{mydomain} .ca.crt 如何从我拥有的文件中创建一个密钥库,并在server.xml文件中的tomcat 7中进行配置. 解决方案 可能最简单的方法: 下载 keystore Explorer 启动KSE并选择"创建新的密钥库",选择" JKS" 在"
我有一个在Tomcat中运行的Web应用程序,该应用程序正在向另一个系统进行Web服务调用.我需要使用SSL和客户端身份验证来确保此通话.我托管的Tomcat已经适当地配置了一个特定环境的信托店和密钥库,因此我需要使用这些商店来确保自己的呼叫.这就是我卡住的地方. 如何找到Tomcat配置的密钥库和信任店来进行我自己的SSL调用?或者更好,可以使用这些值生成正确配置的SSLContext或SSLSocketFactory? 我尝试过的事情: 我尝试依靠sslContext.getDefault().这似乎没有设置. 我尝试依靠系统属性: System.getProperty("javax.net.ssl.trustStore"); System.getProperty("javax.net.ssl.trustStorePassword"); System.getProperty("javax.net.ssl.trustStoreType"); System.
春季启动版本: 1.5.4.Release 我当前在设置我的server.ssl.key-store-password>在我的春季启动应用程序的代码中遇到问题.我们将密码存储在保险库中,然后我以前是通过A -D属性传递的.但是,这不是我们的理想解决方案. 解决方案似乎很简单,下面是我所做的: @Bean public ServletContextInitializer initializer() { final String keyStorePassword; // ... Get Password return servletContext -> servletContext.setInitParameter("server.ssl.key-store-password", keyStorePassword); } 根据这应该没问题,因为ServletConfig在application.properties之前加载.application
我正在创建一个要在tomcat中使用的密钥库,但是我会收到" java.util.illegalformatconversionexception:d!= java.lang.string"的错误.这仅在Linux(CentOS7)中发生,而在Windows中不发生. 我用 创建了密钥库 keytool -genkey -keyalg RSA -alias client -keystore testkeystore -storepass mypassword -validity 3650 试图用 导入证书 keytool -import -alias arubaauth -trustcacerts -keystore testkeystore -file root_autenticazione_ATe.cer 相同的命令和同一证书在Windows中没有显示任何错误. 怎么了? 预先感谢 解决方案 我认为问题来自Java 8.151和Java 9中
我是Docker的新手,并试图学习它.我在Windows 7上使用Docker Quickstart终端. 我有一个简单的要求,即我在Docker容器中使用Tomcat.我的Dockerfile如下: FROM tomcat:8.0.47-jre7 RUN cd /usr/local/tomcat/webapps COPY test.war /usr/local/tomcat/webapps/test.war 然后,我在Docker控制台中发布简单的构建并运行命令. test.war是Java网络服务.此Web服务在内部使用HTTPS在远程主机上调用其他网络服务. 我有远程主机的证书. 我尝试在Internet上可用的几种方法,将这些证书导入或将这些证书复制到不同论坛/博客上提到的不同位置,但徒劳无功.每当我使用https从test.war中调用外部网络服务时,它会给我带来SSL握手错误. 我也有一个Java密钥库.我也尝试在Docker文件中使用Java并尝
我无法从Rapidssl上购买我的证书,但在Apache上工作. Rapidssl要求您安装2个中间CA文件. 当我从私钥,证书和中介CA创建一个密钥库时:我可以看到 Entry type: PrivateKeyEntry Certificate chain length: 1 似乎没有拿起两个中级证书或类似的东西. 我有 私钥 证书 来自Rapidssl的主要和次要CA:S(如PEM,PKCS7和分离.crt) 我可以在具有以下设置的Apache服务器上使用: SSLCertificateFile /root/ssl_certs/rapidssl.crt SSLCertificateKeyFile /root/ssl_certs/privatekey.key SSLCACertificateFile /root/ssl_certs/intermediate.crt 我听说过一种叫做根证书的东西,我不知道那是什么.那是我需要的吗?
我已购买并安装在Tomcat中的SSL证书.我创建了tomcat.keystore文件,这些文件也包括在server.xml文件中,还放置了密码,但无法理解keyAlias="aaa".如果我将keyalias =" localhost"放置,那么我会得到以下例外.如果我从连接器标签中删除keyAlias本身,那么我将获得另一个例外,下面给出了下一个localhost例外. java.io.IOException: Alias name localhost does not identify a key entry at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:588) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFact
使用SSL和TOMCAT遇到了另一个问题:我配置了一个包含密钥和证书的密钥库(我希望向连接到网站的客户端提供的服务器证书).我已经为信托店做了同样的事情(我需要客户身份验证). 我现在遇到的问题是,当我通过https连接到我的tomcat实例时,给我的证书(服务器证书)不是我的实际服务器证书,而是 key JKS Keystore.使用-djavax.net.debug = ssl揭示了它为客户端身份验证提供了正确的CA,但不是正确的服务器证书. adding as trusted cert: Subject: CN=A Issuer: CN=A Algorithm: RSA; Serial number: - Valid from Tue Nov 10 14:48:31 CET 2009 until Mon Feb 08 14:48:31 CET 2010 adding as trusted cert: Subject: X Issuer: X
我使用OpenSSL可执行文件在控制台上创建了一个键和CSR. 然后,我将企业社会责任发送到CA,然后退回证书.现在我想将其导入tomcat. 所以我从密钥和证书中创建了一个PKCS#12文件: openssl pkcs12 -export -in mycert.cert -inkey mykey.pem -out key_and_cert.p12 然后创建一个包含它的密钥库: keytool -importkeystore -deststorepass [password] -destkeystore keystore.jks -srckeystore key_and_cert.p12 -srcstoretype PKCS12 -srcstorepass [password] 然后我导入中间证书链: keytool -import -trustcacerts -alias root -file chain.crt -keystore keystore.j