Help - Soap Message - SignedXml - Apache Xml Security Suite - Interoperability

I am using SignedXml class to sign and verify soap xml documents. We are not
using WSE at this point. When I sign a soap document and send it to my
trading partner, they can verify the document without any problem. However
when they send me the signed soap document, I am not able to verify it. But
they can take their signed document and can verify it without any problem.
They are using Apache Xml Security Suite (v 1.0.4).

One thing we noticed is that SignedXml class does not add any prefix to the
Signature element. But the Apache suite adds it. However both namespace
values are pointing to same uri.

We are totally lost at this point. Any help is greatly appreciated.

Here is my code:

   string filePath = @"C:\Signed.xml";

   // Create a SignedXml.
   XmlDocument doc = new XmlDocument();
   doc.Load(filePath);
   SignedXml signedXml = new SignedXml(doc);

   // Load the XML.
   XmlDocument xmlDocument = new XmlDocument();
   xmlDocument.Load(new XmlTextReader(filePath));

   XmlNodeList nodeList = xmlDocument.GetElementsByTagName("ds:Signature");
   signedXml.LoadXml((XmlElement)nodeList[0]);

   if (signedXml.CheckSignature())
   {
    Console.WriteLine("Signature check OK");
   }
   else
   {
    Console.WriteLine("Signature check FAILED");
   }


Here is the example of signed document (some parts are modified for security
and abbreviated for brevity reasons):

<soapenv:Envelope soapenv:actor="some-uri" soapenv:mustUnderstand="1"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Header><ns1:Test1 xmlns:ns1="ns1"/> <ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#Body">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>Iq02JTwtu7BpyawiiGcSz8EI6Gc=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue> *** Value **** </ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate> *** Certificate *** </ds:X509Certificate>
</ds:X509Data>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus> *** Modulus *** </ds:Modulus>
<ds:Exponent>*** Exponent *** </ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
</ds:Signature></soapenv:Header>
 <soapenv:Body Id="Body"><ns2:Test2 xmlns:ns2="ns2"> </soapenv:Body>
</soapenv:Envelope>


Thanks.
Raghu/..


0
Raghu9367 (9)
12/9/2003 6:44:36 AM
dotnet.xml 7266 articles. 0 followers. Follow

5 Replies
731 Views

Similar Articles

[PageSpeed] 22

Raghu wrote:

> One thing we noticed is that SignedXml class does not add any prefix to the
> Signature element. But the Apache suite adds it. However both namespace
> values are pointing to same uri.

That's really poor design to rely on namespace prefix. Don't do this, 
namespace prefix doesn't matter on it's own, what matter is namespace 
URI it's bound to. Use namespace-aware SelectSingleNode method with 
XmlNamespaceManager to select Signature element in a safe way.
-- 
Oleg Tkachenko
XML Insider
http://www.tkachenko.com/blog

0
Oleg
12/9/2003 12:53:12 PM
As I already indicated, this does not seem to be the problem. Any other
ideas?

"Oleg Tkachenko" <oleg@NO!SPAM!PLEASEtkachenko.com> wrote in message
news:Ooy4gMlvDHA.2220@TK2MSFTNGP09.phx.gbl...
> Raghu wrote:
>
> > One thing we noticed is that SignedXml class does not add any prefix to
the
> > Signature element. But the Apache suite adds it. However both namespace
> > values are pointing to same uri.
>
> That's really poor design to rely on namespace prefix. Don't do this,
> namespace prefix doesn't matter on it's own, what matter is namespace
> URI it's bound to. Use namespace-aware SelectSingleNode method with
> XmlNamespaceManager to select Signature element in a safe way.
> -- 
> Oleg Tkachenko
> XML Insider
> http://www.tkachenko.com/blog
>


0
Raghu9367 (9)
12/9/2003 4:31:37 PM
Raghu wrote:

> As I already indicated, this does not seem to be the problem. Any other
> ideas?

Sorry, then I missed what the problem actually is. Any exceptions?
-- 
Oleg Tkachenko
XML Insider
http://www.tkachenko.com/blog

0
Oleg
12/9/2003 6:21:10 PM
No. The CheckSignature simply returns false.

"Oleg Tkachenko" <oleg@NO!SPAM!PLEASEtkachenko.com> wrote in message
news:%23p2ewDovDHA.2000@TK2MSFTNGP11.phx.gbl...
> Raghu wrote:
>
> > As I already indicated, this does not seem to be the problem. Any other
> > ideas?
>
> Sorry, then I missed what the problem actually is. Any exceptions?
> -- 
> Oleg Tkachenko
> XML Insider
> http://www.tkachenko.com/blog
>


