PackagePackagetypeA library you install and call yourself.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

abapPM/ABAP-Strust

A class-based wrapper around ABAP Trust Management (STRUST) for adding, updating, removing and listing certificates from a program, with installer and updater programs for the certificates a domain needs.

ABAP-Strust wraps transaction STRUST behind the class /apmg/cl_strust, so a program can create, load, add, remove and list certificates in a trust context instead of clicking through the transaction. Program /APMG/STRUST_INSTALLER installs the certificates a given domain needs, and /APMG/STRUST_UPDATER refreshes them later, including root and intermediate certificates. The class also generates a certificate signing request for an SSL server context and imports the signed response back into it, notifying the Internet Connection Manager. Its prerequisites are SAP Basis 7.50 or higher and three packages: ajson, exceptions and distinguished-name; it installs as a module through apm.

Facts

Last pushLicenceMIT

Where it sits

Lives in
Provides
Certificate managementABAPCertificate managementcapabilityKeeping the certificates a system trusts and presents over TLS current: importing root and intermediate CAs, requesting and importing its own signed certificate, and replacing one before it expires. Storing and rotating passwords and keys an application reads is [secrets rotation](capability:secrets-rotation).
Requires
ajsonajsonartifactone of the three packages the README lists under Prerequisites, beside exeptions and distinguished-name

Who is behind it

apm.toapm.toOrganisationMaintains this
In the atlas: maintains 1
@abapPM
maintainerMarc F. BernardPersonContributes to this
In the atlas: contributes to 4
@marcfbe
Marc BernardPersonContributes to this
In the atlas: contributes to 26
@mbtools
2 contributors

What it declares

Every artifact

Type
Package
Origin
Independently maintained

As a package

Where it runs
Inside its host
Distributed through
abapGit

Connections2

README

quoted from abapPM/ABAP-Strust under MIT, read
abapPM/ABAP-Strust/README.mdOn GitHub

Version

License Contributor Covenant REUSE Status

Trust Management

Easy-to-use class for adding, updating, or removing certificates from ABAP Trust Management (transaction STRUST)

NO WARRANTIES, MIT License

Usage

Install Certificates

Run program /APMG/STRUST_INSTALLER and enter the domain for which you want to install the required certificates to ABAP Trust Management:

Installer Selection-Screen

Installer Result

Update Certificates

Run program /APMG/STRUST_UPDATER and optionally enter domains for which you want to update the certificates to ABAP Trust Management:

Updater Selection-Screen

Updater Result

Updater Result

Updater Result with Root Intermediate Certificates

API

Example of creating, updating, or removing a certificate using class /apmg/cl_strust.

CONSTANTS:
  c_sslc    TYPE psecontext VALUE 'SSLC' ##NO_TEXT,
  c_anonym  TYPE ssfappl VALUE 'ANONYM' ##NO_TEXT,
  c_id      TYPE ssfid VALUE 'CN=%SID SSL client SSL Client (Standard), OU=%ORG, O=MBT, C=CA' ##NO_TEXT,
  c_org     TYPE string VALUE 'Marc Bernard Tools' ##NO_TEXT,
  c_subject TYPE string VALUE 'CN=*.marcbernardtools.com' ##NO_TEXT.

DATA(strust) = /apmg/cl_strust=>create(
  context     = c_sslc
  application = c_anonym ).

strust->load(
  create = abap_true
  id     = c_id
  org    = c_org ).

strust->get_own_certificate( ).

strust->get_certificate_list( ).

IF drop = abap_true.
  strust->remove( c_subject ).
ELSE.
  strust->add_pem( '<your_certificate>' ).
  DATA(result) = strust->update( ).
  " result-added contains newly added certificates
  " result-removed contains removed certificates (if remove_expired = abap_true)
ENDIF.

The certificate for the add method needs to be provided as a table with the following format:

-----BEGIN CERTIFICATE-----
MIIGQDCCBSigAwIBAgIQCNqWSvYNNa9hfOzsk89rUjANBgkqhkiG9w0BAQsFADBg
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
...
-----END CERTIFICATE-----

Alternatively, use the method add_pem to pass the certificate as a string.

SSL Server Certificate Request and Response

Generate a certificate request for signing (CSR) using the following method. Optionally, pass a list of identifiers (DNS-SAN):

DATA(strust) = /apmg/cl_strust=>create(
  context     = /apmg/cl_strust=>c_context-ssls
  application = /apmg/cl_strust=>c_application-dfault ).

DATA(signing_request) = strust->generate_certificate_request( identifiers ).

Import a signed certificate chain (PEM) into the SSL Server:

DATA(strust) = /apmg/cl_strust=>create(
  context     = /apmg/cl_strust=>c_context-ssls
  application = /apmg/cl_strust=>c_application-dfault ).

strust->load( )->import_certificate_response( signed_response ).

The method stores and distributes the certificate notifying Internet Connection Manager (ICM).

Prerequisites

Installation

Install strust as a global module in your system using apm.

or

Specify the strust module as a dependency in your project and import it to your namespace using apm.

Contributions

All contributions are welcome! Read our Contribution Guidelines, fork this repo, and create a pull request.

You can install the developer version of ABAP STRUST using abapGit by creating a new online repository for https://github.com/abapPM/ABAP-Strust.

Recommended SAP package: /APMG/STRUST

About

Made with ❤ in Canada

Copyright 2025 apm.to Inc. https://apm.to

Follow @marcf.be on Bluesky and @marcfbe or LinkedIn

MIT, read

History

Latest

v2.6.0

  1. v2.5.0

  2. v2.4.0

  3. v2.3.0

  4. v2.2.0

  5. v2.1.1

  6. v2.1.0

  7. v2.0.1

  8. v2.0.0

  9. v1.1.0

    Other 1

    Notes
Certificate management
  1. zstrustUpdater for root CAs in SAP NetWeaver from Mozilla's certificate store

Details

Sources3
Added by handdiscovered herechecked
github.com/abapPM/ABAP-Strusttree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainabap, security-and-compliance
abaplint
issues under its own abaplint configuration0
lines1,806
statements958
objects9
files8
analysed, main
abaplint version2.120.84
Flavors1
Standard ABAP
“Easy-to-use class for adding, updating, or removing certificates from ABAP Trust Management (transaction STRUST)” — abapPM/ABAP-Strust — README, Trust Managementchecked
Contributors2

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:abappm-abap-strust
JSON
/artifacts/abappm-abap-strust.json
MCP
Connecting an agent