PHP: soap verschlüsseln Web Services
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktuell mache
beispiel
folgende aufgabe
frage
gas
helfen
http
info
jemand
message
re
signieren
standard
-
Hallo erstmal,
also es geht um ref="/tag/folgende aufgabe">Folgende Aufgabe :)
und ich hoffe, dass mir hier jemand helfen kann :)
gegeben sei ein xml:
<S11:Envelope xmlns:S11="..." xmlns:wsse="..." xmlns:wsu="...">
<S11:Header>
<wsse:Security>
...
<ds:SignatureValue>
BL8jdfToEb1l/vXcMZNNjPOV...
</ds:SignatureValue>
</wsse:Security>
...
</S11:Header>
<S11:Body>
...
</S11:Body>
</S11:Envelope>
Nun die Frage:
Wie berechnet man den SignatureValue?
SignatureMethod:"http://www.w3.org/2000/09/xmldsig#rsa-sha1"
CanonicalizationMethod:"http://www.w3.org/2001/10/xml-exc-c14n#"
und alles schön nach dem standard:
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf
Beispiel auf Seite 31
Ich beschäftige mich jetzt schon sehr lange damit ...
(hab schon zig Seiten gelesen und auch schon viel versucht ...)
eventuell ist ja auch gas was grundliegendes falsch von dem ich schon ewig davon ausgehe dass es richtig sei :)
jetzt beschreib mal kurz wie ich es aktuell mache:
1.ich kopiere den namespace von Envelope (im Beispiel s11 ) zum body
2.Canonicalization:
$x = new DOMDocument();
$x->loadXML( $xml);
$res = $x->C14N();
3.Signieren
openssl_sign($res, $signed,file_get_contents($Private_KEY_Path),OPENSSL_ALGO_SHA1)
4.base64encodieren
naja das wars auch schon.
INFO:http://www.di-mgt.com.au/xmldsig2.html
Vielen Dank -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage