You are on page 1of 54

Installation, Configuration, and Administration Guide SAP NetWeaver Single Sign-On SP1 Secure Login Library

PUBLIC Document Version: 1.1 October 2011

SAP AG Dietmar-Hopp-Allee 16 69190 Walldorf Germany T +49/18 05/34 34 24 F +49/18 05/34 34 20 www.sap.com

Copyright 2011 SAP AG. All rights reserved. JavaScript is a registered trademark of Sun Microsystems, Inc., used No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. Disclaimer Some components of this product are based on Java. Any code change in these components may cause unpredictable and severe malfunctions and is therefore expressively prohibited, as is any decompilation of these components. Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase, Inc. Sybase is an SAP company. bs All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries. Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects Software Ltd. in the United States and in other countries. under license for technology invented and implemented by Netscape.

Any Java Source Code delivered with this product is only to be used by SAPs Support Services and may not be modified or altered in any way.

INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)

Terms for Included Open Source Software


This SAP software contains also the third party open source software products listed below. Please note that for these third party products the following special terms and conditions shall apply. Open LDAP http://www.openldap.org/ The OpenLDAP Public License Version 2.8, 17 August 2003 Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met: 1. Redistributions in source form must retain copyright statements and notices, 2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution, and 3. Redistributions must contain a verbatim copy of this document. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use this Software under terms of this license revision or under the terms of any subsequent revision of the license.

OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The names of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission. Title to copyright in this Software shall at all times remain with copyright holders. OpenLDAP is a registered trademark of the OpenLDAP Foundation. Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distribute verbatim copies of this document is granted. PCRE http://www.pcre.org/ PCRE LICENCE

THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, PCRE is a library of functions to support regular expressions whose syntax and semantics are as close as possible to those of the Perl 5 language.

Release 8 of PCRE is distributed under the terms of the "BSD" licence, as specified below. The documentation for PCRE, supplied in the "doc" directory, is distributed under the same terms as the software itself. The basic library functions are written in C and are freestanding. Also included in the distribution is a set of C++ wrapper functions. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED THE BASIC LIBRARY FUNCTIONS Written by: Email domain: Philip Hazel cam.ac.uk TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT University of Cambridge Computing Service, Cambridge, England. Copyright (c) 1997-2010 University of Cambridge All rights reserved. LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF THE C++ WRAPPER FUNCTIONS Contributed by: Google Inc. Copyright (c) 2007-2010, Google Inc. All rights reserved. SUCH DAMAGE. SSLeay http://www2.psy.uq.edu.au/~ftp/Crypto/ssleay/ Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved. This package is an SSL implementation written by Eric Young THE "BSD" LICENCE Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed. This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com). (eay@cryptsoft.com). The implementation was written so as to conform with Netscapes SSL. Email local part: ph10 * Neither the name of the University of Cambridge nor the name of Google Inc. nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission.

If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation (online or textual) provided with the package. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: "This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)" The word 'cryptographic' can be left out if the rouines from the library being used are not cryptographic related :-). 4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement: "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"

THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The licence and distribution terms for any publically available version or derivative of this code cannot be changed. I.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.]

Typographic Conventions
Type Style Example Text Description Words or characters quoted from the screen. These include field names, screen titles, pushbuttons labels, menu names, menu paths, and menu options. Cross-references to other documentation Emphasized words or phrases in body text, graphic titles, and table titles Technical names of system objects. These include report names, program names, transaction codes, table names, and key concepts of a programming language when they are surrounded by body text, for example, SELECT and INCLUDE. Output on the screen. This includes file and directory names and their paths, messages, names of variables and parameters, source text, and names of installation, upgrade and database tools. Exact user entry. These are words or characters that you enter in the system exactly as they appear in the documentation. Variable user entry. Angle brackets indicate that you replace these words and characters with appropriate entries to make entries in the system. Keys on the keyboard, for example, F2 or ENTER.

Icons
Icon Meaning Caution Example Note Recommendation Syntax Additional icons are used in SAP Library documentation to help you identify different types of information at a glance. For more information, see Help on Help General Information Classes and Information Classes for Business Information Warehouse on the first page of any version of SAP Library.

Example text

EXAMPLE TEXT

Example text

Example text

<Example text>

EXAMPLE TEXT

Contents
1 What is Secure Login? ....................................................................... 8
1.1 System Overview .................................................................................... 9 1.2 Main System Components .................................................................. 10

2 Secure Login Library Installation .................................................... 11


2.1 Prerequisites ........................................................................................ 11 2.2 Installation on a Microsoft Windows Operation System ................... 12 2.3 Installation on a UNIX/Linux Operating System ................................ 15 2.4 Updating the Secure Login Library..................................................... 17 2.5 Uninstallation........................................................................................ 18

3 Secure Login Library Configuration................................................ 19


3.1 SNC X.509 Configuration ..................................................................... 19 3.2 SNC Kerberos Configuration............................................................... 22

4 Configuration Options ...................................................................... 30


4.1 Enable Trace ......................................................................................... 30 4.2 Command Line Tool SNC .................................................................... 31 4.3 Define Symmetric Algorithm ............................................................... 34 4.4 Uppercase Distinguished Name Feature ............................................ 36 4.5 Alternative Name DN Feature .............................................................. 37 4.6 Shorten Long Distinguished Names ................................................... 38 4.7 User Mapping........................................................................................ 39

5 Using Certificate Revocation Lists .................................................. 42


5.1 Downloading CRLs with the CRL Tool ............................................... 42 5.2 Configuring the CRL Tool .................................................................... 44

6 Troubleshooting ................................................................................ 46
6.1 SNC Library Not Found ........................................................................ 46 6.2 Credentials Not Found ......................................................................... 46 6.3 No User Exists with SNC Name........................................................... 47

7 List of Abbreviations ........................................................................ 48 8 Glossary ............................................................................................. 50

06/2011

1 What is Secure Login?

1 What is Secure Login?


Secure Login is an innovative software solution created specifically to improve user and IT productivity and to protect business-critical data in SAP business solutions through secure single sign-on to the SAP environment. Secure Login provides strong encryption, secure communication, and single sign-on between a wide variety of SAP components. Examples: SAP GUI and SAP NetWeaver platform with Secure Network Communications (SNC) Web GUI and SAP NetWeaver platform with Secure Socket Layer SSL (HTTPS) Third party application server, supporting X.509 certificates In a default SAP setup, users enter their SAP user name and password on the SAP GUI logon screen. SAP user names and passwords are transferred through the network without encryption. To secure networks, SAP provides a Secure Network Communications interface (SNC) that enables users to log on to SAP systems without entering a user name or password. The SNC interface can also pass calls through the Secure Login Library to encrypt all communication between the SAP GUI and a SAP server, thus providing secure single sign-on to SAP. Secure Login allows you to benefit from the advantages of SNC without the need to set up a Public Key Infrastructure (PKI). Secure Login allows users to authenticate via one of the following authentication mechanisms:

Windows Domain (Active Directory Server) RADIUS server LDAP server SAP NetWeaver server Smart card authentication

If a PKI has already been set up, the digital user certificates of the PKI can also be used by Secure Login. Secure Login also provides single sign-on for Web browser access to the SAP Portal (and other HTTPS-enabled Web applications) with SSL.

