Prerequisites
- SAP S/4HANA Public Cloud tenant
- SAP Identity Authentication Service (IAS)
- OpenSSL (or Windows Certificate Manager)
- Postman
Step 1: Create a Certificate in SAP IAS
- Open your SAP IAS (Cloud Identity Service) tenant.
- Navigate to the certificate management section. Applications -> Choose your Test Tenant -> Under Trust Tab Click on Client Authentication
- Create a new client certificate.
- Export the certificate package as a
.p12(PKCS#12) file. (It should trigger the download automatically – Check your default download folder)
The exported .p12 file contains:
- Public certificate
- Private key
Keep this file secure. Make sure to save the password for your certificate
Step 2: Extract the Public Certificate
SAP Communication Users require only the public certificate.
Option A: Using OpenSSL
Extract the public certificate from the .p12 file:
openssl pkcs12 -in client.p12 -clcerts -nokeys -out client.crt
Enter the password used when exporting the .p12.
This creates:
client.crt
Option B: Using Windows Certificate Manager
- Double-click the
.p12file. - Import it into the Current User certificate store.
- Open:
certmgr.msc
- Navigate to:
Personal → Certificates
- Locate the imported certificate.
- Right-click → All Tasks → Export.
- Select:
No, do not export the private key
- Choose:
Base-64 encoded X.509 (.CER)
- Save the file as:
client.cer
You may optionally rename it to:
client.crt
Step 3: Create the Communication User
In SAP S/4HANA Public Cloud:
- Open SAP Fiori App “Maintain Communication User”
- Create new
Step 4: Create the Communication System
Open Fior
- Create a new communication system.
- Enable inbound communication.
- Assign the communication user created in the previous step.
- Save the communication system.
Step 5: Create the Communication Arrangement
- Create a new arrangement using the required communication scenario.
- Assign the communication system.
- Activate the inbound service.
- Save the arrangement.
The arrangement provides the API endpoint URL that will be used by API consumers.
Bonus: Testing with Postman
Configure the Client Certificate
Open:
Settings → Certificates
Create a new certificate entry:
Host: <your-tenant>-api.s4hana.cloud.sap
Port: 443
Upload:
client.p12
Enter the password used during export.
Do not upload:
- .crt
- .key
The .p12 file already contains everything Postman requires.
Send a Test Request
Example:
GET https://<your-tenant>-api.s4hana.cloud.sap/sap/opu/odata4/...
Accept: application/json
For the initial test:
- Remove Authorization headers
- Remove OAuth configuration
- Remove Basic Authentication
- Remove cookies
- Remove CSRF token headers
Expected Results
Successful certificate authentication typically returns:
- HTTP 200 (Success)
- HTTP 403 (Authenticated but missing authorization)
- OData business errors
These responses indicate that certificate authentication succeeded.
Common errors:
HTTP 401 Unauthorized
The communication user or arrangement is not configured correctly.
SSLV3_ALERT_CERTIFICATE_UNKNOWN
The certificate sent by the client is not trusted or does not match the certificate uploaded to the communication user.
ECONNRESET
The TLS handshake failed before authentication completed.
Troubleshooting Checklist
✓ Communication User uses “SSL Client Certificate”
✓ Correct public certificate uploaded
✓ Communication System references the correct communication user
✓ Communication Arrangement uses the correct communication system
✓ Postman sends the matching .p12 file
✓ API endpoint uses the -api.s4hana.cloud.sap hostname
✓ No conflicting Basic Authentication or OAuth configuration
One additional tip from our troubleshooting session: if you receive SSLV3_ALERT_CERTIFICATE_UNKNOWN, the problem is usually not Postman. It almost always means the certificate uploaded to the Communication User does not match the certificate being sent by the client.