[ 
https://issues.apache.org/jira/browse/CONNECTORS-1564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16745267#comment-16745267
 ] 

Michael Osipov commented on CONNECTORS-1564:
--------------------------------------------

OK friends, here is minimal working example with HttpClient 4.5.6 against 
latest Apache Web Server:

Anonymous endpoint:
{code:java}
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;

import org.apache.http.HttpEntity;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;

public class ExpectContinueTest {

        public static void main(String[] args) throws IOException {
                HttpClientBuilder builder = HttpClientBuilder.create();
                RequestConfig rc = 
RequestConfig.custom().setExpectContinueEnabled(true).build();
                builder.setDefaultRequestConfig(rc);

                try (CloseableHttpClient httpClient = builder.build();
                                InputStream is = 
Files.newInputStream(Paths.get("D:", "metadata.dmp"))) {

                        HttpPost method = new HttpPost(
                                        
"https://blnn719x.ad001.siemens.net/~osipovmi/CONNECTORS-1564.php";);
                        HttpEntity entity = new InputStreamEntity(is);
                        method.setEntity(entity);
                        CloseableHttpResponse response = 
httpClient.execute(method);
                        EntityUtils.consumeQuietly(response.getEntity());
                        response.close();

                }

        }

}
{code}

Log ouput:
{noformat}
655 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec 
selected: default
665 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache 
not set in the context
666 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection request: [route: {s}->https://blnn719x.ad001.siemens.net:443][total 
kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
683 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection leased: [id: 0][route: 
{s}->https://blnn719x.ad001.siemens.net:443][total kept alive: 0; route 
allocated: 1 of 2; total allocated: 1 of 20]
684 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening 
connection {s}->https://blnn719x.ad001.siemens.net:443
695 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connecting to blnn719x.ad001.siemens.net/147.54.64.19:443
695 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - 
Connecting socket to blnn719x.ad001.siemens.net/147.54.64.19:443 with timeout 0
754 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
protocols: [TLSv1, TLSv1.1, TLSv1.2]
754 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
cipher suites:[TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, 
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, 
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, 
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
754 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Starting 
handshake
938 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Secure 
session established
939 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated protocol: TLSv1.2
939 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
939 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
principal: CN=blnn719x.ad001.siemens.net, OU=PD LD AP DW, O=Siemens, C=DE
939 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
alternative names: [blnn719x.ad001.siemens.net]
939 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  issuer 
principal: CN=Siemens Issuing CA Intranet Server 2017, OU=Siemens Trust Center, 
SERIALNUMBER=ZZZZZZB7, O=Siemens, L=Muenchen, ST=Bayern, C=DE
942 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connection established 147.54.65.49:56942<->147.54.64.19:443
942 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing 
request POST /~osipovmi/CONNECTORS-1564.php HTTP/1.1
942 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Target auth 
state: UNCHALLENGED
943 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Proxy auth 
state: UNCHALLENGED
944 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> POST 
/~osipovmi/CONNECTORS-1564.php HTTP/1.1
944 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> 
Transfer-Encoding: chunked
944 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: 
blnn719x.ad001.siemens.net
944 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: 
Keep-Alive
944 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: 
Apache-HttpClient/4.5.6 (Java/1.8.0_181)
944 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Expect: 
100-continue
944 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: 
gzip,deflate
951 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 100 
Continue
1112 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
1112 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Thu, 17 
Jan 2019 16:09:43 GMT
1112 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Server: 
Apache/2.4.37 (FreeBSD) OpenSSL/1.0.2q PHP/7.2.13 SVN/1.9.9 
mod_auth_gssapi/1.6.1
1112 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Frame-Options: 
SAMEORIGIN
1112 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Powered-By: 
PHP/7.2.13
1112 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 0
1112 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Keep-Alive: 
timeout=300, max=1000
1112 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Connection: 
Keep-Alive
1112 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: 
text/html; charset=UTF-8
1117 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection 
can be kept alive for 300000 MILLISECONDS
1118 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager 
- Connection [id: 0][route: {s}->https://blnn719x.ad001.siemens.net:443] can be 
kept alive for 300.0 seconds
1118 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection 
- http-outgoing-0: set socket timeout to 0
1118 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager 
- Connection released: [id: 0][route: 
{s}->https://blnn719x.ad001.siemens.net:443][total kept alive: 1; route 
allocated: 1 of 2; total allocated: 1 of 20]
1121 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager 
- Connection manager is shutting down
1121 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection 
- http-outgoing-0: Close connection
1122 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager 
- Connection manager shut down
{noformat}

Basic endpoint:
{code:java}
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;

import org.apache.http.HttpEntity;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;

public class ExpectContinueTest {

        public static void main(String[] args) throws IOException {
                HttpClientBuilder builder = HttpClientBuilder.create();
                RequestConfig rc = 
RequestConfig.custom().setExpectContinueEnabled(true).build();
                builder.setDefaultRequestConfig(rc);

                try (CloseableHttpClient httpClient = builder.build();
                                InputStream is = 
Files.newInputStream(Paths.get("D:", "metadata.dmp"))) {

                        HttpPost method = new HttpPost(
                                        
"https://blnn719x.ad001.siemens.net/~osipovmi/basic/CONNECTORS-1564.php";);
                        HttpEntity entity = new InputStreamEntity(is);
                        method.setEntity(entity);
                        CloseableHttpResponse response = 
httpClient.execute(method);
                        EntityUtils.consumeQuietly(response.getEntity());
                        response.close();

                }

        }

}
{code}

No credentials provided:
{noformat}
679 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec 
selected: default
695 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache 
not set in the context
696 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection request: [route: {s}->https://blnn719x.ad001.siemens.net:443][total 
kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
712 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection leased: [id: 0][route: 
{s}->https://blnn719x.ad001.siemens.net:443][total kept alive: 0; route 
allocated: 1 of 2; total allocated: 1 of 20]
714 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening 
connection {s}->https://blnn719x.ad001.siemens.net:443
726 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connecting to blnn719x.ad001.siemens.net/147.54.64.19:443
726 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - 
Connecting socket to blnn719x.ad001.siemens.net/147.54.64.19:443 with timeout 0
785 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
protocols: [TLSv1, TLSv1.1, TLSv1.2]
785 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
cipher suites:[TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, 
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, 
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, 
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
785 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Starting 
handshake
956 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Secure 
session established
956 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated protocol: TLSv1.2
956 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
956 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
principal: CN=blnn719x.ad001.siemens.net, OU=PD LD AP DW, O=Siemens, C=DE
956 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
alternative names: [blnn719x.ad001.siemens.net]
956 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  issuer 
principal: CN=Siemens Issuing CA Intranet Server 2017, OU=Siemens Trust Center, 
SERIALNUMBER=ZZZZZZB7, O=Siemens, L=Muenchen, ST=Bayern, C=DE
960 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connection established 147.54.65.49:57003<->147.54.64.19:443
960 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing 
request POST /~osipovmi/basic/CONNECTORS-1564.php HTTP/1.1
960 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Target auth 
state: UNCHALLENGED
960 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Proxy auth 
state: UNCHALLENGED
961 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> POST 
/~osipovmi/basic/CONNECTORS-1564.php HTTP/1.1
961 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> 
Transfer-Encoding: chunked
961 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: 
blnn719x.ad001.siemens.net
961 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: 
Keep-Alive
961 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: 
Apache-HttpClient/4.5.6 (Java/1.8.0_181)
961 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Expect: 
100-continue
961 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: 
gzip,deflate
970 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 401 
Unauthorized
970 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Thu, 17 Jan 
2019 16:13:47 GMT
970 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Server: 
Apache/2.4.37 (FreeBSD) OpenSSL/1.0.2q PHP/7.2.13 SVN/1.9.9 
mod_auth_gssapi/1.6.1
970 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Frame-Options: 
SAMEORIGIN
970 [main] DEBUG org.apache.http.headers - http-outgoing-0 << WWW-Authenticate: 
Basic realm="CONNECTORS-1564 Realm"
970 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 
533
970 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Connection: close
970 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: 
text/html; charset=iso-8859-1
972 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - Authentication 
required
972 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - 
blnn719x.ad001.siemens.net:443 requested authentication
972 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Authentication schemes in the order of preference: [Negotiate, Kerberos, NTLM, 
CredSSP, Digest, Basic]
972 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for Negotiate authentication scheme not available
972 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for Kerberos authentication scheme not available
972 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for NTLM authentication scheme not available
972 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for CredSSP authentication scheme not available
972 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for Digest authentication scheme not available
980 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - 
http-outgoing-0: Close connection
981 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection 
discarded
981 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection released: [id: 0][route: 
{s}->https://blnn719x.ad001.siemens.net:443][total kept alive: 0; route 
allocated: 0 of 2; total allocated: 0 of 20]
981 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection manager is shutting down
982 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection manager shut down
{noformat}

Invalid credentials provided:
{code:java}
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;

import org.apache.http.HttpEntity;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.Credentials;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;

public class ExpectContinueTest {

        public static void main(String[] args) throws IOException {
                CredentialsProvider cp = new BasicCredentialsProvider();
                Credentials c = new UsernamePasswordCredentials("expect", 
"magic");
                cp.setCredentials(AuthScope.ANY, c);

                HttpClientBuilder builder = HttpClientBuilder.create();
                RequestConfig rc = 
RequestConfig.custom().setExpectContinueEnabled(true).build();
                builder.setDefaultRequestConfig(rc);
                builder.setDefaultCredentialsProvider(cp);

                try (CloseableHttpClient httpClient = builder.build();
                                InputStream is = 
Files.newInputStream(Paths.get("D:", "metadata.dmp"))) {

                        HttpPost method = new HttpPost(
                                        
"https://blnn719x.ad001.siemens.net/~osipovmi/basic/CONNECTORS-1564.php";);
                        HttpEntity entity = new InputStreamEntity(is);
                        method.setEntity(entity);
                        CloseableHttpResponse response = 
httpClient.execute(method);
                        EntityUtils.consumeQuietly(response.getEntity());
                        response.close();

                }

        }

}
{code}

Failed authentication:
{noformat}
696 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec 
selected: default
705 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache 
not set in the context
709 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection request: [route: {s}->https://blnn719x.ad001.siemens.net:443][total 
kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
724 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection leased: [id: 0][route: 
{s}->https://blnn719x.ad001.siemens.net:443][total kept alive: 0; route 
allocated: 1 of 2; total allocated: 1 of 20]
725 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening 
connection {s}->https://blnn719x.ad001.siemens.net:443
735 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connecting to blnn719x.ad001.siemens.net/147.54.64.19:443
736 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - 
Connecting socket to blnn719x.ad001.siemens.net/147.54.64.19:443 with timeout 0
798 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
protocols: [TLSv1, TLSv1.1, TLSv1.2]
798 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
cipher suites:[TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, 
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, 
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, 
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
798 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Starting 
handshake
981 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Secure 
session established
981 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated protocol: TLSv1.2
981 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
981 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
principal: CN=blnn719x.ad001.siemens.net, OU=PD LD AP DW, O=Siemens, C=DE
982 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
alternative names: [blnn719x.ad001.siemens.net]
982 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  issuer 
principal: CN=Siemens Issuing CA Intranet Server 2017, OU=Siemens Trust Center, 
SERIALNUMBER=ZZZZZZB7, O=Siemens, L=Muenchen, ST=Bayern, C=DE
986 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connection established 147.54.65.49:57083<->147.54.64.19:443
986 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing 
request POST /~osipovmi/basic/CONNECTORS-1564.php HTTP/1.1
986 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Target auth 
state: UNCHALLENGED
987 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Proxy auth 
state: UNCHALLENGED
988 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> POST 
/~osipovmi/basic/CONNECTORS-1564.php HTTP/1.1
988 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> 
Transfer-Encoding: chunked
988 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: 
blnn719x.ad001.siemens.net
988 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: 
Keep-Alive
988 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: 
Apache-HttpClient/4.5.6 (Java/1.8.0_181)
988 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Expect: 
100-continue
988 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: 
gzip,deflate
998 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 401 
Unauthorized
998 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Thu, 17 Jan 
2019 16:18:17 GMT
999 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Server: 
Apache/2.4.37 (FreeBSD) OpenSSL/1.0.2q PHP/7.2.13 SVN/1.9.9 
mod_auth_gssapi/1.6.1
999 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Frame-Options: 
SAMEORIGIN
999 [main] DEBUG org.apache.http.headers - http-outgoing-0 << WWW-Authenticate: 
Basic realm="CONNECTORS-1564 Realm"
999 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 
533
999 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Connection: close
999 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: 
text/html; charset=iso-8859-1
1000 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - Authentication 
required
1000 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - 
blnn719x.ad001.siemens.net:443 requested authentication
1001 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Authentication schemes in the order of preference: [Negotiate, Kerberos, NTLM, 
CredSSP, Digest, Basic]
1001 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for Negotiate authentication scheme not available
1001 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for Kerberos authentication scheme not available
1001 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for NTLM authentication scheme not available
1001 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for CredSSP authentication scheme not available
1001 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for Digest authentication scheme not available
1006 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - Selected 
authentication options: [BASIC [complete=true]]
1006 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection 
- http-outgoing-0: Close connection
1006 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening 
connection {s}->https://blnn719x.ad001.siemens.net:443
1007 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connecting to blnn719x.ad001.siemens.net/147.54.64.19:443
1007 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - 
Connecting socket to blnn719x.ad001.siemens.net/147.54.64.19:443 with timeout 0
1010 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
protocols: [TLSv1, TLSv1.1, TLSv1.2]
1010 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
cipher suites:[TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, 
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, 
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, 
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
1010 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - 
Starting handshake
1121 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Secure 
session established
1121 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated protocol: TLSv1.2
1122 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
1122 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
principal: CN=blnn719x.ad001.siemens.net, OU=PD LD AP DW, O=Siemens, C=DE
1122 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
alternative names: [blnn719x.ad001.siemens.net]
1122 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  issuer 
principal: CN=Siemens Issuing CA Intranet Server 2017, OU=Siemens Trust Center, 
SERIALNUMBER=ZZZZZZB7, O=Siemens, L=Muenchen, ST=Bayern, C=DE
1123 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connection established 147.54.65.49:57084<->147.54.64.19:443
1123 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing 
request POST /~osipovmi/basic/CONNECTORS-1564.php HTTP/1.1
1123 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Target auth 
state: CHALLENGED
1123 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - Generating 
response to an authentication challenge using basic scheme
1128 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Proxy auth 
state: UNCHALLENGED
1128 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> POST 
/~osipovmi/basic/CONNECTORS-1564.php HTTP/1.1
1128 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> 
Transfer-Encoding: chunked
1128 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: 
blnn719x.ad001.siemens.net
1128 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: 
Keep-Alive
1128 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: 
Apache-HttpClient/4.5.6 (Java/1.8.0_181)
1128 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Expect: 
100-continue
1128 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: 
gzip,deflate
1128 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Authorization: 
Basic ZXhwZWN0Om1hZ2lj
1133 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 401 
Unauthorized
1133 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Thu, 17 
Jan 2019 16:18:17 GMT
1133 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Server: 
Apache/2.4.37 (FreeBSD) OpenSSL/1.0.2q PHP/7.2.13 SVN/1.9.9 
mod_auth_gssapi/1.6.1
1133 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Frame-Options: 
SAMEORIGIN
1133 [main] DEBUG org.apache.http.headers - http-outgoing-0 << 
WWW-Authenticate: Basic realm="CONNECTORS-1564 Realm"
1133 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 
533
1133 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Connection: close
1133 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: 
text/html; charset=iso-8859-1
1133 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - Authentication 
required
1133 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - 
blnn719x.ad001.siemens.net:443 requested authentication
1133 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - Authorization 
challenge processed
1134 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - Authentication 
failed
1137 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection 
- http-outgoing-0: Close connection
1137 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection 
discarded
1138 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager 
- Connection released: [id: 0][route: 
{s}->https://blnn719x.ad001.siemens.net:443][total kept alive: 0; route 
allocated: 0 of 2; total allocated: 0 of 20]
1138 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager 
- Connection manager is shutting down
1138 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager 
- Connection manager shut down
{noformat}

Proper credentials:
{code:java}
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;

import org.apache.http.HttpEntity;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.Credentials;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;

public class ExpectContinueTest {

        public static void main(String[] args) throws IOException {
                CredentialsProvider cp = new BasicCredentialsProvider();
                Credentials c = new UsernamePasswordCredentials("michaelo", 
"expect-magic");
                cp.setCredentials(AuthScope.ANY, c);

                HttpClientBuilder builder = HttpClientBuilder.create();
                RequestConfig rc = 
RequestConfig.custom().setExpectContinueEnabled(true).build();
                builder.setDefaultRequestConfig(rc);
                builder.setDefaultCredentialsProvider(cp);

                try (CloseableHttpClient httpClient = builder.build();
                                InputStream is = 
Files.newInputStream(Paths.get("D:", "metadata.dmp"))) {

                        HttpPost method = new HttpPost(
                                        
"https://blnn719x.ad001.siemens.net/~osipovmi/basic/CONNECTORS-1564.php";);
                        HttpEntity entity = new InputStreamEntity(is);
                        method.setEntity(entity);
                        CloseableHttpResponse response = 
httpClient.execute(method);
                        EntityUtils.consumeQuietly(response.getEntity());
                        response.close();

                }

        }

}
{code}

Successful authentication:
{noformat}
589 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec 
selected: default
598 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache 
not set in the context
601 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection request: [route: {s}->https://blnn719x.ad001.siemens.net:443][total 
kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
613 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection leased: [id: 0][route: 
{s}->https://blnn719x.ad001.siemens.net:443][total kept alive: 0; route 
allocated: 1 of 2; total allocated: 1 of 20]
615 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening 
connection {s}->https://blnn719x.ad001.siemens.net:443
627 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connecting to blnn719x.ad001.siemens.net/147.54.64.19:443
627 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - 
Connecting socket to blnn719x.ad001.siemens.net/147.54.64.19:443 with timeout 0
685 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
protocols: [TLSv1, TLSv1.1, TLSv1.2]
685 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
cipher suites:[TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, 
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, 
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, 
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
685 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Starting 
handshake
865 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Secure 
session established
865 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated protocol: TLSv1.2
865 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
865 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
principal: CN=blnn719x.ad001.siemens.net, OU=PD LD AP DW, O=Siemens, C=DE
866 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
alternative names: [blnn719x.ad001.siemens.net]
866 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  issuer 
principal: CN=Siemens Issuing CA Intranet Server 2017, OU=Siemens Trust Center, 
SERIALNUMBER=ZZZZZZB7, O=Siemens, L=Muenchen, ST=Bayern, C=DE
869 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connection established 147.54.65.49:57122<->147.54.64.19:443
869 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing 
request POST /~osipovmi/basic/CONNECTORS-1564.php HTTP/1.1
869 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Target auth 
state: UNCHALLENGED
869 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Proxy auth 
state: UNCHALLENGED
870 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> POST 
/~osipovmi/basic/CONNECTORS-1564.php HTTP/1.1
870 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> 
Transfer-Encoding: chunked
870 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: 
blnn719x.ad001.siemens.net
870 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: 
Keep-Alive
870 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: 
Apache-HttpClient/4.5.6 (Java/1.8.0_181)
870 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Expect: 
100-continue
870 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: 
gzip,deflate
879 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 401 
Unauthorized
879 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Thu, 17 Jan 
2019 16:20:17 GMT
879 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Server: 
Apache/2.4.37 (FreeBSD) OpenSSL/1.0.2q PHP/7.2.13 SVN/1.9.9 
mod_auth_gssapi/1.6.1
879 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Frame-Options: 
SAMEORIGIN
879 [main] DEBUG org.apache.http.headers - http-outgoing-0 << WWW-Authenticate: 
Basic realm="CONNECTORS-1564 Realm"
880 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 
533
880 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Connection: close
880 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: 
text/html; charset=iso-8859-1
881 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - Authentication 
required
881 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - 
blnn719x.ad001.siemens.net:443 requested authentication
882 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Authentication schemes in the order of preference: [Negotiate, Kerberos, NTLM, 
CredSSP, Digest, Basic]
882 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for Negotiate authentication scheme not available
882 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for Kerberos authentication scheme not available
882 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for NTLM authentication scheme not available
882 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for CredSSP authentication scheme not available
882 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Challenge for Digest authentication scheme not available
886 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - Selected 
authentication options: [BASIC [complete=true]]
886 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - 
http-outgoing-0: Close connection
887 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening 
connection {s}->https://blnn719x.ad001.siemens.net:443
887 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connecting to blnn719x.ad001.siemens.net/147.54.64.19:443
887 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - 
Connecting socket to blnn719x.ad001.siemens.net/147.54.64.19:443 with timeout 0
889 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
protocols: [TLSv1, TLSv1.1, TLSv1.2]
889 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled 
cipher suites:[TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, 
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, 
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, 
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, 
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, 
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, 
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, 
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, 
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, 
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
889 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Starting 
handshake
997 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Secure 
session established
997 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated protocol: TLSv1.2
997 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  
negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
997 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
principal: CN=blnn719x.ad001.siemens.net, OU=PD LD AP DW, O=Siemens, C=DE
997 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  peer 
alternative names: [blnn719x.ad001.siemens.net]
997 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory -  issuer 
principal: CN=Siemens Issuing CA Intranet Server 2017, OU=Siemens Trust Center, 
SERIALNUMBER=ZZZZZZB7, O=Siemens, L=Muenchen, ST=Bayern, C=DE
997 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator 
- Connection established 147.54.65.49:57123<->147.54.64.19:443
997 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing 
request POST /~osipovmi/basic/CONNECTORS-1564.php HTTP/1.1
997 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Target auth 
state: CHALLENGED
998 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - Generating 
response to an authentication challenge using basic scheme
1002 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Proxy auth 
state: UNCHALLENGED
1002 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> POST 
/~osipovmi/basic/CONNECTORS-1564.php HTTP/1.1
1002 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> 
Transfer-Encoding: chunked
1002 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: 
blnn719x.ad001.siemens.net
1002 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: 
Keep-Alive
1002 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: 
Apache-HttpClient/4.5.6 (Java/1.8.0_181)
1002 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Expect: 
100-continue
1002 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: 
gzip,deflate
1002 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Authorization: 
Basic bWljaGFlbG86ZXhwZWN0LW1hZ2lj
1007 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 100 
Continue
1179 [main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 200 OK
1180 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Thu, 17 
Jan 2019 16:20:17 GMT
1180 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Server: 
Apache/2.4.37 (FreeBSD) OpenSSL/1.0.2q PHP/7.2.13 SVN/1.9.9 
mod_auth_gssapi/1.6.1
1180 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Frame-Options: 
SAMEORIGIN
1180 [main] DEBUG org.apache.http.headers - http-outgoing-0 << X-Powered-By: 
PHP/7.2.13
1180 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 0
1180 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Keep-Alive: 
timeout=300, max=1000
1180 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Connection: 
Keep-Alive
1180 [main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Type: 
text/html; charset=UTF-8
1181 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection 
can be kept alive for 300000 MILLISECONDS
1181 [main] DEBUG org.apache.http.impl.auth.HttpAuthenticator - Authentication 
succeeded
1181 [main] DEBUG org.apache.http.impl.client.TargetAuthenticationStrategy - 
Caching 'basic' auth scheme for https://blnn719x.ad001.siemens.net:443
1188 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager 
- Connection [id: 0][route: {s}->https://blnn719x.ad001.siemens.net:443] can be 
kept alive for 300.0 seconds
1188 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection 
- http-outgoing-0: set socket timeout to 0
1188 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager 
- Connection released: [id: 0][route: 
{s}->https://blnn719x.ad001.siemens.net:443][total kept alive: 1; route 
allocated: 1 of 2; total allocated: 1 of 20]
1191 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager 
- Connection manager is shutting down
1191 [main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection 
- http-outgoing-0: Close connection
1191 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager 
- Connection manager shut down
{noformat}

PHP script:
{code}
$ less CONNECTORS-1564.php
<?php
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
file_put_contents('/tmp/CONNECTORS-1564.bin', file_get_contents('php://input'));
}

?>
{code}

I can repeat the same test with Tomcat, but the result won't change.

If you happen to run Tomcat behind Apache Web Server as reverse proxy, the 
expect *won't* work. You will suffer from 
https://bz.apache.org/bugzilla/show_bug.cgi?id=60330. If this is your case, 
please reach out to Jean-Frédéric and Yann. I need this backport too.

> Support preemptive authentication to Solr connector
> ---------------------------------------------------
>
>                 Key: CONNECTORS-1564
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-1564
>             Project: ManifoldCF
>          Issue Type: Improvement
>          Components: Lucene/SOLR connector
>            Reporter: Erlend Garåsen
>            Assignee: Karl Wright
>            Priority: Major
>         Attachments: CONNECTORS-1564.patch
>
>
> We should post preemptively in case the Solr server requires basic 
> authentication. This will make the communication between ManifoldCF and Solr 
> much more effective instead of the following:
>  * Send a HTTP POST request to Solr
>  * Solr sends a 401 response
>  * Send the same request, but with a "{{Authorization: Basic}}" header
> With preemptive authentication, we can send the header in the first request.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to