06/2011

1 What is Secure Login?

1.1 System Overview


Secure Login is a client/server software system integrated with SAP software to facilitate single sign-on, alternative user authentication, and enhanced security for distributed SAP environments. The Secure Login solution includes 3 components:

Secure Login Server Central service that provides X.509v3 certificates (out of the box PKI) to users and application server. The Secure Login Web Client is also provided. Secure Login Library Crypto Library for the SAP NetWeaver ABAP system. The Secure Login Library supports X.509 and Kerberos technology in parallel. Secure Login Client Client application that provides security tokens (Kerberos and X.509 technology) for a variety of applications.

The Secure Login Library is integrated with SAP software to provide single sign-on capability and enhanced security. An existing PKI structure or the Kerberos technology can be used for user authentication.

You do not need to install all of the components. This depends on your use case scenario. For more information about Secure Login Server and Secure Login Client see their Installation, Configuration and Administration Guides.

06/2011

1 What is Secure Login?

1.2 Main System Components


The following figure shows the Secure Login system environment with the main system components:

Figure: Secure Login System Environment with existing PKI and Kerberos The Secure Login Client is responsible for the certificate-based authentication and Kerberosbased authentication to the SAP Application Server and for secure communication.

For more information about Secure Login Server and Secure Login Client see the Installation, Configuration and Administration Guide.

10

06/2011

2 Secure Login Library Installation

2 Secure Login Library Installation


This section explains how to install Secure Login Library.

2.1 Prerequisites
This section deals with the prerequisites and requirements for the installation of Secure Login Library. You can download the SAP NetWeaver Single Sign-On software from the SAP Service Marketplace. Go to https://service.sap.com/swdc and choose Support Package and Patches > Browse our Download Catalog > SAP NetWeaver and complementary products > SAP NetWeaver Single Sign-On > SAP NetWeaver Single Sign-On 1 > Comprised Software Component Versions > Secure Login Library 1.0. The Secure Login Library is available for the following operating systems: AIX 32-bit AIX 64-bit HP-UX on IA-64 64-bit HP-UX on PA-RISC 32-bit HP-UX on PA-RISC 64-bit Linux on IA32 32-bit Linux on IA-64 64-bit Linux on Power 64-bit Linux on x86_64 64-bit Linux on zSeries 64-bit MacOS X 64-bit Solaris on SPARC 32-bit Solaris on SPARC 64-bit Solaris on x64_64 64-bit TRU64 64-bit Microsoft Windows Server on IA32 32-bit Microsoft Windows on IA-64 64-bit Microsoft Windows on x64 64-bit

Hardware Requirements
Secure Login Library Hard Disk Space Random Access Memory Details 10 MB Hard Disk Space Min. 1 GB RAM

Software Requirements
Secure Login Library Operating Systems Details Microsoft Windows Server 2003 x64 64-bit Microsoft Windows Server 2003 on IA-64 64-bit Microsoft Windows Server 2008 x64 64-bit Microsoft Windows Server 2008 on IA-64 64-bit

06/2011

11

2 Secure Login Library Installation

Microsoft Windows Server 2008 R2 x64 64-bit Microsoft Windows Server 2008 R2 on IA-64 64-bit AIX 5.2, 5.3, 6.1, 7.1 Power 64-bit HP-UX 11.11, 11.23, 11.31 PA-RISC 64-bit HP-UX 11.23, 11.31 IA-64 64-bit Solaris 9, 10 SPARC 64-bit Solaris 10 x64 64-bit Linux SLES 9, 10, 11 IA-64 64-bit Linux SLES 9, 10, 11 x86_64-bit Linux SLES 9, 10, 11 Power 64-bit Linux RHEL 4, 5, 6 IA-64 64-bit Linux RHEL 4, 5, 6 x86_64-bit Linux RHEL 4, 5, 6 Power 64-bit OSF1 5.1 Alpha 64-bit Mac OS X 10.5 Universal 96 (32-bit / 64-bit) SAP Application Server SAP R/3 Release 4.6C SAP R/3 Enterprise Release 4.70 SAP Web Application Server 6.10 SAP Web Application Server 6.20 SAP Web Application Server 6.30 SAP NetWeaver 2004 SAP NetWeaver 7.0 SAP NetWeaver 7.0 EHP1 SAP NetWeaver 7.0 EHP2 SAP NetWeaver 7.3 The SAPCRYPTOLIB is required to use the transaction STRUST (PSE Management). The Microsoft library Microsoft Visual C++ 2010 Redistributable Package can be installed if you use a Windows operating system.

SAPCRYPTOLIB Microsoft Library (optional)

2.2 Installation on a Microsoft Windows Operation System


Before starting the installation process, the Secure Login Library software SECURELOGINLIB.SAR must be available. Copy the file to the target SAP NetWeaver Application Server. Secure Login Library must be installed in a directory to which the Application Server has access at runtime. We recommend to create this directory below the SAP NetWeaver Application Server.

12

06/2011

2 Secure Login Library Installation

Step 1 Install Microsoft Redistributable Package


The Microsoft library Microsoft Visual C++ 2010 Redistributable Package is required for the Secure Login Library installation. Download the library from the Microsoft Web page and install on the SAP NetWeaver System. Install the appropriate installation package for the operating system that you are using (32-bit or 64-bit system).

32-Bit Operating System


Microsoft Visual C++ 2010 Redistributable Package (x86) Choose the file name vcredist_x86.exe: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a42337bf0912db84

64-Bit Operating System


Microsoft Visual C++ 2010 Redistributable Package (x64) Choose the file name vcredist_x64.exe: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bd512d9e-43c8-4655-81bf9350143d5867

Step 2 - Create Folder SLL


Create a new folder named SLL in:

<INSTDIR>\<SID>\DVEBMGS<instance_number>\SLL
Microsoft Windows Example: D:\usr\sap\ABC\DVEBMGS00\SLL

06/2011

13

2 Secure Login Library Installation

Step 3 - Extract SECURELOGINLIB.SAR


Extract the file SECURELOGINLIB.SAR to the new folder with the SAPCAR command line tool. sapcar xvf <SourcePath>\SECURELOGINLIB.SAR R <INSTDIR>\<SID>\DVEBMGS<instance_number>\SLL\ Example: sapcar xvf D:\SECURELOGINLIB.SAR R D:\usr\sap\ABC\DVEBMGS00\SLL\

Step 4 - Test Secure Login Library


To verify Secure Login Library, use the following snc command:

<INSTDIR>\<SID>\DVEBMGS<instance_number>\SLL\snc.exe
Microsoft Windows Example D:\usr\sap\ABC\DVEBMGS00\SLL\snc.exe

The system displays further information about the Secure Login Library. The test is successful if the product version is displayed.

Figure: Verify Secure Login Library with the command snc

If the following error message is displayed, install the Microsoft Visual C++ 2010 Redistributable Package.

14

06/2011

2 Secure Login Library Installation

2.3 Installation on a UNIX/Linux Operating System


Before starting the installation process, the Secure Login Library software SECURELOGINLIB.SAR must be available. Copy the file to the target SAP NetWeaver Application Server. Secure Login Library must be installed in a directory to which the Application Server has access to at runtime. We recommend that you create this directory below the SAP NetWeaver Application Server. Perform the configuration steps for the Secure Login Library with the user account that will start the SAP application (for example, <SID>adm). Once configuration is complete, the <SID>adm user needs to have access rights to the Secure Login Library.

