<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-16563048</id><updated>2012-01-05T10:53:21.261-05:00</updated><category term='Personal'/><category term='Indian'/><category term='National Anthem'/><category term='Technical'/><category term='mFit'/><category term='android'/><category term='Crop Circles'/><category term='Google Earth'/><category term='Microsoft'/><category term='Kenya'/><category term='Adventure Skydiving'/><category term='Pangea Day'/><category term='ASC Adventure Skydiving'/><category term='Google'/><category term='Kenyan'/><category term='mFitness'/><title type='text'>satish.net</title><subtitle type='html'>developer -&gt; developer</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-16563048.post-8821570061408480523</id><published>2008-11-17T15:12:00.002-05:00</published><updated>2008-11-17T15:14:01.816-05:00</updated><title type='text'></title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;If you are planning to run a 32 bit dll on 64 bit server (and/or using this dll on 64 bit oracle server) you will get error in the procedure (in ORDCOM.CreateObject method)&lt;br /&gt;&lt;br /&gt;here is the simplest solution to solve this problem.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Unregister your dll using &lt;b&gt;%windir%\system32&lt;/b&gt;\&lt;b&gt;regsvr32.exe\regsvr32 XXXX.dll /u &lt;/b&gt;(for all your dlls)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Register you dll using &lt;b&gt;%windir%\syswow64\regsvr32\ XXXX.dll&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Open Component Services&lt;/li&gt;&lt;li&gt;&lt;img alt="" src="file:///C:/DOCUME%7E1/C-SARA%7E1/LOCALS%7E1/Temp/moz-screenshot-2.jpg" /&gt;&lt;/li&gt;&lt;li&gt;Create a new Application under COM+ Applications&lt;/li&gt;&lt;li&gt;Click Next -&amp;gt; Create an Empty Application -&amp;gt; Enter the name -&amp;gt; Select the Activation type, I will leave it as Server Application -&amp;gt; Next -&amp;gt; Finish&lt;/li&gt;&lt;li&gt;Select the application folder you created &lt;/li&gt;&lt;li&gt;&lt;img alt="" src="file:///C:/DOCUME%7E1/C-SARA%7E1/LOCALS%7E1/Temp/moz-screenshot-4.jpg" /&gt;&lt;/li&gt;&lt;li&gt;Create New Component&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Click Next-&amp;gt;Install New Components -&amp;gt; Locate your 32 bit dlls folder and select the dll's which you want to add -&amp;gt; Next -&amp;gt; Finish&lt;/li&gt;&lt;li&gt;Now its a good idea to look at the secury options for your component and set then as you desire.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Now close the Component Services&lt;/li&gt;&lt;li&gt;Try accessing the procedure where your compenent is accessed thru ORDCOM CreateObject&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Hope this helps.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16563048-8821570061408480523?l=satisharas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/8821570061408480523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16563048&amp;postID=8821570061408480523' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/8821570061408480523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/8821570061408480523'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/2008/11/if-you-are-planning-to-run-32-bit-dll.html' title=''/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16563048.post-6914400701945419777</id><published>2008-06-20T10:05:00.003-04:00</published><updated>2008-12-13T02:57:05.679-05:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_b6dyw7rqBGg/SFu52bS11rI/AAAAAAAAGDA/xKEeYK6vNd8/s1600-h/untitled.JPG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_b6dyw7rqBGg/SFu52bS11rI/AAAAAAAAGDA/xKEeYK6vNd8/s400/untitled.JPG" alt="" id="BLOGGER_PHOTO_ID_5213965338302338738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;While trying to access the MCP website got this message. I think this is the time for Microsoft to follow the Best Practices which they ask others to follow :)&lt;br /&gt;&lt;h2 class="r"&gt;&lt;a onmousedown="return rwt(this,'','','res','2','AFQjCNE1KgkuxE3V-eXvRO_k0giq3oN4VQ','&amp;sig2=ZHOoIgT-828V5C3Znw_iaA')" class="l" href="http://www.codeplex.com/entlib"&gt;patterns &amp;amp; &lt;b&gt;practices&lt;/b&gt;&lt;/a&gt;&lt;a onmousedown="return rwt(this,'','','res','2','AFQjCNE1KgkuxE3V-eXvRO_k0giq3oN4VQ','&amp;sig2=ZHOoIgT-828V5C3Znw_iaA')" class="l" href="http://www.codeplex.com/entlib"&gt; &lt;/a&gt;&lt;/h2&gt;&lt;img src="file:///C:/DOCUME%7E1/C-SARA%7E1/LOCALS%7E1/Temp/moz-screenshot-7.jpg" alt="" /&gt;&lt;br /&gt;&lt;img alt="" src="file:///C:/DOCUME%7E1/C-SARA%7E1/LOCALS%7E1/Temp/moz-screenshot-7.jpg" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16563048-6914400701945419777?l=satisharas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/6914400701945419777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16563048&amp;postID=6914400701945419777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/6914400701945419777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/6914400701945419777'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/2008/06/while-trying-to-access-mcp-website-got.html' title=''/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_b6dyw7rqBGg/SFu52bS11rI/AAAAAAAAGDA/xKEeYK6vNd8/s72-c/untitled.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16563048.post-4318187500140191308</id><published>2008-06-18T11:54:00.002-04:00</published><updated>2008-06-18T11:55:44.959-04:00</updated><title type='text'></title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;a href='http://www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials'&gt;Top 12 Ruby on Rails Tutorials&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Good tutorials to learn Ruby on Rails&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16563048-4318187500140191308?l=satisharas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/4318187500140191308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16563048&amp;postID=4318187500140191308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/4318187500140191308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/4318187500140191308'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/2008/06/top-12-ruby-on-rails-tutorials-good.html' title=''/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16563048.post-5979468285436043005</id><published>2008-06-17T15:22:00.005-04:00</published><updated>2008-06-17T15:27:43.758-04:00</updated><title type='text'></title><content type='html'>&lt;b&gt;&lt;font face="verdana"&gt;Passed Exam 70-551&lt;br /&gt;UPGRADE: MCAD Skills to MCPD Web Developer by Using the Microsoft .NET Framework&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;font face="verdana"&gt;Yesterday I passed 70-551 exam scoring 760. I was preparing for this paper from last 2 months spending couple of late night hours.&lt;br /&gt;&lt;br /&gt;This paper is combination of &lt;br /&gt;&lt;/font&gt;&lt;p&gt;&lt;i&gt;&lt;a href="http://www.microsoft.com/mspress/books/9982.aspx"&gt;MCTS Self-Paced Training Kit (Exam 70-528): Microsoft .NET Framework 2.0 Web-Based Client Development&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;a href="http://www.microsoft.com/mspress/books/10092.aspx"&gt;MCPD Self-Paced Training Kit (Exam 70-547): Designing and Developing Web-Based Applications Using the Microsoft .NET Framework&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;a href="http://www.microsoft.com/mspress/books/9469.aspx"&gt;MCTS Self-Paced Training Kit (Exam 70-536): Microsoft .NET Framework 2.0—Application Development Foundation&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Exam is divided into 3 section and totally contains 88 questions and need to score 700 to pass failing in one section will result in failing all sections.&lt;br /&gt;&lt;/p&gt;&lt;font face="verdana"&gt;&lt;/font&gt;&lt;table border="1" height="205" width="363"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width: 50%; height: 25%;"&gt;&lt;b&gt;Exam Number&lt;/b&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="width: 50%; height: 25%;"&gt;&lt;b&gt;Questions&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 50%; height: 25%;"&gt;70-527 (Section 1)&lt;br /&gt;&lt;/td&gt;&lt;td style="width: 50%; height: 25%;"&gt;30&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 50%; height: 25%;"&gt;70-528 (Section 2)&lt;/td&gt;&lt;td style="width: 50%; height: 25%;"&gt;28&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 50%; height: 25%;"&gt;70-547 (Section 3)&lt;/td&gt;&lt;td style="width: 50%; height: 25%;"&gt;30&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;This is one of the tough paper to pass and the passing rate is very low more information you can visit&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/gerryo/archive/2008/02/25/microsoft-certifications-how-do-i-upgrade-my-mcad-or-mcsd.aspx"&gt;Microsoft Blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I prepared using microsoft press books on 70-527, 70-528 and 70-547&lt;br /&gt;&lt;br /&gt;Feeling Great!!!!!!!!!!!!!&lt;br /&gt;&lt;br /&gt;Now i am a MCPD :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16563048-5979468285436043005?l=satisharas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/5979468285436043005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16563048&amp;postID=5979468285436043005' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/5979468285436043005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/5979468285436043005'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/2008/06/passed-exam-70-551-upgrade-mcad-skills.html' title=''/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16563048.post-2095368465887356323</id><published>2008-04-15T17:12:00.000-04:00</published><updated>2008-04-15T17:16:34.560-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pangea Day'/><category scheme='http://www.blogger.com/atom/ns#' term='Kenyan'/><category scheme='http://www.blogger.com/atom/ns#' term='Kenya'/><category scheme='http://www.blogger.com/atom/ns#' term='Indian'/><category scheme='http://www.blogger.com/atom/ns#' term='National Anthem'/><title type='text'></title><content type='html'>Kenyans sings Indian National Anthem&lt;br /&gt;&lt;br /&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/uAWarHi0OgE&amp;amp;rel=0"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/uAWarHi0OgE&amp;amp;rel=0" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;This is a video attempt by leading film makers to change the way we think of other countries. T&lt;span&gt;his film, one of four to be shown on &lt;a href="http://www.pangeaday.org/"&gt;Pangea Day&lt;/a&gt;, on May 10,  “the day the world comes together through film”, is directed by &lt;/span&gt;&lt;span&gt;&lt;strong&gt;Bob Nyanja&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Can we sing Kenya national anthem?&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16563048-2095368465887356323?l=satisharas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/2095368465887356323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16563048&amp;postID=2095368465887356323' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/2095368465887356323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/2095368465887356323'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/2008/04/kenyans-sings-indian-national-anthem.html' title=''/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16563048.post-1271947830112762016</id><published>2008-04-14T23:11:00.001-04:00</published><updated>2008-04-14T23:17:19.633-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mFit'/><category scheme='http://www.blogger.com/atom/ns#' term='mFitness'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'></title><content type='html'>My Android challenge submission (mFitness / mFit)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;mFitness for Android is a simple fitness application designed for&lt;br /&gt;Android platform demonstrating several major concepts of the Android platform.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt; &lt;param name="movie" value="http://www.youtube.com/v/ZeLNcNtJ3gI"&gt;  &lt;embed src="http://www.youtube.com/v/ZeLNcNtJ3gI" type="application/x-shockwave-flash" height="350" width="425"&gt;&lt;/embed&gt;  &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16563048-1271947830112762016?l=satisharas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/1271947830112762016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16563048&amp;postID=1271947830112762016' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/1271947830112762016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/1271947830112762016'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/2008/04/my-android-challenge-submission.html' title=''/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16563048.post-2465997556812986512</id><published>2008-03-15T11:00:00.003-04:00</published><updated>2008-04-14T23:11:20.181-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASC Adventure Skydiving'/><category scheme='http://www.blogger.com/atom/ns#' term='Adventure Skydiving'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'></title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold; font-family: verdana;"&gt;My Skydiving&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-4996145191799672018&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16563048-2465997556812986512?l=satisharas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/2465997556812986512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16563048&amp;postID=2465997556812986512' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/2465997556812986512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/2465997556812986512'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/2008/03/my-skydiving-experience.html' title=''/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16563048.post-7684373551187679103</id><published>2008-02-27T17:24:00.000-05:00</published><updated>2008-12-13T02:57:06.213-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'></title><content type='html'>&lt;h2&gt;Microsoft Virtual Launch Experience (Crashing)&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;                 &lt;div class="psmall"&gt;&lt;span style="font-style: italic;"&gt;"Experience the launch virtually and access Steve Ballmer’s Keynote, breakout sessions and partners – it’s the next best thing to being there."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I visited the microsoft.com site and followed the link for a virtual experience for the 2008 server launch and landed in a crash site :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_b6dyw7rqBGg/R8Xk-zAkYZI/AAAAAAAAFpk/xs_Gu66dwM8/s1600-h/scr1.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_b6dyw7rqBGg/R8Xk-zAkYZI/AAAAAAAAFpk/xs_Gu66dwM8/s400/scr1.JPG" alt="" id="BLOGGER_PHOTO_ID_5171791514600497554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_b6dyw7rqBGg/R8Xk_DAkYaI/AAAAAAAAFps/Pj_IW-S6a60/s1600-h/scr2.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_b6dyw7rqBGg/R8Xk_DAkYaI/AAAAAAAAFps/Pj_IW-S6a60/s400/scr2.JPG" alt="" id="BLOGGER_PHOTO_ID_5171791518895464866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16563048-7684373551187679103?l=satisharas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/7684373551187679103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16563048&amp;postID=7684373551187679103' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/7684373551187679103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/7684373551187679103'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/2008/02/virtual-launch-experience-crashing.html' title=''/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_b6dyw7rqBGg/R8Xk-zAkYZI/AAAAAAAAFpk/xs_Gu66dwM8/s72-c/scr1.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16563048.post-114314072256871918</id><published>2006-03-23T14:05:00.002-05:00</published><updated>2008-03-15T11:03:56.190-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Earth'/><category scheme='http://www.blogger.com/atom/ns#' term='Crop Circles'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;Crop Circles&lt;/span&gt; Check out &lt;a href="http://maps.google.co.uk/maps?f=q&amp;amp;hl=en&amp;t=k&amp;amp;ll=53.531758,-1.356699&amp;spn=0.001121,0.002838&amp;amp;t=k" target="_blank"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16563048-114314072256871918?l=satisharas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/114314072256871918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16563048&amp;postID=114314072256871918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/114314072256871918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/114314072256871918'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/2006/03/crop-circles-on-google-maps.html' title=''/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16563048.post-114313223526143376</id><published>2006-03-23T11:43:00.002-05:00</published><updated>2008-04-15T15:20:10.555-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'></title><content type='html'>&lt;p&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:85%;"&gt;X509Certificate Enveloped Signing XML &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;Couple of days back I was asked to research on Cryptography in .NET Framework v1.1 to digitally sign a document Here is the code which I developed using VB.NET to sign XML file&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:'Courier New';font-size:10;"  &gt;&lt;span style="color:blue;"&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Verdana;" &gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Verdana;color:red;"  &gt;&lt;span style="font-size:85%;"&gt;*******************************************************************&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div  style="color:white;"&gt;&lt;br /&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; store &lt;span style="color:blue;"&gt;As&lt;/span&gt; WSE.X509CertificateStore&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; MyCert &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.Security.Cryptography.X509Certificates.X509Certificate&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        store = WSE.X509CertificateStore.CurrentUserStore(WSE.X509CertificateStore.MyStore)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        store.OpenRead()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; cert &lt;span style="color:blue;"&gt;As&lt;/span&gt; X509Certificate &lt;span style="color:blue;"&gt;In&lt;/span&gt; store.Certificates&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;            MyCert = &lt;span style="color:blue;"&gt;DirectCast&lt;/span&gt;(cert, System.Security.Cryptography.X509Certificates.X509Certificate)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Next&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        store.Close()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-family:'Courier New';"&gt;       &lt;span style="color:green;"&gt;' This example signs a file specified by a URI &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' using a detached signature. It then verifies  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' the signed XML.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;'&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' The URI to sign.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; resourceToSign &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = "#MyObjectId"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' The name of the file to which to save the XML signature.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; XmlFileName &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = "C:\xmldsig.xml"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:blue;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;            &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; FILE &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = "c:\File.doc"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;            &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; Key &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; RSACryptoServiceProvider&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;            &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; prm &lt;span style="color:blue;"&gt;As&lt;/span&gt; RSAParameters = Key.ExportParameters(&lt;span style="color:blue;"&gt;True&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;            &lt;span style="color:green;"&gt;' Sign the detached resource and save the signature in an XML file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;            SignResource(FILE, resourceToSign, XmlFileName, Key, MyCert)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;            Key.ImportParameters(prm)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;            MsgBox(VerifyXmlFile(FILE, XmlFileName, prm))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:green;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; CryptographicException&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;            Console.WriteLine(ex.Message)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Verdana;color:red;"  &gt;&lt;span style="font-size:85%;"&gt;*******************************************************************&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;    &lt;span style="color:green;"&gt;' Sign an XML file and save the signature in a new file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;    &lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; SignResource(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; OriginalFile &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; URIString &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; XmlSigFileName &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; Key &lt;span style="color:blue;"&gt;As&lt;/span&gt; RSA, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; Certificate &lt;span style="color:blue;"&gt;As&lt;/span&gt; WSE.X509Certificate)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Create the XmlDocument.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; doc &lt;span style="color:blue;"&gt;As&lt;/span&gt; XmlDocument = &lt;span style="color:blue;"&gt;New&lt;/span&gt; XmlDocument&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        doc.LoadXml("&amp;lt;FileInfo&amp;gt;&amp;lt;/FileInfo&amp;gt;")&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Add a price element.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; newElem &lt;span style="color:blue;"&gt;As&lt;/span&gt; XmlElement = doc.CreateElement("Hash")&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;'Generate the Hash&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        newElem.InnerText = GetHash(OriginalFile)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        doc.DocumentElement.AppendChild(newElem)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Create a SignedXml object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; signedXml &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; SignedXml(doc)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Create a data object to hold the data to sign.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; dataObject &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; DataObject&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        dataObject.Data = doc.ChildNodes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        dataObject.Id = "MyObjectId"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Add the data object to the signature.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        signedXml.AddObject(dataObject)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Assign the key to the SignedXml object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        signedXml.SigningKey = Key&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Create a reference to be signed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; reference &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; Reference&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;'' Add the passed URI to the reference object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        reference.Uri = URIString&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Add the reference to the SignedXml object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        signedXml.AddReference(reference)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Create a new KeyInfo object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; keyInfo &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; KeyInfo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Load the certificate into a KeyInfoX509Data object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' and add it to the KeyInfo object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        keyInfo.AddClause(&lt;span style="color:blue;"&gt;New&lt;/span&gt; KeyInfoX509Data(Certificate))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Add the KeyInfo object to the SignedXml object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        signedXml.KeyInfo = keyInfo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Compute the signature.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        signedXml.ComputeSignature()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Get the XML representation of the signature and save&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' it to an XmlElement object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; xmlDigitalSignature &lt;span style="color:blue;"&gt;As&lt;/span&gt; XmlElement = signedXml.GetXml()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        doc.DocumentElement.AppendChild(signedXml.GetXml())&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Save the document to a file and auto-indent the output.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; writer &lt;span style="color:blue;"&gt;As&lt;/span&gt; XmlTextWriter = &lt;span style="color:blue;"&gt;New&lt;/span&gt; XmlTextWriter("test.xml", &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        writer.Formatting = Formatting.Indented&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        doc.Save(writer)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        writer.Close()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Save the signed XML document to a file specified&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' using the passed string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; xmltw &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; XmlTextWriter(XmlSigFileName, &lt;span style="color:blue;"&gt;New&lt;/span&gt; UTF8Encoding(&lt;span style="color:blue;"&gt;False&lt;/span&gt;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        xmlDigitalSignature.WriteTo(xmltw)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        xmltw.Close()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;    &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:red;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:red;"   &gt;*******************************************************************&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;    &lt;span style="color:green;"&gt;' Verify the signature of an XML file against an asymetric &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;    &lt;span style="color:green;"&gt;' algorithm and return the result.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;    &lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; VerifyXmlFile(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; OriginalFile &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; Name &lt;span style="color:blue;"&gt;As&lt;/span&gt; [String], &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; KeyParameter &lt;span style="color:blue;"&gt;As&lt;/span&gt; RSAParameters) &lt;span style="color:blue;"&gt;As&lt;/span&gt; [Boolean]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Create a new XML document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; xmlDocument &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; XmlDocument&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Load the passed XML file into the document. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        xmlDocument.Load(Name)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; HashElement &lt;span style="color:blue;"&gt;As&lt;/span&gt; XmlElement = &lt;span style="color:blue;"&gt;CType&lt;/span&gt;(xmlDocument.GetElementsByTagName("Hash")(0), XmlElement)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; CurrentHash &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = GetHash(OriginalFile)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;If&lt;/span&gt; HashElement.InnerXml &amp;lt;&amp;gt; CurrentHash &lt;span style="color:blue;"&gt;Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;            &lt;span style="color:blue;"&gt;Throw&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; ApplicationException("Signature Failed at Hash level check")&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;If&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;color:blue;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; signedXml &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; SignedXml(xmlDocument)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; nodeList &lt;span style="color:blue;"&gt;As&lt;/span&gt; XmlNodeList = xmlDocument.GetElementsByTagName("Signature")&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Load the signature node.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        signedXml.LoadXml(&lt;span style="color:blue;"&gt;CType&lt;/span&gt;(nodeList(0), XmlElement))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Dim&lt;/span&gt; Key &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; RSACryptoServiceProvider&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        Key.ImportParameters(KeyParameter)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:'Courier New';font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:green;"&gt;' Check the signature and return the result.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;        &lt;span style="color:blue;"&gt;Return&lt;/span&gt; signedXml.CheckSignature(Key)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;    &lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:red;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style=";font-family:Verdana;font-size:85%;color:red;"   &gt;*******************************************************************&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;b&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt; GetHash(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; File &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;) &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; SHAHasher &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.Security.Cryptography.SHA1Managed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; SHAHash() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Byte&lt;/span&gt; = SHAHasher.ComputeHash(GetByte(File))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; SHAHashString &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt; = System.Convert.ToBase64String(SHAHash)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue;"&gt;Return&lt;/span&gt; SHAHashString&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt;"&gt;&lt;span style="font-family:'Courier New';"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Happy Programming&lt;/span&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="" style="display: block;" id="formatbar_ForeColor" title="Text Color" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);SelectColor(this,'ForeColor');ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;– S&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16563048-114313223526143376?l=satisharas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/114313223526143376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16563048&amp;postID=114313223526143376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/114313223526143376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/114313223526143376'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/2006/03/x509certificate-enveloped-signing-xml_23.html' title=''/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16563048.post-114306137900167767</id><published>2006-03-22T16:02:00.000-05:00</published><updated>2008-03-15T11:03:56.191-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'></title><content type='html'>I will start blogging about geek stuff here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16563048-114306137900167767?l=satisharas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://satisharas.blogspot.com/feeds/114306137900167767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16563048&amp;postID=114306137900167767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/114306137900167767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16563048/posts/default/114306137900167767'/><link rel='alternate' type='text/html' href='http://satisharas.blogspot.com/2006/03/i-will-start-blogging-about-geek-stuff.html' title=''/><author><name>Satish</name><uri>http://www.blogger.com/profile/17970550219609873797</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
