Install your own SAP NetWeaver ABAP system

Below is a list of links to blogs I wrote and I hope can help you when you install your own SAP NetWeaver ABAP system. The documentation is the by-product while I installed my demo/test system.

Install a server certificate in SAP NetWeaver ABAP – 3.5 Test the new server certificate

After the server certificate is installed, ICM should automatically make use of it. To see if SSL/TLS connections are now working, two tests should be executed:

  1. Check SSL port setup
  2. Access service using TLS

1. Making Sure the SSL Port is set up correctly

This step checks that ICM is configured to accept TLS connections. SAP Help

Transaction: SMICM

Select: Goto from the menu and then Services.

Check that HTTPS is listed and note the port number. Here: 8100.

2. Testing the Connection for SSL Server Authentication

With ICM configured to accept TLS connections on port 8100, the last test is to check if it works with a browser. SAP Help. Open a service in your web browser. To check that the service Works, open it first in normal HTTP.

Example: http://nwgw74.tobias.de:8000/sap/opu/odata/iwfnd/rmtsampleflight/

If the worked, open the URL as HTTPS.

Example: https://nwgw74.tobias.de:8100/sap/opu/odata/iwfnd/rmtsampleflight/

Check the certificate used by ICM.

Result

The server certificate is issued by ca.tobias.de to nwgw74.tobias.de. This shows that the SSL certificate of the right PSE is being used by ICM.

Install a server certificate in SAP NetWeaver ABAP – 3.4 Import the certificate response from CA

After the CA issued the certificate, it must be imported into the PSE that issued the CSR. During the import step a verification of the private / public key will happen. This ensures that you import the right public key into the PSE. This also means that you cannot use another PSE for the CSR, as the private key would be different. SAP Help

Transaction: STRUST

Switch on edit mode and select import certificate.

Inform the path to the CRT.

Select load as local file. If the CA exported the certificate as P7B, the content is in Base64 format. If the CA gave you another format, you`ll have to transform the certificate first to Base64. Would be nice if the import wizard of STRUST would do all that work for you, but somehow Basis guys must also defend their working time …

Confirm the import. To see if the certificate was imported, double click on Subject

This shows the certificate information in the certificate section.

Save.

Result

The PSE contains now a private key and a valid public key, signed by a CA. Now ICF can use this certificate without having browsers complain about the certificate.

Install a server certificate in SAP NetWeaver ABAP – 3.3 Submiting the certificate requests to a CA

The certificate request created in the previous step must be send to a CA. The CA is responsible to create a valid server certificate based on the information provided by the CSR.

Important: the certificate emitted by the CA must follow the PKCS#7 certificate chain format. The response file must contain the public key certificate of the ABAP server as well as the CA’s root certificate. SAP Help

The following screenshots are taking from my own CA.
Add an end entity for the server.
Submit CSR
Download certificate
Save as p12 (PKCS#7)

Result

You now have a P7B file that contains the signed certificate for the server in Baes64 format.

Install a server certificate in SAP NetWeaver ABAP – 3.2 Generate a certificate request for each SSL server PSE

In the previous step a new PSE for SSL server was created, but the containing server certificate is self-signed. This means that no sane web browser will accept your certificate without showing a warning message to the user. To have a valid server certificate, it must be signed by a CA. To do so, a certificate request must be created. SAP Help

Transaction: STRUST

Open SSL Server Standard node and select server

Create a certificate request.

Copy content to a file (via clipboard) and send it to your CA.

Result

You now have the CSR file for the server PSE that can be submitted to a CA.

Install a server certificate in SAP NetWeaver ABAP – 3.1 Create a SSL/TLS Server PSE

SAP stores certificates in PSE files (for the Java guys: JKS). By default, there are several PSEs available, one for each use case (system, SSL, web service, etc). A PSE has a subject which stands for the name of the server. Changes are good that the subject value created by SAP does not match your reality. The following steps show how to create a PSE for your SSL server. SAP Help

Transaction: STRUST

Change into edit mode:

Select the SSL Server PSE:

Right click to open the context menu and select replace

Give information about the new PSE. This creates a private and public key for the server CN informed for this PSE. The key will be automatically self-signed, but as the PSE contains the private key, it is no problem to create a certificate request and get the certificate signed by a CA.

The data informed here MUST match the data of the HTTPS server. The name field is the CN of the certificate; therefore this field MUST be the same as the FQDN of the server. That is, when the server is accessed by browsers as https://nwgw74.tobias.de, the field MUST be nwgw74.tobias.de.

Click OK

Confirm the information. Make sure the CN name is correct. This changes the PSE for SSL Server.

You now have a PSE with a private and public key for the CN nwgw74.tobias.de. This certificate is self-signed. While you can now access ICF via HTTPS, each and every browser will give you a warning message that the certificate used is not trustworthy. To change that, a CSR must be created and signed by a CA.

Result

You now have a PSE for the server nwgw74.tobias.de with a private key and a self-signed certificate.

Install a server certificate in SAP NetWeaver ABAP – 2 Set profile parameters

For ICM to work with SSL, some parameters must be set in the profile. These parameters define which PSE and algorithms to use. Normally these parameters are already set to default values. To see if these are acceptable to you and match the location of your CommonCryptoLib 8 installation, you can use transaction RZ11. SAP Help, Central note for CommonCryptoLib.

Transaction RZ11

Here you can enter the name of a parameter and see the currently configured value of it.

List of parameters and their values
Parameter: ssl/ssl_lib
Parameter: sec/libsapsecu
Parameter: ssf/ssfapi_lib
Parameter: ssf/name
Parameter: ssl/ciphersuites

Install a server certificate in SAP NetWeaver ABAP – 1 Pre-requisites

Download SAP Cryptographic Library

Download library from SMP. Go to https://support.sap.com/swdc

Steps to download SAP Cryptographic Library
Select: Installations & Upgrades
Select: Browser our download catalog
Select: SAP Cryptographic Software
Select: SAPCRYPTOLIB
Select: COMMONCRYPTOLIB 8
Select: Select right OS. In my case, Linux x86 64 bit
Download the latest version

Install SAP Cryptographic Library on the AS ABAP

After downloading the SAP Cryptographic Library it is time to install it on the NW ABAP system. By default, there should already be a version installed. As SAP is constantly releasing a new version, it makes sense to install a newer version and not to use the one delivered with NW ABAP. Copy the downloaded SAR file to your server und “unsar” it. The content of the SAR file will look like:

Copy the files to the executable directory of you instance. In my case, the SID of my ABAP system is GWD. Therefore, the path is /usr/sap/GWD/SYS/exe/run

Command: cp * -Rv /usr/sap/GWD/SYS/exe/run

Result

With this, the latest version is installed on SAP NetWeaver ABAP system.