IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

[WD26] - WebService Soap - signature


Sujet :

WinDev

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 117
    Points : 90
    Points
    90
    Par défaut [WD26] - WebService Soap - signature
    Bonjour la Communauté,

    Je sèche sur la consommation d'un Webservice qui nécessite des signatures et je poste pour voir si une âme charitable (et aguerrie) peut m'orienter vers des pistes.
    Toute la doc avec exemple et wdsl à cette adresse : https://www.socialsecurity.be/site_f...en_service.htm
    NB : compte-tenu de la complexité et de l'expertise nécessaire pour consommer ce Webservice, je n'exclus pas de devoir sous-traiter le développement.
    Toute proposition de services en ce sens peut m'être faite en MP.

    Le Webservice semble correctement documenté et respecter certains standards.
    J'ai suivi la procédure de vérification avec SoapUI 5.5, conformément à la doc du Webservice (https://www.socialsecurity.be/site_f...gistration.htm) :tout fonctionne parfaitement.

    Voici le xml contenu dans la requête de SoapUi (pour la lisibilité du code, certains éléments ont été remplacés par $1, $2, $n) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
        <soap:Header>
            <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                <wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="X509-E841846BFC65FFF2D616604853311272">$1</wsse:BinarySecurityToken>
                <wsu:Timestamp wsu:Id="TS-E841846BFC65FFF2D616604853311091">
                    <wsu:Created>$2</wsu:Created>
                    <wsu:Expires>$3</wsu:Expires>
                </wsu:Timestamp>
                <ds:Signature Id="SIG-E841846BFC65FFF2D616604853312316" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                    <ds:SignedInfo>
                        <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                            <ec:InclusiveNamespaces PrefixList="soap" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                        </ds:CanonicalizationMethod>
                        <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
                        <ds:Reference URI="#TS-E841846BFC65FFF2D616604853311091">
                            <ds:Transforms>
                                <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                    <ec:InclusiveNamespaces PrefixList="wsse soap" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                                </ds:Transform>
                            </ds:Transforms>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                            <ds:DigestValue>$4</ds:DigestValue>
                        </ds:Reference>
                        <ds:Reference URI="#id-E841846BFC65FFF2D616604853312085">
                            <ds:Transforms>
                                <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                    <ec:InclusiveNamespaces PrefixList="" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                                </ds:Transform>
                            </ds:Transforms>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                            <ds:DigestValue>$5=</ds:DigestValue>
                        </ds:Reference>
                        <ds:Reference URI="#X509-E841846BFC65FFF2D616604853311272">
                            <ds:Transforms>
                                <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                                    <ec:InclusiveNamespaces PrefixList="" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                                </ds:Transform>
                            </ds:Transforms>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                            <ds:DigestValue>$6=</ds:DigestValue>
                        </ds:Reference>
                    </ds:SignedInfo>
                    <ds:SignatureValue>$n</ds:SignatureValue>
                    <ds:KeyInfo Id="KI-E841846BFC65FFF2D616604853312003">
                        <wsse:SecurityTokenReference wsu:Id="STR-E841846BFC65FFF2D616604853312034">
                            <wsse:Reference URI="#X509-E841846BFC65FFF2D616604853311272" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
                        </wsse:SecurityTokenReference>
                    </ds:KeyInfo>
                </ds:Signature>
            </wsse:Security>
        </soap:Header>
        <soap:Body wsu:Id="id-E841846BFC65FFF2D616604853312085" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wst:RequestSecurityToken Context="abc" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
                <wst:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1</wst:TokenType>
                <wst:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</wst:RequestType>
                <wst:Claims Dialect="http://schemas.xmlsoap.org/ws/2006/12/authorization/authclaims">
                    <auth:ClaimType Uri="urn:be:smals:expeditor:number" xmlns:auth="http://schemas.xmlsoap.org/ws/2006/12/authorization">
                        <auth:Value>112059</auth:Value>
                    </auth:ClaimType>
                </wst:Claims>
            </wst:RequestSecurityToken>
        </soap:Body>
    </soap:Envelope>
    Mon souci réside dans les balises ; et Ces balises sont générées par les paramètres de sécurité encodés dans SoapUI :

    1/wssu:timestamp
    Pièce jointe 623814


    2/ ds:Signature
    Pièce jointe 623815

    Notez, que le wsse:security semble ajouté sans paramètres.

    Donc, comment fais-je pour construire cette requête dans Windev ?
    J'entrevois des éléments de réponses :
    1/ SoapAjouteSignatureXML (https://doc.pcsoft.fr/fr-FR/?1000020...teSignatureXML) fait expressément référence à la balise ds:Signature
    Mais cette fonction s'applique à une variable wsRequête (https://doc.pcsoft.fr/fr-FR/?1000020..._type_variable) : la doc est très laconique sur cette variable et la manière dont elle doit être utilisée.
    Enfin, je ne sais que faire du paramètre <Emplacement de la signature> de la fonction SoapAjouteSignatureXML : je ne situe pas de quelle entité xsd il est fait état dans la doc.
    2/ Je pense que je vais également devoir utiliser une variable xmlSignature (https://doc.pcsoft.fr/fr-FR/index.awp?1000020736)
    3/ Et enfin utiliser une variable xmlSignatureRéférence (https://doc.pcsoft.fr/fr-FR/?1000020..._type_variable)

    Bref, je pédale sec

    Grand merci à ceux qui prendront la peine de se pencher sur mon problème.

    Belle journée (ou soirée, ou nuit)

  2. #2
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2024
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Signature WebService Soap
    Bonjour Xavier, as tu su avancer sur ce projet.

    J'ai exactement le même souci que toi.

    Et je pédale sec aussi.


    même souci pour créer les balises

    wsse:security

    wssu:timestamp

    ds:Signature

    Peux tu m'aider et m'orienter ?


    D'avance Merci

Discussions similaires

  1. [Web Service] Appel Webservice SOAP
    Par HaTnuX dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 16/08/2008, 22h33
  2. webservices soap et php
    Par manuscle dans le forum WinDev
    Réponses: 0
    Dernier message: 16/04/2008, 16h35
  3. Réponses: 1
    Dernier message: 13/02/2007, 17h43
  4. Webservice SOAP et fichier attaché ?
    Par Bruno13 dans le forum Services Web
    Réponses: 13
    Dernier message: 03/04/2006, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo