jjzjj

SSLContext

全部标签

ruby - 如何在 Ruby 中设置 SSLContext 选项

我需要在Ruby1.8+中创建一个SSLSocket来与加密服务对话。我想在SSLContext对象上设置SSL选项(它最终调用底层OpenSSL库中的SSL_CTX_set_options)。我没有看到任何明显的方法来做到这一点。这是使用OpenSSL::SSL::SSLContext接口(interface)。作为引用点,这类似于调用set_options()在Python的pyOpenSSL库中。 最佳答案 例子:ctx=OpenSSL::SSL::SSLContext.newctx.set_params(:options=>

java - 获取 Java 中默认系统信任库的 SSLContext(JSEE)

我一直在我的程序中使用自定义keystore,方法是指定javax.net.ssl.keyStore、javax.net.ssl.keyStorePassword、javax。net.ssl.trustStore,javax.net.ssl.trustStorePassword。我的信任库包含自签名证书。现在我想发出一些https请求(比如https://google.com)并使用包含不同CA信息的默认jre系统trusstore。要发出http请求,我使用OkHttp库。它的客户端可以选择指定SslSocketFactory,但要获得它,我需要为默认的jre信任库初始化SSLCon

java - 如何以编程方式在磁盘上查找当前信任库?

是否有任何函数可以告诉我我的程序中当前使用的信任库是什么?在Windows上,默认信任库位于JAVA_HOME\lib\security\cacerts。但是,可以通过多种方式更改默认值。在命令行中使用-Djavax.net.ssl.keyStore使用Keystore类。如果程序在运行应用程序的应用服务器上运行,可以通过它的面板设置存储路径。如果程序在Tomcat上运行,则Tomcat设置可能会更改信任库。以及许多其他方式。是否有一种编程方式可以找出当前处于Activity状态的信任库的磁盘路径? 最佳答案 一般来说,你不能(这与

Java 忽略证书验证

我正在尝试创建一些连接到自签名HTTPS服务器的示例Java项目。我似乎无法让Java停止尝试验证证书。我不想信任这个证书,我只想完全忽略所有证书验证;该服务器在我的网络内,我希望能够运行一些测试应用程序而不必担心证书是否有效。java-Dcom.sun.net.ssl.checkRevocation=falseHelloWorldorg.apache.axis2.AxisFault:Connectionhasbeenshutdown:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorExceptio

java - 从私钥和 cer 文件创建 SSLContext

我有两个文件:mycer.cermykey.key我需要创建一个SslContext以使用Java通过SSL连接到另一台服务器。我试图找出如何直接从这些文件创建SslContext对象。这篇文章可能重复,但我试图通过创建SslContext的示例找到清晰的解释,但没有找到明确的内容。 最佳答案 获取p12格式的证书,据我所知你不能使用证书文件,有一些实用程序可以做到这一点(比如openssl)或者源代码(从你生成下载证书的地方)可以给你一个p12格式。opensslpkcs12-export-inmycer.crt-inkeymyk

java - 如何动态更新信任库?

我目前已经在我的SpringBoot应用程序中实现了双向TLS,我正在以编程方式进行,如下所示:@BeanpublicServletWebServerFactoryservContainer(){TomcatServletWebServerFactorytomcat=newTomcatServletWebServerFactory();TomcatConnectorCustomizertomcatConnectorCustomizer=newTomcatConnectorCustomizer(){@Overridepublicvoidcustomize(Connectorconnect

java - 网络 SSL : how to write a TrustManager

我已经阅读了很多关于设置我的SSL客户端/服务器系统(无HTTP)的资料。我的灵感来自thesecurechatexample和thewebsocketsslserverexample.已经使用命令创建了我的cert.jks文件keytool-genkey-aliasapp-keysize2048-validity36500-keyalgRSA-dname"CN=app"-keypassmysecret-storepassmysecret-keystorecert.jks在安全聊天示例中有这个类:publicclassSecureChatTrustManagerFactoryexten

java - 在同一主机上使用 Java 中的多个 SSL 客户端证书

在我的Java应用程序中,我需要使用SSL连接到同一主机,但每次都使用不同的证书。我需要使用不同证书的原因是远程站点使用证书中嵌入的用户ID属性来识别客户端。这是一个在3个不同操作系统上运行的服务器应用程序,我需要能够在不重新启动进程的情况下切换证书。Anotheruser建议将多个证书导入同一个keystore。不过,我不确定这对我有帮助,除非有办法告诉Java使用keystore中的哪个证书。 最佳答案 SSL可以向客户端提供关于出示哪个证书的提示。这可能允许您使用一个包含多个身份的key存储,但不幸的是,大多数服务器不使用此提

java - HttpsUrlConnection(通过 Jersey 客户端调用)不调用 set SSLSocketFactory 的 createSocket

查看此问题的底部以获取更多最新信息我试图拦截通过我的Jersey客户端发生的所有SSL握手(以便我可以获得有关它们的信息并向用户呈现视觉信息,很像浏览器中的绿色锁)。不幸的是,Jersey似乎没有使用我的SSLSocketFactory实现,因为没有调用任何createSocket方法。没有错误发生,只是没有记录任何内容。代码应该很清楚:调用+实例化:this.httpClient=getHttpsClient(newDefaultSSLContextProvider());Invocation.BuilderinvBuilder=httpClient.target(API_URL_P

java - 使用 Axis2 附加客户端证书?

是否可以轻松地将客户端证书附加到使用wsdl2java生成的Axis2stub?我需要根据每个请求动态更改客户端证书,因此仅将其存储在keystore中对我们的情况不起作用。我找到了针对非SOAP调用执行此操作的示例,但找不到与使用Axis客户端stub相关的任何内容。我想尝试破解SOAP调用的XML是一种选择,尽管很痛苦!呻吟! 最佳答案 如果您想根据建立的连接更改使用的证书,您需要配置SSLContext这样做,如本答案中所述:https://stackoverflow.com/a/3713147/372643据我所知,Axis