sni

Apache HTTPS reverse proxy with SNI without key on the proxy

拥有回忆 提交于 2019-12-10 13:32:11
问题 example1.com and example2.com resolve to host0. host0 runs an Apache reverse proxy with two VirtualHosts. It delegates requests for example1.com to host1 and for example2.com to host2. Using http in all places, that clearly can be made to work. Using https, I could stick the keys for example1.com and example2.com on host0, and then have host0 talk http or https to host1 and host2. Given SNI, that should work, too. My question: can it be made to work without the example1.com or example2.com

Play2 : Support for Server Name Indication

故事扮演 提交于 2019-12-10 11:49:22
问题 Does Play2.0.x support Server Name Indication? A pointer to docs or examples would be great. I have the typical use case: I want to use name-based virtual hosting of "unrelated" Play2 appservers behind a shared load-balancer, doing SSL termination at the individual appservers. 回答1: Java 7 now supports SNI, but only on the client-side. This will be a problem if you want to to handle the connections directly from Java. However, being behind a load-balancer should help you. If it can handle SNI

Server Name Indication from C#

佐手、 提交于 2019-12-08 18:01:08
问题 As far as I can tell, there seems to be a big limitation in .NET in that there is no way using C# and .NET to make an TLS connection that uses Server Name Indication (SNI). Have I missed something or is my understanding correct? Does anybody know if and how I could make an SNI connection using OpenSSL.NET, libcurl.NET or some other 3rd party .NET library? Some sample code would be very much appreciated. 回答1: In my .Net 4.5 project the following fails for a server using SNI: var url = "https:/

Force SSL and handle browsers without SNI support

馋奶兔 提交于 2019-12-08 07:59:39
问题 I was looking for a way to redirect webbrowsers with SNI support from http to https AND webbrowsers without SNI support from https to http. The second case is important, for example, if the user get a https url sent by mail and opens that with an old browser. I wanted to avoid working with user-agents, because I didn't want to keep track of new browser versions and update the config files, e.g. .htaccess, accordingly. Therefore, I use javascript to detect SNI support and redirect the

Certificate chain different between HTTPSURLconnection and Apache (System) DefaultHttpClient

半腔热情 提交于 2019-12-08 05:26:46
问题 I am facing a weird issue wrto Apache HTTPS client. I am trying to connect to an external HTTPS website which has basic authentication turned on (SSL server authenticaion only). Here is the summary of my tests and conclusions. Use a either of Chrome/Firefox/IE to connect to the website -> success Use javax.net.ssl.HttpsURLConnection -> success Use either of DefaultHttpClient or SystemDefaultHttpClient -> failure I tried to debug by enabling "javax.net.debug" to "ssl". I noticed that both the

Modifying TLS SNI with HttpClient or HttpWebRequest

折月煮酒 提交于 2019-12-08 02:05:38
问题 This question is the equivalent of this Go question in which it was trivial (albeit rather hacky) to obtain the desired behavior: I am looking for a way to modify the TLS SNI information that ultimately ends up in the TCP segments created when using the high-level web clients in .NET. The final paragraph in this answer suggests that a hack would be to do something like static void Main(string[] args) { HttpResponseMessage response; var httpRequestMessage = new HttpRequestMessage(HttpMethod

Java 8 https connection fails on some sites

偶尔善良 提交于 2019-12-07 11:41:35
问题 I cannot access some of https resources. Please help to make https calls reliable. Examples I put here tested from Firefox browser, to ensure they are works properly. $ java -version openjdk version "1.8.0_121" OpenJDK Runtime Environment (build 1.8.0_121-8u121-b13-1~bpo8+1-b13) OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode) I also checked website where https connection works and others, that are fail( errors samples here) are seems use same connection encryption: TLS_ECDHE_RSA_WITH

Force SSL and handle browsers without SNI support

有些话、适合烂在心里 提交于 2019-12-06 16:01:34
I was looking for a way to redirect webbrowsers with SNI support from http to https AND webbrowsers without SNI support from https to http. The second case is important, for example, if the user get a https url sent by mail and opens that with an old browser. I wanted to avoid working with user-agents, because I didn't want to keep track of new browser versions and update the config files, e.g. .htaccess, accordingly. Therefore, I use javascript to detect SNI support and redirect the webbrowser. The following code checks whether the connection is SSL secured. If not SSL secured, it checks for

Modifying TLS SNI with HttpClient or HttpWebRequest

我是研究僧i 提交于 2019-12-06 05:24:14
This question is the equivalent of this Go question in which it was trivial (albeit rather hacky) to obtain the desired behavior: I am looking for a way to modify the TLS SNI information that ultimately ends up in the TCP segments created when using the high-level web clients in .NET. The final paragraph in this answer suggests that a hack would be to do something like static void Main(string[] args) { HttpResponseMessage response; var httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, "https://desiredsni.com"); httpRequestMessage.Headers.Add("Host", "example.com"); var handler = new

TLS extension “Server Name Indication” (SNI): value not available on server side

可紊 提交于 2019-12-06 00:58:34
Based on the JSSE examples, I'm trying to get the value of the TLS parameter "Server Name Indication" (SNI) on the server side - without success. I'm sure that the value is sent by the client since I used a network sniffer (Wireshark) that shows the value. But when I use the following code fragment, the list of server name parameters is empty (while the "protocols" are shown): public void connectionAccepted(Socket socket) { System.out.println("Connection accepted!"); try { /* get SNI parameter */ SSLSocket sslSocket = (SSLSocket)socket; SSLParameters sslParams = sslSocket.getSSLParameters();