My client has an SAP service that I need to call. I have pre-created proxy classes, everything works fine (when protection is disabled on their side), now I need to enable their security policy. They gave me this as a "specification":
SOAP 1.1SSLWS-Security signature only, optional encryption ...http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0.pdfSAP status for their service:XML Signature Message FormatSOAP messages should include the following data:a) BinarySecurityToken with ValueType " http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 " and EncodingType " http: //docs.oasis -open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary "b) Timestamp Elementc) Signature signature and timestamp referencing the BinarySecurityToken using a direct link.d) Digest algorithm http://www.w3.org/2000/09/xmldsig#sha1e) Signature Algorithm http://www.w3.org/2000/09/xmldsig#rsa-sha1
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0.pdf
SAP status for their service:
XML Signature Message Format
SOAP messages should include the following data:
a) BinarySecurityToken with ValueType " http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 " and EncodingType " http: //docs.oasis -open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary "
b) Timestamp Element
c) Signature signature and timestamp referencing the BinarySecurityToken using a direct link.
d) Digest algorithm http://www.w3.org/2000/09/xmldsig#sha1
e) Signature Algorithm http://www.w3.org/2000/09/xmldsig#rsa-sha1
Is there enough information for me to work? I am not a WCF security expert, so I would be very happy for any help and useful resources.
It sounds like you need to use WCF Message Inspectors, which can intercept the messages you send and receive and apply custom soap headers.
Check the links below for some recommendations on their implementation:
Hope this helps.
I think you should ask about the Soap Envelope, which the other side is waiting for. And then maybe use the CustomBinding or Implement Message Inspector interfaces.
Source: https://habr.com/ru/post/1445043/More articles:Syntax execution of __init__ with multiple inheritance in Python - pythonHow can I make 4 elements rotate in a circle? - jqueryShinobi Charts Graphic Chart - iosLock on a string key - c #Matlab Random Distribution Histogram - matlabDid you press the SWT soft key? - javaHow to build a collection based on the Cartesian product of all the elements of other collections? - javaHow to access the Classloaders / App Linearalloc class? - androidgetting the number of different duplicate identifiers in mysql - mysqlError: Invalid C ++ base class - c ++All Articles