Unable to deploy using maven script due to error "Remote host closed connection during handshake"

We're unable to deploy the proxies using the Maven plugin. The error is failing due to SSL handshake.

Here's the error:

[ERROR] 
Failed to execute goal io.apigee.build-tools.enterprise4g:apigee-edge-maven-plugin:1.0.0:deploy (deploy-bundle-step) on project priceintegrity-v1: MojoExecutionException: Remote host closed connection during handshake: SSL peer shut down incorrectly -> [Help 1] 
[ERROR] 

The command we execute to deploy the proxy is:
mvn install -Pprd -Dusername={username} -Dpassword={password} clean
Solved Solved
0 2 9,580
1 ACCEPTED SOLUTION

The maven script internally makes Management API call to deploy the API Proxies. The ciphers and SSL Protocols for endpoint api.enterprise.apigee.com have been recently updated to support only TLSv1.1 and TLSv1.2. If we use any protocols other than these two protocols, then we will get the SSL Handshake Exception.

This was updated in the https://status.apigee.com in the section "Apigee Edge Scheduled Release - Monday October 30, 2017 - Starting 9:00 PM PDT - Updating SSL Protocol to api.enterprise.apigee.com".

Since maven script uses Java internally, passed the property "-Dhttps.protocols=TLSv1.2" to the maven command as follows:

mvn install -Dhttps.protocols=TLSv1.2 -Pprd-Dusername={username}-Dpassword={password} clean

With this, the maven scripts were able to run and deploy the API Proxies successfully.

View solution in original post

2 REPLIES 2

The maven script internally makes Management API call to deploy the API Proxies. The ciphers and SSL Protocols for endpoint api.enterprise.apigee.com have been recently updated to support only TLSv1.1 and TLSv1.2. If we use any protocols other than these two protocols, then we will get the SSL Handshake Exception.

This was updated in the https://status.apigee.com in the section "Apigee Edge Scheduled Release - Monday October 30, 2017 - Starting 9:00 PM PDT - Updating SSL Protocol to api.enterprise.apigee.com".

Since maven script uses Java internally, passed the property "-Dhttps.protocols=TLSv1.2" to the maven command as follows:

mvn install -Dhttps.protocols=TLSv1.2 -Pprd-Dusername={username}-Dpassword={password} clean

With this, the maven scripts were able to run and deploy the API Proxies successfully.

mvn install -Dhttps.protocols=TLSv1.2-Pprd-Dusername={username}-Dpassword={password} clean

I checked and also facing same error.