Two-way TLS between Microgateway and Edge cloud fails with HTTP 400 - SSL Error

@srinandans

Hi,

My colleague installed and configured Edgemico gateway on his windows 10 machine. During that process the edgemicro_auth proxy and the corresponding KVM entries were created.

I am attempting to install and configure MG on my Windows10 machine but running into SSL issue between MG and Edge (Cloud).

edgemicro configure command fails with HTTP 400 - No required SSL Certificate was sent.

Here's the info:

The default_yaml file contains

edge_config:

bootstrap: https://apigee.net/edgemicro/bootstrap/organization/org/environment/env. jwt_public_key: http://apigee.net/edgemicro/publicKey.

managementUri: https://api.enterprise.apigee.com

vaultName: microgateway

authUri: https://%s-%s.apigee.net/edgemicro-auth

baseUri: https://edgemicroservices.apigee.net/edgemicro/%s/organization/%s/environment/%s bootstrapMessage: Please copy the following property to the edge micro agent config keySecretMessage: The following credentials are required to start edge micro

tlsOptions:

agentOptions:

requestCert: true

cert:<path to cert>

key: <path to key>


C:\Users\xxxx>edgemicro configure -o orga -e dev -t z7dAw -v external -d

current nodejs version is v8.9.4

current edgemicro version is 2.5.30

file doesn't exist, setting up

listdeployments: {"organization":"orga","api":"edgemicro-auth","baseuri":"https://api.enterprise.apigee.com","debug":true,"token":"z7dAw","asynclimit":4,"prompt":true}

Going to invoke "https://api.enterprise.apigee.com/v1/o/orga/apis/edgemicro-auth/deployments"

List of deployed APIs: {"environment":[{"name":"dev","revision":}

All done checking org for existing KVM

KVM already exists in your org

{ Error: cannot GET https://orga.comp.com/edgemicro-auth/publicKey (400)

at translateError (C:\Users\xxx\AppData\Roaming\npm\node_modules\edgemicro\cli\lib\cert-lib.js:363:15)

at Request._callback (C:\Users\xxx\AppData\Roaming\npm\node_modules\edgemicro\cli\lib\cert-lib.js:384:15)

at Request.self.callback (C:\Users\xxxx\AppData\Roaming\npm\node_modules\edgemicro\node_modules\request\request.js:185:22) at emitTwo (events.js:126:13)

at Request.emit (events.js:214:7) at Request.<anonymous> (C:\Users\xxx\AppData\Roaming\npm\node_modules\edgemicro\node_modules\request\request.js:1161:10) at emitOne (events.js:116:13)

at Request.emit (events.js:211:7) at IncomingMessage.<anonymous> (C:\Users\xxx\AppData\Roaming\npm\node_modules\edgemicro\node_modules\request\request.js:1083:12)

at Object.onceWrapper (events.js:313:30)

at emitNone (events.js:111:20)

at IncomingMessage.emit (events.js:208:7)

at endReadableNT (_stream_readable.js:1055:12)

at _combinedTickCallback (internal/process/next_tick.js:138:11)

at process._tickCallback (internal/process/next_tick.js:180:9)

text: '<html>\r\n<head><title>400 No required SSL certificate was sent</title></head>\r\n<body bgcolor="white">\r\n<center><h1>400 Bad Request</h1></center>\r\n<center>No required SSL certificate was sent</center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n' }


The virtual host "external" in this case is two-way ssl enabled.

0 0 156