Decrypt mit SSF_KRN_DEVELOPE und Zertifikatsliste

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Decrypt mit SSF_KRN_DEVELOPE und Zertifikatsliste

Beitrag von a-dead-trousers (Top Expert / 4287 / 214 / 1142 ) »
hi.

Ich brauch mal wider etwas Hilfe:
Für eine SAML Authentifizierung möchte ich den Request und den Response wechselseitig signieren. Dazu signiere ich hin zum IdentityProvider den Inhalt mit dem eigenen Zertifikat aus einem STRUST Container (Adressbuch?). Der IdentityProvider kennt das dazugehörige PUBLIC Zertifikat und signiert seinerseite den Response. Der Einfachheit halber habe ich auch das PUBLIC Zertifikat des IdentityProvider im selben STRUST Container in der Zertifikatsliste abgelegt. Versuche ich nun aber die Signatur mit dem PUBLIC Zertifikat zu entschlüsseln bekomme ich vom SSF_KRN_DEVELOPE den Fehler 26 ("Zertifikat bzw. geheimer Schlüssel nicht gefunden") zurückgeliefert.

Meine Vermutung ist, dass beim SSF_KRN_DEVELOPE der RECIPIENT irgendwie anders angegeben werden muss, wenn ein Zertifikat aus der Liste anstatt des eigenen Zertifikats verwendet werden soll. Weder der Container noch das Zertifikat ist Passwort geschützt.

Derzeit schaut mein Coding so aus:

Code: Alles auswählen.

DATA lt_recipient TYPE STANDARD TABLE OF ssfinfo WITH DEFAULT KEY.

APPEND VALUE #( id       = 'Inhaber aus STRUST'
                profile  = 'Dateipfad zum Container aus STRUST' ) TO lt_recipient.

CALL FUNCTION 'SSF_KRN_DEVELOPE'
  EXPORTING
    ssftoolkit                   = 'SAPSECULIB'
    str_format                   = 'PKCS7'
    ostr_enveloped_data_l        = ld_data_length
  IMPORTING
    ostr_output_data_l           = ld_binary_length
    crc                          = ld_return
  TABLES
    ostr_enveloped_data          = lt_data
    recipient                    = lt_recipient
    ostr_output_data             = lt_binary
  EXCEPTIONS
    ssf_krn_error                = 1
    ssf_krn_noop                 = 2
    ssf_krn_nomemory             = 3
    ssf_krn_opinv                = 4
    ssf_krn_nossflib             = 5
    ssf_krn_recipient_error      = 6
    ssf_krn_input_data_error     = 7
    ssf_krn_invalid_par          = 8
    ssf_krn_invalid_parlen       = 9
    ssf_fb_input_parameter_error = 10
    OTHERS                       = 11.
Wenn ich bei der ID den Inhaber des eigenen Zertifikats verwende, klappt es wunderbar. Wenn ich aber die ID eines anderen Zertifikats aus der Liste nehme klappt es nicht.

Ich habe auch schon testweise versucht beim SSF_KRN_ENVELOPE das PUBLIC Zertifikat aus der Liste zu verwenden und das wird ohne Probleme akzeptiert. Das Ergebnis ist auch ein anderes als wenn ich das eigene Zertifikat verwende. Somit gehe ich mal davon aus, dass die Zertifikatsauswahl beim SSF_KRN_ENVELOPE funktioniert.

Weiß jemand warum der SSF_KRN_DEVELOPE beim Entschlüsseln solche Zicken macht? Oder wie man ihn korrekt aufruft um Daten mit einem Zertifikat aus der Liste zu entschlüsseln anstatt mit dem eigenen Zertifikat?

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Decrypt mit SSF_KRN_DEVELOPE und Zertifikatsliste

Beitrag von a-dead-trousers (Top Expert / 4287 / 214 / 1142 ) »
Ok, ich hab es nun auch mit SSF_KRN_SIGN bzw. SSF_KRN_SIGN_BY_AS und SSF_KRN_VERIFY bzw. SSF_KRN_SIGN_BY_AS ausprobiert und ebenfalls kein Glück. Die Bausteine mit dem _BY_AS Zusatz bieten die Möglicheit die zu verwendenen Zertifikate in Binärform zu übergeben und so den PSE Container als "Fehlerquelle" wegzulassen aber auch damit krieg ich einen Fehler.

Code 12 "SSF-Fehler: Dekodierung nicht möglich"
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Aktuelle Forenbeiträge

Artikel automatisch in va01
vor 2 Tagen von wreichelt 2 / 53
langtexte beim Fertigungsauftrag
vor 3 Tagen von ByteMeBaby 7 / 6427
Updates der Daten, Fehlermeldung
vor 4 Tagen von Egzon gelöst 1 / 75

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Artikel automatisch in va01
vor 2 Tagen von wreichelt 2 / 53
langtexte beim Fertigungsauftrag
vor 3 Tagen von ByteMeBaby 7 / 6427
Updates der Daten, Fehlermeldung
vor 4 Tagen von Egzon gelöst 1 / 75

Unbeantwortete Forenbeiträge

Updates der Daten, Fehlermeldung
vor 4 Tagen von Egzon 1 / 75
Zwischensumme Adobe Forms
letzen Monat von Lucyalison 1 / 298