Step 1 - Create Folder SLL


Create a new folder named SLL in:

<INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL
Example: /usr/sap/ABC/DVEBMGS00/SLL

Step 2 - Extract SECURELOGINLIB.SAR


Extract the file SECURELOGINLIB.SAR to the new folder with the SAPCAR command line tool. sapcar xvf <SourcePath>/SECURELOGINLIB.SAR R <INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL/

Example: sapcar xvf /tmp/SECURELOGINLIB.SAR R /usr/sap/ABC/DVEBMGS00/SLL/

Step 3 - Define File Attributes in UNIX/Linux


To use shared libraries in shell (operating system UNIX/Linux), you need to set the file permission attributes with the following command: chmod +rx <INSTDIR>/<SID>/DVEBMS<instance_number>/SLL/snc lib* Example chmod +rx /usr/sap/ABC/DVEBMS00/SLL/snc lib*

06/2011

15

2 Secure Login Library Installation

To use the shell under the operating system HP-UX with the shared libraries, you need to set an attribute with the following command:

chatr +s enable <INSTDIR>/<SID>/DVEBMS<instance_number>/SLL/snc

Step 4 - Define File Owner in UNIX/Linux


Apply access rights to the user account that will start the SAP application (for example, <SID>adm). Change to the folder <INSTDIR>/<SID>/DVEBMS<instance_number>/SLL/ and use the following command: chown [OWNER]:[GROUP] * Example chown abcadm:sapsys

Step 5 - Test Secure Login Library


To verify Secure Login Library, use the snc command (in UNIX/Linux environment test with user <SID>adm):

<INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL/snc
Example: /usr/sap/ABC/DVEBMGS00/SLL/snc The system displays further information about the Secure Login Library. The test is successful if the product version is displayed.

Figure: Verify Secure Login Library with the command snc

16

06/2011

2 Secure Login Library Installation

2.4 Updating the Secure Login Library


You can download the Support Package software from the SAP Service Marketplace. Go to https://service.sap.com/swdc and choose Support Package and Patches > Browse our Download Catalog > SAP NetWeaver and complementary products > SAP NetWeaver Single Sign-On > SAP NetWeaver Single Sign-On 1.0. ADAPT_LINK Simply copy the new version to the relevant folder and replace the old library files.

06/2011

17

2 Secure Login Library Installation

2.5 Uninstallation
This section explains how to uninstall Secure Login Library.

Remove Folder SLL


Remove the folder and the files in it: Microsoft Windows <INSTDIR>\<SID>\DVEBMGS<instance_number>\SLL\ UNIX/Linux

<INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL/

Deactivate SNC Library Configuration


This step is optional and required only if the Secure Login Library is configured in an SAP NetWeaver instance profile parameter. If you want deactivate SNC, define the following instance profile parameter and restart the SAP NetWeaver ABAP Application Sever: snc/enable = 0

For more information about the instance profile parameters see section 3 Secure Login Library Configuration.

18

06/2011

3 Secure Login Library Configuration

3 Secure Login Library Configuration


