Skip to Content

How to enable SSO using X.509 client certificates in ABAP app server?

Instead of using the user ID and password to access a service from the Web Application Server ABAP via HTTPS, it is possible to use a client certificate for authentication purposes.

Import the CA certificate into the SSL server Standard

As a given user ID holds a certificate from a trusted CA, the certificate from the CA must be imported into the SSL server Standard PSE via STRUST. Just click on the button highlighted by the red rectangle:


Once the certificate is loaded, just click in the “Add to Certificate List” button (see “1” in red); the certificate will be displayed in the “Certificate List” section (see “2” in red):


Maintain the client certificate

It is necessary to map the client certificate with the actual user ID in the ABAP system. It is time to use transaction code SM30, loading maintenance view “VUSREXTID“:


The “External ID type” is “DN”:


Click on the “New Entries” button to add the client certificate (DN) and map to the existent user ID in the ABAP side:


Inform the External ID (the DN field of the client certificate), the user ID (as created in transaction code SU01), then mark the “Activated” checkbox and save the entry. The information presented is:


There are cases where the DN length from the user ID exceeds the length of column EXTID in table USREXTID. This is not a problem: just use the button highlighted (red square) above to load the actual certificate. The system is able to store the entire subject name in the database table or calculates a hash value (and store the original subject name in a second database table).

At last, but not least, profile parameter icm/HTTPS/verify_client must be set to 1 (if the system should accept the client certificate) or 2 (the use of client certificates is mandatory).

Test if the SSO is working

For testing purposes, I used the WEBGUI internet service (via HTTPS) to test if the SSO works (assuming that the WEBGUI was correctly setup in the system): https://<FQDN>:<HTTPS port>/sap/bc/gui/sap/its/webgui

The SM50 logon trace (SAP note 495911) shows the following:


You can read more about the use of X.509 certificates in AS ABAP in the SAP Help page.

You must be Logged on to comment or reply to a post.
  • Christiano.

    I followed your steps but I am not having any success. I am using a .cer fie that I import from my browser but I do not believe this right CA certificate.

    how can I get the CA certificate?. Should I be asking our active directory person to create the CA certificate from active directory so I am loaded it into strust?


    • Hello Juan,

      You need to import into the certificate list of STRUST the certificate from that CA that signs the X.509 client certificates you intend to use.

      Example: I have a certificate with DN= CN=cristiano.hansen,OU=… and it is signed by a CA. This CA has a certificate with DN=,OU=…

      The certificate from the CA needs to appear in the certificate list of your SSL server Standard PSE.

      A SM50 logon trace should help you finding more information about what might be missing.

      Kind regards,


      • Thanks for the reply.

        Today, I was given  a x.509(Digicert) from my security team. They said they added this digicert into my AD account.

        Below isX.509 into Strust. Is the correct .cer file I need ? I don’t see any reference to my account name .



        • Hello Juan,

          Is this certificate the one used to sign your X.509 client certificate? Have you already mapped (SM30) your client certificate with your user ID?



          • I got to to work.

            The problem was that the Root cerfiticate and usercertificate were alittle different so it wasn’t communicating.

            Once I uploaded the correct Root certificate into STRUST, everything worked well.