cancel
Showing results for 
Search instead for 
Did you mean: 

How to use Partner ID Resolution Source "AS2 Partner ID Header" in AS2 Sender Adapter ?

RobertQ
Explorer
0 Kudos

Hi,

I tried the function of using "Partner ID Resolution" Source "AS2 Partner ID Header".

As stated in the documentation that selection should use the AS2 header "AS2-From" respectivly "SAP_AS2PartnerID/ AS2PartnerID" to determin the partner in the partner directory.

So my assumption was, that I only have to create binary parameters and/or String parameters with the PID from the header. For example "CompanyA".

After creating a String parameter { "Pid": "CompanyA","Id": "SAP_AS2_Inbound_Verify_Signature","Value": "trustedCertificate"} and a binary parameter {"Pid":"CompanyA","Id":"SenderPublicKey","ContentType":"crt","Value":"..."}

Then I send a test message through the channel, but the information for the inbound signature verification was not used at all. There was also no error as if the source was not used at all.

Then I tried and added the "CompanyA" as an user to the PID in the "AuthorizedUsers" of partner directory by posting {"User":"CompanyA","Pid":"CompanyA"}. That added the user "companya". I then send a new request with AS2-From with the value "CompanyA" and also "companya", but no reaction.

Then I added a new user for the pid {"User":"sb-...","Pid":"CompanyA"} and changed the source to "Authorized User". This change got me an reaction of the adapter by replying with an error "ChannelConfigException: No certificate value configured for signature verification". This was because I did not configure Public Key alias to "pd:SenderPublicKey" and so for the found partner no certificate could be loaded.

But nethertheless, the adapter used the SapAuthenticatedUserName to resolve the PID and tried to do something.

Then I deleted the User "sb..." from the partner directory and also used "AS2 Partner ID Header" as source again to check if the resoulution will work. But it still behaved as in the beginning, as if no resoulution of the pid takes place.

So do anyone can help me to explain, how the this "new" function with the "AS2 Partner ID Header" can be used to resolve it to an partner in the partner directory.

Best regards

Robert Quindt

Accepted Solutions (1)

Accepted Solutions (1)

RobertQ
Explorer

Hello together,

after some further test I found the answer to my own question.

If “AS Partner ID Header” is used, then we have to use the syntax “ps:ASPartnerId:<certalias>” instead of “pd:<Certalias>” for the public key.

So unlike in the “Authorized User” case, it is necessary to use this changed syntax for verifying the signature with a specific certificate.

https://help.sap.com/docs/integration-suite/sap-integration-suite/configure-as2-sender-adapter:

In the SAP help this point is not that clearly stated, as this changed syntax only is described for the “Trusted Root Certificate” and not the “Trusted Certificate” case. It also is not clearly pointed out, in which "Partner ID Resolution", which syntax should be used.

But after testing it out, this ASPartnerId syntax is used for both, the public key alias and public key aliases options.

Maybe the help page can be adjusted to reflect that and also be mentioned in the “Source” parameter description, so that it is clear which syntax should be used.

Best regards

Robert

Answers (0)