0
Raghu9367 (9)
12/9/2003 7:54:13 PM
There are couple of reasons why the Checksignature could fail.
a) Unable to get the Signature element.  You can try by using
..GetElementsByTagName("Signature",SignedXml.XmlDsigNamespaceUrl);
b) I did not see any Enveloped signature transform. try adding enveloped
signature transform during generation, that might fix your problem.

Thanks
Ram
"Raghu" <Raghu@nospamzzzqcsi.com> wrote in message
news:e5PY54ovDHA.2408@tk2msftngp13.phx.gbl...
> No. The CheckSignature simply returns false.
>
> "Oleg Tkachenko" <oleg@NO!SPAM!PLEASEtkachenko.com> wrote in message
> news:%23p2ewDovDHA.2000@TK2MSFTNGP11.phx.gbl...
> > Raghu wrote:
> >
> > > As I already indicated, this does not seem to be the problem. Any
other
> > > ideas?
> >
> > Sorry, then I missed what the problem actually is. Any exceptions?
> > --
> > Oleg Tkachenko
> > XML Insider
> > http://www.tkachenko.com/blog
> >
>
>


0
Sitaraman
12/10/2003 3:26:57 PM
Reply:

Similar Artilces:

sumifs help
I have the following formula. =SUMIFS(Table1[2],$A$11:$A$22,$A38,$B$11:$B$22,$B38) It now needs to be changed to a formula that can handle text instead of numbers. How do i do it? Use Countif instead of Sumif from =SUMIF(Table1[2],$A$11:$A$22,$A38,$B$11:$B$22,$B38) to =CountIF(Table1[2],$A$11:$A$22,$A38,$B$11:$B$22,$B38) Do you really have a function Countifs with an "S" at the end? thie maybe an UDF that needs to be modified. -- joel ------------------------------------------------------------------------ joel's Profile: 229 View this th...

Help !
I need to create a data input screen on excel where multiple users at the same time will use them & input data. This data then needs to be stored as a database as well, where i can use it to understand trends Thank you. and the question is ...? <abrahamsaj@gmail.com> wrote in message news:1132155054.927936.191640@z14g2000cwz.googlegroups.com... >I need to create a data input screen on excel where multiple users > at the same time will use them & input data. > This data then needs to be stored as a database as well, where i can > use it to understand trends >...

Help with this thing
It was working in the window "Transactions >> Sales >> Transactions of Sales", but exactly were publishing a Quotation, which i wanna print, more nevertheless was shut up to me network, then I closed the window and it threw several messages to me of error, and from that then it was blocked the quotation that was working. My question is as I can unblock this document? ...

Security Updates
I have in my Control Panel 38 Security Updates for Windows each with 6.83MB's & 6 Update for Windows. I am wondering if they are all necessary (especially the 38 Security Updates) or does each new update override the previous one and therefore all previous updates can be deleted or must I keep all the updates...Thanks kindly ..fipsey fipsey wrote: > I have in my Control Panel 38 Security Updates for Windows each > with 6.83MB's & 6 Update for Windows. I am wondering if they are > all necessary (especially the 38 Security Updates) or does each new > u...

IM Error Message #3
Hi All, I'm receiving the following error message when I'm trying to run any integration: "The destination could not be initialized due to the following problem: Object reference not set to an instance of an object" The Symptom for this problem is when you go to Microsoft Dynamics GP > Tools > Integrate you will find the two lines “Integration Manager” and “Run Integration” are dimmed, although Integration Manager is already installed. I applied all the solutions that are available on Customer Source Knowledge Base, but didn’t work with me. If anyone could help ...

Help with Outlook Setup!!!
I have XP Professional installed and Office XP Professional. I have several users setup for kids, as well as my admin account. I want to setup a Limited Account in addition to the Admin account for myself for daily use. Am I just suppose to pick a different account name and login password and then setup my MSN Messenger and Outlook POP email with same username and password that I used to setup the Admin account? I don't need to share any contacts or anything, I just setup the admin email in order to setup Outlook. I want to input my contact info etc., into the Limited account and use ...

"No more new fonts" error message
I have a 444 KB xls with 38 sheets. I keep getting a "No more new fonts may be applied in this workbook" whenever I add another sheet and attempt to modify it. Any ideas? Thanks TS See this KB article http://support.microsoft.com/default.aspx?scid=kb;en-us;215573 XL2000: Error Copying Worksheets Containing Charts -- Regards Ron de Bruin (Win XP Pro SP-1 XL2002 SP-2) www.rondebruin.nl "TS" <anonymous@discussions.microsoft.com> wrote in message news:01a701c3a487$31d92340$a101280a@phx.gbl... > I have a 444 KB xls with 38 sheets. I keep getting a "No...

