Notifications

15 views

Description

When trying to authenticate with an external API endpoint that uses HTTPS Mutual Authentication you may see a HTTP 400 response 'No required SSL certificate was sent':

<html>
<head><title>400 No required SSL certificate was sent</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<center>No required SSL certificate was sent</center>
<hr><center>server</center>
</body>
</html>

Release or Environment

All ServiceNow releases

Cause

A configuration issue in the HTTPS Mutual Auth configuration on the ServiceNow instance

Resolution

  1. Ensure that the Keystore you're using contains a public/private keypair. The public key should have been signed by a CA that the other side (the server) trusts for mutual authentication. The private key should have the same passphrase on it as the passphrase used to open the keystore file
  2. Export these two System Property records to XML as a backup, and then delete them:
    glide.httpclient.protocol.<profile_name>.class = "com.glide.certificates.DBKeyStoreSocketFactory"
    glide.httpclient.protocol.<profile_name>.port = "<port>"

Additional Information

See also:

 

Setting up Mutual Authentication for Web Services:
 
Mutual Authentication: Overview:
 
Steps to set up Mutual Authentication: Keys:
 
Debugging Mutual Authentication:

Article Information

Last Updated:2020-05-12 19:03:22
Published:2020-05-13