You perform the SNC configuration for the SAP NetWeaver server system using the instance profile. Use the transaction RZ10 to maintain the SNC profile parameters. The Secure Login Library can be configured to accept user authentications based on Kerberos tokens and X.509 certificates. Both authentication mechanisms can be used in parallel. You can create or import X.509 certificates in the Trust Manager using the transaction STRUST. To configure the Secure Login Library for Kerberos, you can use a command line tool. For the complete description of the SNC interface and parameters, see the SAP SNC manual (http://help.sap.com). If you want to manage your PSEs in the Trust Manager, you must use SAPCRYPTOLIB. SAPCRYPTOLIB comes with the SAP NetWeaver AS ABAP. If you do not run an SAP NetWeaver AS ABAP, download SAPCRYPTOLIB from the SAP Service Marketplace. Go to https://service.sap.com/swdc, choose Search for Software Downloads, and look for the relevant download package.

3.1 SNC X.509 Configuration


This section describes the SNC X.509 certificate configuration.

SNC Parameters
Log on to the SAP NetWeaver Application Server using SAP GUI. Start the transaction RZ10 and define the following SNC parameters in Instance Profile.

Parameter snc/enable snc/gssapi_lib

Value 1 0 Activate SNC Deactivate SNC

Define the SNC library. Microsoft Windows <Path>\SLL\secgss.dll HP-UX <Path>/SLL/libsecgss.sl Solaris / Linux / AIX <Path>/SLL/libsecgss.so Define the SNC name of the SAP servers security token. X.509 Certificate Token p:<X.509_Distinguished_Name> Example:

snc/identity/as

p:CN=ABC, OU=SAP Security

06/2011

19

3 Secure Login Library Configuration

Hint: If X.509 certificate token and Kerberos tokens are used in parallel, define the X.509 certificate distinguished name. This value is case sensitive. snc/data_protection/max snc/data_protection/min snc/data_protection/use snc/r3int_rfc_secure snc/r3int_rfc_qop snc/accept_insecure_cpic snc/accept_insecure_gui 3 2 3 0 8 1 1 Accept insecure communication Use this value if both insecure and secure communication are to be allowed for SAP GUI. 0 Disallow insecure communication Use this value only if secure communication is to be allowed only (no insecure communication) for SAP GUI. U User-defined (User Management SU01) Use this value if insecure or secure communication for SAP GUI application is to be configured in the user management tool (SU01). We recommend that you set this value to 1. If you want to enforce higher security, change this value to 0 (for all) or U (user dependent). snc/accept_insecure_rfc snc/permit_insecure_start snc/force_login_screen 1 1 0

Import X.509 Certificate


Start transaction STRUST and import the SAP server certificate. The SAP server certificate must be available in a PSE format. For a client/server communication, the certificates must be provided by a Public Key Infrastructure (PKI). If no PKI is available the Secure Login Server (out of the box PKI) can be used to provide certificates. From the PSE menu, choose Import.

20

06/2011

3 Secure Login Library Configuration

Figure: Transaction STRUST Import X.509 Certificate Load the PSE file by entering the password, navigate back to the PSE menu, choose Save as, and select SNC SAPCryptolib.

Figure: Save PSE as SNC SAPCryptolib If the certificate distinguished name of the PSE file does not match the SNC name configuration set in the instance profile parameter (snc/identity/as), an error message appears. This verification check is performed only if SNC is activated. You can see trusted certificates that have been imported with the transaction STRUST if you enter the following command: Microsoft Windows: <INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL/snc O <SAPServiceSID> Linux: <INSTDIR>/<SID>adm/DVEBMGS<instance_number>/SLL/snc O <SIDadm> Example Microsoft Windows: /usr/sap/ABC/DVEBMGS00/SLL/snc O SAPServiceABC UNIX/Linux: /usr/sap/ABCadm/DVEBMGS00/SLL/snc O absadm

06/2011

21

3 Secure Login Library Configuration

Restart SAP NetWeaver Application Server


Verify the following checklist and restart the SAP NetWeaver Application Server.

Secure Login Library is installed and if required in shell; the environment variable SECUDIR is defined. File access rights are defined for Secure Login Library. SNC parameters are defined in the instance profile. Correct path and filename configuration for the SNC library. Correct definition of the SNC name (case sensitive). X.509 certificate for the SAP System has been imported using STRUST.

3.2 SNC Kerberos Configuration


This section describes the SNC Kerberos configuration.

SNC Parameter
Login on to the SAP NetWeaver Server using SAP GUI. Start transaction RZ10 and define the following SNC parameters In the instance profile.

Parameter snc/enable snc/gssapi_lib

Value 1 0 Activate SNC Deactivate SNC

Define the SNC library. Microsoft Windows <Path>\SLL\secgss.dll HP-UX <Path>/SLL/libsecgss.sl Solaris / Linux / AIX <Path>/SLL/libsecgss.so Define the SNC name of the SAP servers security token. Kerberos Token p:CN=<ServicePrincipalName> Example:

snc/identity/as

p:CN=SAP/KerberosABC@DEMO.LOCAL
Hint: If X.509 certificate token and Kerberos tokens are used in parallel, define the X.509 certificate distinguished name. This value is case sensitive. snc/data_protection/max snc/data_protection/min snc/data_protection/use 3 2 3

22

06/2011

3 Secure Login Library Configuration

snc/r3int_rfc_secure snc/r3int_rfc_qop snc/accept_insecure_cpic snc/accept_insecure_gui

0 8 1 1 Accept insecure communication Use this value if insecure and secure communication should be allowed for SAP GUI. 0 Disallow insecure communication Use this value only if secure communication is to be allowed (no insecure communication) for SAP GUI. U User-defined (User Management SU01) Use this value if insecure or secure communication for SAP GUI is to be configured in the user management tool (SU01). We recommend that you set this value to 1. If you want to enforce higher security, change this value to 0 (for all) or U (user-dependent).

snc/accept_insecure_rfc snc/permit_insecure_start snc/force_login_screen

1 1 0

Microsoft Windows Account for SAP Server


In order to verify user Kerberos authentication, the Secure Login Library requires a Kerberos keytab which you can create using the command line tool, provided by Secure Login Library. The Kerberos keytab contains Kerberos principals and encrypted keys that are derived from the Microsoft Windows user password. Therefore a Microsoft Windows account in Microsoft Active Directory is required.

Create a Microsoft Windows Account


Create a new Microsoft Windows Account. We recommend the format Kerberos<SID>.

06/2011

23

3 Secure Login Library Configuration

Figure: Create a Microsoft Windows Account

Define a password and choose the option User cannot change password and Password never expires.

Figure: Create a Microsoft Windows Account Make sure the password is as complex as possible.

Define Service Principal Name


The Service Principal Name will be used to provide Kerberos service tokens to the requested users. This Service Principal Name is also required for the SNC name configuration. Start the Microsoft Windows tool ADSIEDIT; choose the Microsoft Windows user (in our example: KerberosABC) and define the field servicePrincipalName.

24

06/2011

3 Secure Login Library Configuration

Figure: Define Service Principal Name

The required format is SAP/Kerberos<SID>.

Figure: Define Service Principal Name

Check for Multiple Service Principal Names


If the Secure Login Client does not get a service ticket from the domain server, this may be due to the fact that the Service Principal Name used has been assigned several times in the Active Directory system. Use the following command to check this: Example:

06/2011

25

3 Secure Login Library Configuration

setspn T * -T foo -X

Create Kerberos Keytab


You create the Kerberos keytab using a command line tool provided by Secure Login Library. This Kerberos keytab is stored in the Personal Security Environment (pse.zip). Perform the configuration steps with the user account that will start the SAP application (for example, <SID>adm). This does not apply for the Microsoft Windows operating system.

Create PSE Environment


Log on to the operating system where the Secure Login Library is installed. Open a command line window and change to the Secure Login Library folder. Microsoft Windows <INSTDIR>\<SID>\DVEBMGS<instance_number>\SLL\ UNIX/Linux <INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL/ Temporarily define the environment variable SECUDIR to perform the subsequent configuration steps. Microsoft Windows set SECUDIR=<INSTDIR>\<SID>\DVEBMGS<instance_number>\sec UNIX/Linux (depends on shell) setenv SECUDIR <INSTDIR>/<SID>/DVEBMGS<instance_number>/sec export SECUDIR=<INSTDIR>/<SID>/DVEBMGS<instance_number>/sec

If no Personal Security Environment (PSE) is available; enter the following command to create a PSE:

snc crtpse x <PSE Management Password>


The PSE management password is used if the PSE environment (pse.zip) is copied to another host system. By default, a PSE can be used by the host system (if correct hostname), or using this management password. For more information, see section 4.2 Command Line Tool SNC. Use the command snc to verify the location in which the PSE (pse.zip) was created. The PSE is created in the path in which the environment variable SECUDIR is defined.

26

06/2011

3 Secure Login Library Configuration

Figure: Verify PSE Location PSE directory must point to the <INSTDIR>/<SID>/DVEBMS<instance_number>/sec folder. The environment variable SECUDIR is defined automatically by the SAP server process. Define this environment variable manually (shell) if you need to access the PSE (for example, using the snc command line application).

Generate Kerberos Keytab in PSE Environment


To create a Kerberos keytab in the PSE, enter the following command. The Service Principal Name and the password of the Microsoft Windows account are required.

snc crtkeytab s SAP/Kerberos<SID>@<DOMAIN> -p <password>


Example

snc crtkeytab s SAP/KerberosABC@DEMO.LOCAL -p **********

The domain name needs to be defined in uppercase.

snc crtkeytab s SAP/KerberosABC@DEMO.LOCAL -p **********


Use the command snc to verify if the Kerberos keytab was generated.

Figure: Verify Kerberos keytab

06/2011

27

3 Secure Login Library Configuration

Restart SAP NetWeaver Application Server


Verify the following checklist and restart the SAP NetWeaver Application Server.

Secure Login Library is installed and if required in shell; the environment variable SECUDIR is defined. File access rights are defined for Secure Login Library. SNC parameters are defined in the instance profile. Correct path and filename configuration for the SNC library. Correct definition of the SNC name (case sensitive). PSE Environment was created and the Kerberos keytab has been imported using the Secure Login Library command line tool.

Verify SAP Server SNC Status


After you have restarted the SAP NetWeaver Application Server; verify the SNC status in the log file dev_w0. The result should be SNC (Secure Network Communication) enabled. Example: <INSTDIR>\<SID>\DVEBMGS<instance_number>\work\dev_w0 N SncInit(): Initializing Secure Network Communication (SNC) N PC with Windows NT (mt,ascii,SAP_UC/size_t/void* = 16/64/64) N SncInit(): found snc/data_protection/max=3, using 3 (Privacy Level) N SncInit(): found snc/data_protection/min=2, using 2 (Integrity Level) N SncInit(): found snc/data_protection/use=3, using 3 (Privacy Level) N SncInit(): found snc/gssapi_lib=D:\usr\sap\ABC\DVEBMGS00\SLL\secgss.dll N File "D:\usr\sap\ABC\DVEBMGS00\SLL\secgss.dll" dynamically loaded as GSS-API v2 library. N The internal Adapter for the loaded GSS-API mechanism identifies as: N Internal SNC-Adapter (Rev 1.0) to SECUDE 5/GSS-API v2 N SncInit(): found snc/identity/as=p:CN=ABC, OU=SAP Security N N Thu May 05 16:42:15 2011 N SncInit(): Accepting Credentials available, lifetime=Indefinite N SncInit(): Initiating Credentials available, lifetime=Indefinite M ***LOG R1Q=> p:CN= ABC, OU=SAP Security [thxxsnc.c 265] M SNC (Secure Network Communication) enabled

Another possibility is to use transaction ST11 and open dev_w0.

If there are problems with the SNC configuration, the SAP server system will no longer

28

06/2011

3 Secure Login Library Configuration

start. A quick solution is to disable SNC. Open the instance profile configuration file and configure the parameter snc/enable = 0. Restart the SAP NetWeaver Application Server and verify the SNC installation and configuration.

06/2011

29

4 Configuration Options

4 Configuration Options
This section describes some useful configuration and troubleshooting issues.

4.1 Enable Trace


To enable trace, you need to create the files sec_log_file_filename.txt and sec_log_file_level.txt in the folder: Both files must exist (for example, with level = 0) when the application server is started, if you want to be able to activate traces later (by changing the trace level). Microsoft Windows %HOMEDRIVE%%HOMEPATH%\sec or C:\sec UNIX/Linux $HOME/sec or /etc/sec The file sec_log_file_filename.txt contains the name of the trace file. The name may contain %.PID.% which is replaced by the process ID. A typical SAP WebAS creates multiple work processes, so use this feature to avoid parallel access to the same file by all processes. Microsoft Windows Example sec_log_file_filename.txt C:\sec\log-%.PID.%.txt UNIX/Linux Example sec_log_file_filename.txt /etc/sec/log-%.PID.%.txt

The file sec_log_file_level.txt contains the trace level as a single digit. Example sec_log_file_level.txt 4 Value 0 1 2 3 4 Details No trace Errors Errors and warnings Errors, warnings, and logs Errors, warnings, logs, and information messages

30

06/2011

4 Configuration Options

4.2 Command Line Tool SNC


You can use the command line tool SNC to perform the following task:

Display security token Information Create a Personal Security Environment (pse.zip). Import X.509 certificates Certificate management Create and import a Kerberos keytab If not defined, set the environment variable SECUDIR to: before using the snc command.

<INSTDIR>/<SID>/DVEBMGS<instance_number>/sec

To call the snc command, add the <INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL directory to the PATH variable or call snc together with the following path: Microsoft Windows <INSTDIR>\<SID>\DVEBMGS<instance_number>\SLL\snc.exe UNIX <INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL/snc Use the command snc H to display the complete documentation of each parameter.

Display Software Version Number


Go to the installation directory and use the command snc or snc status to display the version number of the installed software. You get the following output: Example: Product

: Secure Login Library 1.0.0 : CryptoLib 8.3.4.0 Support Package SP0/ATS SP1 SP2

Version Number 8.3.2 8.3.3 8.3.4.

Display Security Token Information


Use the following command to display the security tokens (Kerberos keytab and X.509 certificates). snc status -v

06/2011

31

4 Configuration Options

To display the status for a specific user use the following command: snc O <User Name> status -v Example: snc O abcadm status v snc O SAPServiceABC status -v

Create PSE Environment


Use the following command to create a Personal Security Environment (PSE). snc crtpse x <PSE_management_password> The PSE (pse.zip) will be created in the path; the environment variable SECUDIR is defined. By default, the host system, where this PSE is created, and the owner of the PSE Management Password have access to PSE. It is not possible to copy this PSE (pse.zip) to another host system, without creating new credentials. Add new credentials for a new hostname snc cred x <PSE_management_password> s <new_host_name> Add new credentials for a new user snc cred x <PSE_management_password> u <new_user>

Configure key server file for PSE snc cred x <PSE_management_password> f <server_key_file> The server key file is a file on the server with random content which is used to grant access to the PSE. You can use any kind of file type which is larger than 32 Byte. It is required to create or copy the file to the desired location on the server. Usinga server key file limits the use of PSE to the user, who has file access rights to the server key file.

Register PKCS#12 to PSE


Use this command to register a key/certificate pair in PKCS#12 format in the Personal Security Environment snc register f <PKCS#12_file> Example

32

06/2011

4 Configuration Options

snc register f C:\Certificate\cert.p12 Use the command snc status v to verify the import.

Unregister Security Token from PSE


Use this command to remove a security token which is registered in the Personal Security Environment. snc unregister u toksw:<Token_URL> Example snc unregister u toksw:C:\Certificate\cert.p12 Use the command snc status v to display the value for toksw:

Create Kerberos Keytab


To create a Kerberos keytab in the PSE, enter the following command. The Service Principal Name and the password of the Microsoft Windows account are required. snc crtkeytab s SAP/Kerberos<SID>@<DOMAIN> -p <password> Example snc crtkeytab s SAP/KerberosABC@DEMO.LOCAL -p **********

Import Trusted Certificate to PSE


Use this command to import a certificate (for example, a trusted Root CA certificate) into the Personal Security Environment. snc trust a <certificate_file> Example snc trust a C:\Certificate\RootCA.cer

Remove Trusted Certificate from PSE


Use this command to remove a certificate (ffor example, a trusted Root CA certificate) from the Personal Security Environment. snc trust d <Distinguished_Name>

06/2011

33

4 Configuration Options

Example snc trust d CN=Certificate, OU=SAP Security Use the command snc status v to display the certificate distinguished name. Use the command snc -H to display further configuration parameters.

4.3 Define Symmetric Algorithm


This section explains how to define the symmetric algorithm, which is used to secure communication. By default, the Secure Login Library provides the following symmetric algorithm (priority in this order).

AES256 AES192 (old protocol 1993 only) AES128 3DES (old protocol 1993 only) RC4 (new protocol 2010 only)

Secure Login Library has implemented two protocols named protocol_1993 (old) and protocol_2010 (new). The old protocol is compatible with SAP Crypto Library (SAPCryptoLib). The new protocol supports X.509 certificates and Kerberos tokens in parallel. If SAP GUI establishes a secure communication to the SAP NetWeaver Application Server, the symmetric algorithm is agreed between both partners. It is possible to force the use of, for example, the AES256 symmetric algorithm. You can define this in the Secure Login Library configuration file gss.xml.

Parameter <algs_encr>XXX</algs_encr>

Details Use this parameter to define the symmetric algorithm for the old protocol, which is defined in section <protocol_1993>. This protocol is compatible with SAP Crypto Library (SAPCryptoLib). By default, the strongest symmetric algorithm that is available on both sides is agreed. It is possible in the Secure Login Library to allow the acceptance of only aes256, for example. You can define the following algorithms: aes256 aes192 aes128

34

06/2011

4 Configuration Options

des3 Default is <empty>. The symmetric algorithm is arranged during the authentication process. <ciphers>XXX</ciphers> Use this parameter to define the symmetric algorithm for the new protocol, which is defined in section <protocol_2010>. This protocol supports the Kerberos solution. By default, the strongest symmetric algorithm that is available on both sides is agreed. It is possible in the Secure Login Library to allow only the acceptance of only AES256, for example. You can define the following algorithms: AES256 AES128 RC4 Default is <empty>. The symmetric algorithm is arranged during the authentication process.

gss.xml
<gss> <server> <protocol_1993> <algs_encr>xxx</algs_encr> </protocol_1993> <protocol_2010> <ciphers>xxx</ciphers> </protocol_2010> </server> </gss>

06/2011

35

4 Configuration Options

4.4 Uppercase Distinguished Name Feature


To support case insensitivity for user certificate names used by SNC, the GSS Distinguished Names presented to SAP SNC may be converted to UPPERCASE. This can be defined in the Secure Login Library configuration file gss.xml.

Parameter <UpperCaseClientName>XXX </UpperCaseClientName>

Details Define the configuration in parameter <UpperCaseClientName>. true The distinguished name is provided in uppercase. false The distinguished name is provided in mixed case. Default is false.

gss.xml
<gss> <server> <UpperCaseClientName>xxx</UpperCaseClientName> </server> </gss>

36

06/2011

4 Configuration Options

4.5 Alternative Name DN Feature


It is possible to use the Subject Alternative Name from the user certificate that is presented to the SAP SNC interface. You can define this in the Secure Login Library configuration file gss.xml.

Parameter <ClientNameSource>XXX </ClientNameSource>

Details Define the configuration in parameter <ClientNameSource>. AltNameEMAIL RFC 822 name. AltNameDNS DNS name AltNameDNAME Directory name AltNameURI URI AltNameIP IP address AltNameUPN otherName with object identifier Subject Distinguished Name Default is <empty>. In this case, the Subject (Distinguished Name) is used.

gss.xml
<gss> <server> <ClientNameSource>xxx</ClientNameSource> </server> </gss>

06/2011

37

4 Configuration Options

4.6 Shorten Long Distinguished Names


It is possible to shorten parts of the distinguished name (SNC Name) from the user certificates that are presented to the SAP SNC interface. The character limit for SAP server systems is 255 characters (in older systems 80 characters). For example, you can remove entire parts such as a company name which are identical for all users. You can define this in the Secure Login Library configuration file gss.xml.

Parameter <searchstr>XXX</searchstr>

Details In the <nameconversions> section, use the <searchstr> parameter to define the part of the distinguished name to be shortened. Example: OU=Very Long Organization Unit Name In the <nameconversions> section, the <replstr> parameter is used to define the part of the distinguished name to be replaced. Example: OU=Short Name

<replstr>XXX</replstr>

gss.xml
<gss> <nameconversions> <searchstr>VeryLongNameComponent</searchstr> <replstr>ShorterNameComponent</replstr> </nameconversions> <nameconversions> <searchstr>AnotherVeryLongNameComponent</searchstr> <replstr>AnotherShorterNameComponent</replstr> </nameconversions> </gss>

38

06/2011

4 Configuration Options

4.7 User Mapping


This section details how to define the user mapping in SAP user management. For user authentication using security tokens (X.509 certificate or Kerberos token), this mapping is required to define which security token belongs to which SAP user. For smooth and straightforward integration, we recommend that you use the SAP NetWeaver Identity Management solution to manage user mapping.

Manual Configuration
Start the user management tool by calling transaction SU01. Choose the SNC tab. If you are using Kerberos authentication, enter the Kerberos user name in the SNC name field. If you are using X.509 certificate based authentication, enter the X.509 Certificate Distinguished Name in the SNC name field. Note that the definition of the SNC name is case sensitive.

Kerberos Example
In this example the SNC Name p:CN=MICROSOFTUSER@DEMO.LOCAL belongs to the user SAPUSER.

06/2011

39

4 Configuration Options

X.509 Certificate Example


In this example, the SNC name p:CN=SAPUSER, OU=SAP Security belongs to the user SAPUSER.

For more information about how to perform user mapping, see the Secure Login Library Installation, Configuration, and Administration Guide.

Set External Security Name for All Users


You can use transaction SNC1 (report RSUSR300) to configure the SNC name in batch mode. Note that the definition of the string is case sensitive. With this tool you can choose all SAP Users *, a list of SAP users or SAP user groups. You can use the option Users without SNC names only to overwrite SNC names. This batch tool will takes an SAP user and uses the components <previous_character_string><SAP_user_name><following_character_string> to build the SNC Name.

Kerberos Example
In this example, SNC names are generated with the following string for all users without an SNC name.

p:CN=user_name@DEMO.LOCAL

40

06/2011

4 Configuration Options

X.509 Certificate Example


In this example, SNC names are generated with the following string for all users without an SNC name:

p:CN=user_name, OU= SAP Security

06/2011

41

5 Using Certificate Revocation Lists

5 Using Certificate Revocation Lists


The Secure Login Library supports certificate revocation lists (CRLs). This enables you to make sure that revoked certificates are not accepted. The CRL issued by the Certificate Authority (CA) contains the revoked certificates. The CA issues CRLs at regular intervals. They contain a list of certificates that have been declared as invalid. CAs regularly update certificate revocation lists. They must be replaced regularly by a new CRL or by a CRL that has not yet expired. CAs place certificate revocation lists at CRL distribution points. The Secure Login Library provides a tool that enables you to regularly download new CRLs from CRL distribution points (LDAP or HTTP) to the local cache. Storing CRLs in the local cache ensures fast accessing of the CRLs. You can schedule the download using a cron job. Storing CRLs in the cache improves system performance. Otherwise performance suffers when the Secure Login Library has to download CRLs from an external CRL distribution point. To use the CRL functions, make the appropriate settings in the configuration files. For more information, see 5.2 Configuring the CRL Tool. The local cache for the CRLs is \SECUDIR\dbcrl.

Limitations
The Secure Login Library covers only basic functions on the server side, such as checking client certificates with CRLs, getting CRLs from a distribution point, and storing it in a local cache. The Secure Login Library has the following limitations: Customers cannot use the extension IssuingDistributionPoint in CRLs with the Secure Login Library. No use of delta CRLs At present the Secure Login Library assumes that, in a given environment, all CAs provide CRLs. This means that multiple PKIs using different revocation checking policies and one PKI with CAs using different revocation checking policies are not supported. Usually UNIX does not come with an LDAP client. To use the CRL tool to get CRLs from LDAP, you must provide an OpenLDAP client (liboldap.*). The Secure Login Client does not check CRLs.

5.1 Downloading CRLs with the CRL Tool


The main function of the CRL tool is to enable you to download CRLs from the CRL distribution point and to make them available in the local cache \SECUDIR\dbcrls. When the application server checks certificates, it uses the downloaded CRL. Run the CRL tool at regular intervals to ensure that the most recent CRL is located in the local cache. We recommend using a cron job to schedule the regular download. Make sure the server process has read authorization for the CRL (files) in the cache directory. We recommend using the same user or, in a UNIX environment, granting read authorization with the umask command.

42

06/2011

5 Using Certificate Revocation Lists

CRL Tool Commands


Command crl get Description Downloads a CRL from a given CRL distribution point using a given URL (Web server or LDAP server). For an Active Directory server, the user must be a domain user, and ADS has to be configured in ldap.xml. Shows the current status of the configuration and of the module Shows the CRLs currently located in the local cache Removes the CRL from the local cache Shows the content of a CRL file Stores a CRL in the local cache. If the certificates contain a CRL distribution point, specify its location with -u so that the CRL can be found during certificate verification.

crl status crl list crl remove crl show crl store

Examples of Getting a CRL from a CRL Distribution Point


In the following examples you see the commands for getting a CRL from a CRL distribution point. Use the following command to get a CRL and store it in a file: crl get u <LDAP_server> -f <CRL_file> Example crl get u ldap:///sap.example.com -f file.crl Use the following command to get a CRL and store it in a cache without a distribution point: crl get -u <LDAP_server> store Example crl get u ldap:///sap.example.com store Use the following command to get a CRL and store it in a cache using the same distribution point (the URL in the store command must be the path of the CRL distribution list). crl get -u <LDAP_server> store -u <LDAP_server> Example crl get u ldap:///sap.example.com u ldap:///sap.example.com Use the following command to get a CRL and store it in a cache using a different distribution point (the URL in the store command must point to the CRL distribution point specified in the certificate). crl get u <HTTP_server> store -u <LDAP_server>

06/2011

43

5 Using Certificate Revocation Lists

Example crl get u http://server/ store -u ldap:///sap.example.com

5.2 Configuring the CRL Tool


The following configuration files are available in the \SLL folder: pkix.xml base.xml ldap.xml

pkix.xml
In the configuration file pkix.xml, you can configure whether a CRL check is used at all. CRL checking is active if the parameter revCheck is set to the value CRL. The default setting of this parameter is no (no use of CRLs). After you have entered changes in the configuration files, restart your ABAP server so that the newly-set parameters take effect.

Example <pkix> <profile> <issuer></issuer> <acceptNoBCwithKeyUsage>TRUE</acceptNoBCwithKeyUsage> <revCheck>CRL</revCheck> <certificatePolicies>noCheck</certificatePolicies> </profile> </pkix>

base.xml
You can configure the cache and the verification of the CRL download in the file base.xml. If you use CRLs that are located in the cache, performance will improve considerably. By default, the parameter verificationonlineaccess is set to false to disable the function that verifies the CRLs online. If you want to activate the CRL cache, set the parameter usepkicache to true (default setting is false). If you want to define a different location for the cache directory, you may optionally use the parameter pkicachedir and enter the location there (for multiple servers accessing the cache, you could use an NFS cache). Example

44

06/2011

5 Using Certificate Revocation Lists

<base> <verificationonlineaccess>false</verificationonlineaccess> <usepkicache>true</usepkicache> <pkicachedir></pkicachedir> </base>

ldap.xml
You only need to modify this file if an LDAP URL that does not contain the server name is used as a CRL distribution point (in the default setting, the relevant section is commented out). In this case, you define the name of the LDAP server in the configuration file ldap.xml. If you are in a Microsoft Windows domain and Active Directory is used as LDAP server, you must enter the value ADS in the parameter name. Example <ldap> <server> <name>ADS</name> </server> </ldap>

06/2011

45

6 Troubleshooting

6 Troubleshooting
This section provides further information about how to perform troubleshooting for Secure Login Library.

6.1 SNC Library Not Found


The SNC library and configuration are verified when the SAP ABAP server starts. Problem SNC library cannot be found. Checklist Possible Issues

Verify SAP trace file dev_w0. Verify if Secure Login Library is installed correctly. Verify the installation described in section 2 Secure Login Library Installation. Verify the SNC configuration. Log on to SAP ABAP server using SAP GUI and start transaction RZ10. Choose the instance profile and verify the value of the parameter snc/gssapi_lib. For more information, see section 3 Secure Login Library Configuration. Verify SNC library file access rights for the user starting the SAP server. Verify the SNC library status with the command snc status v or snc O <user_name> status v. Enable Secure Login Library trace and analyze the problem. For more information, see section 4.1 Enable Trace.

6.2 Credentials Not Found


The SNC library and configuration are verified when the SAP ABAP server starts. Problem Could not get credentials. Checklist Possible Issues

Verify SAP trace file dev_w0. Verify if Secure Login Library is installed correctly. Verify the installation described in section 2 Secure Login Library Installation. Verify the SNC configuration. Log on to SAP ABAP server using SAP GUI and start transaction RZ10. Choose the instance profile and verify the SNC configuration. For more information, see section 3 Secure Login Library Configuration.

46

06/2011

6 Troubleshooting

Verify SNC library file access rights for the user starting the SAP server. Verify if the SNC certificate was provided to the Secure Login Library PSE environment. Start a command line shell and change to the Secure Login Library folder <INSTDIR>/<SID>/DVEBMGS<instance_number>/SLL. Set the environment SECUDIR=<INSTDIR>/<SID>/DVEBMGS<instance_number>/sec Use the command: snc O <SAP_service_user> status v Microsoft Windows Example: snc O SAPServiceABC status v Linux Example: snc O abcadm status v

Enable the Secure Login Library trace and analyze the problem. For more information, see section 4.1 Enable Trace.

6.3 No User Exists with SNC Name


Problem If the error message No user exists with SNC name occurs and your login fails, a server with a default Secure Login Library configuration cannot find the SNC name in the database. For further information, see the SAP Note 1635019.

06/2011

47

7 List of Abbreviations

7 List of Abbreviations
Abbreviation ADS CA CAPI CRL CSP DN EAR HTTP HTTPS IAS JAAS JSPM LDAP NPA PIN PKCS PKCS#10 PKCS#11 PKCS#12 PKI PSE RADIUS RFC RSA SAR SCA SLAC SLC SLL SLS SLWC SNC Meaning Active Directory Service Certification Authority Microsoft Crypto API Certification Revocation List Cryptographic Service Provider Distinguished Name Enterprise Application Archive Hyper Text Transport Protocol Hyper Text Transport Protocol with Secure Socket Layer (SSL) Internet Authentication Service (Microsoft Windows Server 2003) Java Authentication and Authorization Service Java Support Package Manager Lightweight Directory Access Protocol Network Policy and Access Services (Microsoft Windows Server 2008) Personal Identification Number Public Key Cryptography Standards Certification Request Standard Cryptographic Token Interface Standard Personal Information Exchange Syntax Standard Public Key Infrastructure Personal Security Environment Remote Authentication Dial-In User Service Remote function call (SAP NetWeaver term) Rivest, Shamir and Adleman SAP Archive Software Component Archive Secure Login Administration Console Secure Login Client Secure Login Library Secure Login Server Secure Login Web Client Secure Network Communication (SAP term)

48

06/2011

7 List of Abbreviations

SSL UPN WAR WAS

Secure Socket Layer User Principal Name Web Archive Web Application Server

06/2011

49

8 Glossary

8 Glossary
Authentication
A process that checks whether a person is really who they claim to be. In a multi-user or network system, authentication means the validation of a users logon information. A users name and password are compared against an authorized list.

Base64 encoding
Base64 encoding is a three-byte to four-characters encoding based on an alphabet of 64 characters. This encoding has been introduced in PEM (RFC1421) and MIME. Other uses include HTTP Basic Authentication headers and general binary-to-text encoding applications. Note: Base64 encoding expands binary data by 33%, which is quite efficient

CAPI
See Cryptographic Application Programming Interface

Certificate
A digital identity card. A certificate typically includes:

The public key being signed. A name, which can refer to a person, a computer or an organization. A validity period. The location (URL) of a revocation center. The digital signature of the certificate produced by the CAs private key.

The most common certificate standard is the ITU-T X.509.

Certification Authority (CA)


An entity which issues and verifies digital certificates for use by other parties.

Certificate Revocation List (CRL)


A group of certificates that have been declared to be invalid. The certificate revocation list is maintained and publically released by the issuing Certification Authority (CA) and typically contains the following information: The certificate's serial number The issuing CA's Distinguished Name The date of revocation.

Certificate Store
Sets of security certificates belonging to user tokens or certification authorities.

CREDDIR
A directory on the server in which information is placed that goes beyond the PSE

50

06/2011

8 Glossary

(personal security environment).

Credentials
Used to establish the identity of a party in communication. Usually they take the form of machine-readable cryptographic keys and/or passwords. Cryptographic credentials may be self-issued, or issued by a trusted third party; in many cases the only criterion for issuance is unambiguous association of the credential with a specific, real individual or other entity. Cryptographic credentials are often designed to expire after a certain period, although this is not mandatory. Credentials have a defined time to live (TTL) that is configured by a policy and managed by a client service process.

CRL Distribution Point


Publicly available location where a Certification Authority (CA) hosts its certificate revocation list (CRL).

Cryptographic Application Programming Interface (CAPI)


The Cryptographic Application Programming Interface (also known variously as CryptoAPI, Microsoft Cryptography API, or simply CAPI) is an application programming interface included with Microsoft Windows operating systems that provides services to enable developers to secure Microsoft Windows-based applications using cryptography. It is a set of dynamically-linked libraries that provides an abstraction layer that isolates programmers from the code used to encrypt the data. Cryptographic Token Interface Standard A standardized crypto-interface for devices that contain cryptographic information or that perform cryptographic functions.

Directory Service
Provides information in a structured format. Within a PKI: Contains information about the public key of the user of the security infrastructure, similar to a telephone book (for example, an X.500 or LDAP directory).

Distinguished Name (DN)


A name pattern that is used to create a globally unique identifier for a person. This name ensures that identical certificates are never created for different people with the same name. The uniqueness of the certificate is additionally ensured by the name of the issuer of the certificate (that is, the certification authority) and the serial number. All PKI users require a unique name. Distinguished Names are defined in the ISO/ITU X.500 standard.

Key Usage
Key usage extensions define the purpose of the public key contained in a certificate. You can use them to restrict the public key to as few or as many operations as needed. For example, if you have a key used only for signing, enable the digital signature and/or non-repudiation extensions. Alternatively, if a key is used only for key management, enable key enciphering.

Key Usage (extended)

06/2011

51

8 Glossary

Extended key usage further refines key usage extensions. An extended key is either critical or non-critical. If the extension is critical, the certificate must be used only for the indicated purpose or purposes. If the certificate is used for another purpose, it is in violation of the CA's policy. If the extension is non-critical, it indicates the intended purpose or purposes of the key and may be used in finding the correct key/certificate of an entity that has multiple keys/certificates. The extension is then only an informational field and does not imply that the CA restricts use of the key to the purpose indicated. Nevertheless, applications that use certificates may require that a particular purpose be indicated in order for the certificate to be acceptable.

Lightweight Directory Access Protocol (LDAP)


A network protocol designed to extract information such as names and e-mail addresses from a hierarchical directory such as X.500.

PKCS#11
PKCS refers to a group of Public Key Cryptography Standards devised and published by RSA Security. PKCS#11 is an API defining a generic interface to cryptographic tokens.

PEM
See Privacy Enhanced Mail.

Personal Identification Number (PIN)


A unique code number assigned to the authorized user.

Personal Information Exchange Syntax Standard


Specifies a portable format for saving or transporting a users private keys, certificates, and other secret information.

Personal Security Environment


The PSE is a personal security area that every user requires to work with. A PSE contains security-related information. This includes the certificate and its secret private key. The PSE can be either an encrypted file or a smart card and is protected with a password.

PIN
See Personal Identification Number.

Privacy-Enhanced Mail (PEM)


The first known use of Base 64 encoding for electronic data transfer was the Privacyenhanced Electronic Mail (PEM) protocol, proposed by RFC 989 in 1987. PEM defines a "printable encoding" scheme that uses Base 64 encoding to transform an arbitrary sequence of octets to a format that can be expressed in short lines of 7-bit characters, as required by transfer protocols such as SMTP. The current version of PEM (specified in RFC 1421) uses a 64-character alphabet consisting of upper- and lower-case Roman alphabet characters (AZ, az), the numerals (09), and the "+" and "/" symbols. The "=" symbol is also used as a special suffix code.

52

06/2011

8 Glossary

The original specification additionally used the "*" symbol to delimit encoded but unencrypted data within the output stream.

Public FSD
Public file system device. An external storage device that uses the same file system as the operating system.

Public Key Cryptography Standards


A collection of standards published by RSA Security Inc. for the secure exchange of information over the Internet.

Public Key Infrastructure


Comprises the hardware, software, people, guidelines, and methods that are involved in creating, administering, saving, distributing, and revoking certificates based on asymmetric cryptography. Is often structured hierarchically. In X.509 PKI systems, the hierarchy of certificates is always a top-down tree, with a root certificate at the top, representing a CA that does not need to be authenticated by a trusted third party.

Root certification authority


The highest certification authority in a PKI. All users of the PKI must trust it. Its certificate is signed with a private key. There can be any number of CAs between a user certificate and the root certification authority. To check foreign certificates, a user requires the certificate path as well as the root certificate.

Root certification
The certificate of the root CA.

RSA
An asymmetric, cryptographically procedure, developed by Rivest, Shamir, and Adleman in 1977. It is the most widely-used algorithm for encryption and authentication. Is used in many common browsers and mail tools. Security depends on the length of the key: key lengths of 1024 bits or higher are regarded as secure.

Secure Network Communications


A module in the SAP NetWeaver system that deals with the communication with external, cryptographic libraries. The library is addressed using GSS API functions and provides SAP NetWeaver components with access to security functions.

Secure Sockets Layer


A protocol developed by Netscape Communications for setting up secure connections over insecure channels. Ensures the authorization of communication partners and the confidentiality, integrity, and authenticity of transferred data.

06/2011

53

8 Glossary

Single Sign-On
A system that administrates authentication information allowing a user to logon to systems and open programs without the need to enter authentication every time (automatic authentication).

Token
A security token (or sometimes a hardware token, authentication token or cryptographic token) may be a physical device that an authorized user of computer services is given to aid in authentication. The term may also refer to software tokens. Smart-card-based USB tokens (which contain a smart card chip inside) provide the functionality of both USB tokens and smart cards. They enable a broad range of security solutions and provide the abilities and security of a traditional Smart Card without requiring a unique input device (smart card reader). From the computer operating systems point of view a token is a USB-connected smart card reader with one nonremovable smart card present. Tokens provide access to a private key that allows the user to perform cryptographic operations. The private key can be persistent (like a PSE file, smart card, or CAPI container) or non-persistent (like temporary keys provided by Secure Login).

Windows Credentials
A unique set of information authorizing the user to access the Microsoft Windows operating system on a computer. The credentials usually comprise a user name, a password, and a domain name (optional).

X.500
A standardized format for a tree-structured directory service.

X.509
A standardized format for certificates and blocking list.

54

06/2011