HELP !!! I have a ARRAY Formula HELP !!!
Hello, Here is the ARRAY Formula I have and this is what I am using it for. The situation is that it worked 1 time and than not again. =INDEX(D48:K48,,MAX(IF(D48:K48<>"",COLUMN(D48:K48)))-COLUMN(D48)+1 Duty: I have a row of number that appear hourly (DOLLAR AMOUNTS), the numbe are anything from nothing to 10000. I want the hourly number to appea in specified cell. Here is an example. (I am using EXCEL 2000) Row D48:K48 answer in cell G2 1st hour D48 = $100.00 G2 Should be $100.00 2nd Hour D48 = $100.00 E48 = (nothing) G2 Should be (nothing) 3rd Hour D48 = $1...

exch 5.5 help
I am in a progress to upgrade Exchange 5.5 (on NT4) to Exhange 2k3 (on 2k3). I setup a test machine and upgrade the OS to w2k3. 1st I want to connect the 5.5 to AD, so I should install ADC. Can anyone tell me the steps? Frorestprep, domainprep, setup adc, and upgrade to exchange 2k3? If you run through the steps in the E2K3 deployment tools they will walk you through everything. -- Hope that helps. ------------------------- Jaclynn Hiranaka Enterprise Messaging Support This posting is provided "AS IS" with no warranties, and confers no rights. � 2004 Microsoft Corporation. Al...

Deleting messages
I delete messages, and empty the "deleted items" folder, and the next time I open Windows Live Mail, those deleted messages are back!! It's really wierd! Does anyone know how I can permanently delete a message? Does anyone else have this problem? You haven't said whether the problem affects a POP3, IMAP or HTTP (Hotmail / MSN / Live) mail account. WLMail seems to take a long time to complete its internal processing. If it is an IMAP or HTTP account, this problem can occur, if you disconnect from the Internet or close WLMail, before the program has co...

Help with Formula Please 02-19-10
Need a Formula for the following: Data Table A B C D E F G H I 1 Tom A W 2 H 30 84 30 2 Peter A W 3 H 3 Nick B L 1 A 70 Columns F1:I3 from Data Table has break scores for each player. Below is the Result Table where I need to show a summary report for high breaks. I have no problem with Break as I use the Large function. I need a formula to insert in A1 and A2 to place the name for the corresponding breaks below. Result Table High Breaks A B Name Break 1 ...

Need help in data copying.
Hi I have an invoicing file in excel (Sheet1). I need to store the dat which is invoiced into another sheet. My Invoice Data starting from Ro 8 and column B to F (The first item is from B8-F8, second item i B9-F9). B-Item Code, C-Item Name, D-Qty, E-Price, F-Total. Once I print the invoice, I need to transfer the data to another shee (Sheet2) . When I create another invoice, the new data should be added below t the previous data in Sheet2. So that I can have all the items I sol in Sheet2. Can someone help me sending a macro for it??? I will be grateful to you. Thanks in advance Tom -...

help...help...help
I just installed Microsoft Office XP Professionaql with no problem. However, whenever I try to perform any task such as opening contacts area in order to create an entry, I receive a dialog box with Microsoft Outlook and a yellow exclamation point. Also, included in the dialog box are the words could not open the item, try again. Other information that might be important is that I use a pst file. The error message also occurs when I try to open the Contact folder from the folder list as well as when I try to perform any function. It was a clean install not an upgrade. Could you ...

Macro Help
Hi, I had alot of help yesterday from Jacob with the following macro, but am getting a 'run time error 13' when trying to run the macro, and i cannot see why. Any help much appreciated Sub OLApp() Dim objOL As Object, objApp As Object, lngRow As Long Set objOL = CreateObject("Outlook.Application") For lngRow = 9 To Cells(Rows.Count, "A").End(xlUp).Row If Range("E" & lngRow) = "" Then Set objApp = objOL.CreateItem(1) With objApp ..Subject = "Change Password for system" & Range("A" & lngRow)...

SMTP Messages Stop in Categorizer
Exchange 2003 Standard on Server 2003 1 org, mixed mode with exchange 5.5 SP4 on 2000 server SP4 Recently we have been having problems with both Internal and External messages getting stuck in the SMTP Categorizer on exch 2003. Some messages come through with no problem and other wont leave the Categorizer until you reboot the server. The SMTP service Hangs when I try and Just Stop it. Aslo tried to stop the IIS admin but the World Wide Publhishing service Hangs on stopping. Only way is to reboot the server. Anyone have any ideas? Thanks, Chad Actually, yes. Are you running any...

MS Visual Basic error message
Whenever I try to enter a formula in cell, I get this MS Visual Basic warning: " Can't find project or library." After I click "OK", I can enter the formula in the cell. How can I get rid of this message? Thanks, CMA ...

help me #2
how to restrict entering of same values or data in excel cell Hi if you mean the 'preventing of duplicate entries' you may check the following site http://www.cpearson.com/excel/NoDupEntry.htm -- Regards Frank Kabel Frankfurt, Germany mangesh khati wrote: > how to restrict entering of same values or data in excel > cell ...

Problem with LeadTools CreateWindow inCFormView -Help !!!
Hi , I have been using LeadTools in Visual Studio 2005. I have a tabctrl and dialogs in each tab and developed using CFormView. So a tabCtrl is a child of CFromView and tab1 is a child of TabCtrl. I want to insert a LEAD control in one of the tabs .i.e, Dialog.I am unable to insert a leadcontrol but inserting a control in the view was easy.The problem is I am not able to get the HWND associated to a particular dialog which is super child of View. Can somebody help me in creating a lead control in the dialog configdlg .h LAnnotationWindow m_LAnnoWnd; FormView.cpp CMyTabCtrl m_myCtrlTab; ...

HelpProvider and HTML Help interaction
I have an application with a .chm help-file. But I have some questions about the behaviour of the help-window. I use a modal application window and I can start the help. The help windows appears but it is allways in foreground of my application window. I can set the input focus on my window, the help window becomes inactive but I cannot move my window over the help window. So I have to close the help window or minimize it or move it aside of my application window when I want to go on in my application. The other problem is when I minimize the help window and then open a dialog...

CString help
I'm looking at a website on CString Management: http://www.codeproject.com:80/string/cstringmgmt.asp In the section entitled, "CString to char * II: Using GetBuffer," the author stresses calling ReleaseBuffer after calling GetBuffer. Is this always necessary? I often use CString::GetBuffer when using CStrings in MessageBox dialogs like so: MessageBox(m_hWnd, cString.GetBuffer(0), lpTitle, MB_OK); Should I be adding a ReleaseBuffer after a MessageBox call? Should I be passing my string data to the MessageBox in another way? Regards, Joe > Is this always necessary?...

Your Help is Appreciated
Dear all I am using MS Excel 2003 and I am trying to plot a graph/chart/graphical representation of the following: I would like to somehow plot : Time Price Meetings 16/09/2002 23/09/2002 225 27-Sep-02 30/09/2002 07/10/2002 14/10/2002 368 21/10/2002 23-Oct-02 28/10/2002 04/11/2002 354 11/11/2002 18/11/2002 235 25/11/2002 02/12/2002 I dont mind how the data is displayed but I envisaged some kind of bar chart to represent the prices and a line chart / crosses to indicate the dates of the meetings. Can anyone help with this or am I being stupid? Thanks for everything i...

Exchange Security/Hotfix State
Hi All, I was wondering is there a way to check the hotfix/rollup state of the Exchange Server. I know I can use Baseline security Analyzer and Add/Remove Programs to check windows updates but is there a way (as in SQL Server) to determine what level of patching the Exchange Server is at ? Under ExchangeAdmin/Servers/Servername I get a version of Version 6.0 Build 6249.4 Service pack 3. This is despite the fact that I have installed Update Rollup for Exchange 2000 (KB870540). The version should now be 6396.1 , I thought. Neither does KB870540 appear in Add/Remove programs. Is the...

bcc help
can't seem to send mail to bcc? I copied e-mail addresses from an excel spreadsheet and pasted the into the bcc header. I made sure there was coma between each. I entered the form letter and "from" and "to" and "subject" fields an sent the mail. The "to" received the mail but the bcc did NOT receive the mail. What did I do wrong ----------------------------------------------- ~~ Message posted from http://www.ExcelTip.com ~~View and post usenet messages directly from http://www.ExcelForum.com ...

Retrieving lost messages
Recently downloaded Spam Inspector. Had way too many messages in my Inbox in Outlook Express. Last evening, there was a problem, the "error reporting" message came up as the Inspector and Express both froze up. An error report was sent - to an "on-line" crash site (which gave no details as to what happened. When things "unfroze", a majority, though not all, the messages in the Inbox were gone...I can't locate them. Is there any way to try and retrieve those from somewhere in the system, or are they permanently gone? Thanks for any help! This is...

Money-Changing Account number to handle Vanguard changes
Hi: Vanguard has changed the account numbers for its brokerage accounts. This has caused money to download brand new accounts with nothing in them and stop updating my old account numbered accounts. I changed the account numbers in Account Detail page but still not working. Anyone who has any info on what I'm missing please pass along. I cannot lose years and years of past data by just switching to the newly downloaded accounts. Greg PS: Microsoft Money Plus Premium, most recent version On the old accounts, turn off on-line updates. You should then be able to merge the old accoun...