<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>RichardSoeteman.net - Algemeen</title>
    <link>http://www.richardsoeteman.net/</link>
    <description />
    <language>en-us</language>
    <copyright>Richard Soeteman</copyright>
    <lastBuildDate>Mon, 09 Jul 2007 07:07:05 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>richard@richardsoeteman.net</managingEditor>
    <webMaster>richard@richardsoeteman.net</webMaster>
    <item>
      <trackback:ping>http://www.richardsoeteman.net/Trackback.aspx?guid=986654ed-c122-4718-90ec-76743b1570ef</trackback:ping>
      <pingback:server>http://www.richardsoeteman.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.richardsoeteman.net/PermaLink,guid,986654ed-c122-4718-90ec-76743b1570ef.aspx</pingback:target>
      <dc:creator>Richard Soeteman</dc:creator>
      <wfw:comment>http://www.richardsoeteman.net/CommentView,guid,986654ed-c122-4718-90ec-76743b1570ef.aspx</wfw:comment>
      <wfw:commentRss>http://www.richardsoeteman.net/SyndicationService.asmx/GetEntryCommentsRss?guid=986654ed-c122-4718-90ec-76743b1570ef</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
 Een aantal weken terug heb ik het al eens gehad over <a title="problemen met Certificaten" href="http://www.richardsoeteman.net/PermaLink,guid,1d54f40a-4373-4fea-846a-d50c884b9d52.aspx" target="_blank">problemen
met Certificaten</a>. Deze problemen leken opgelost te zijn totdat ik de applicatie
in acceptatie ging zetten en direct de foutmelding "The request failed with HTTP
status 403: Forbidden. " te zien kreeg. Via google kreeg ik vele resultaten echter
was er geen van toepassing op mijn situatie.  
</p>
        <p>
Mijn ASP.NET pagina roept een externe Webservice aan welke via HTTPS gehost wordt.  Wanneer
ik een certificaat mee wil sturen werkt dit correct in mijn development webserver
echter gehost via IIS werkt dit in het geheel niet. Het gevolg is een van onderstaande
foutmeldingen:
</p>
        <ul>
          <li>
The request failed with HTTP status 403: Forbidden. 
</li>
          <li>
The request was aborted: Could not create SSL/TLS secure channel 
</li>
          <li>
The underlying connection was closed: An unexpected error occurred on a send.</li>
        </ul>
        <p>
Het eerste waar je aan denkt is rechten. Dit bleek in mijn geval ook deels de oorzaak
te zijn.  Om de rechten op het certificaat te controleren heb je de tool <a title="WinHttpCertCfg" href="http://msdn2.microsoft.com/en-us/library/aa384088.aspx" target="_blank">WinHttpCertCfg</a> nodig.
  Middels deze tool kan je per certificate store (Local_Machine of Current_User )
bekijken hoe de rechten voor een bepaald certificaat zijn ingesteld.
</p>
        <p>
Current_User: "C:\Program Files\Windows Resource Kits\Tools\"winhttpcertcfg -l -c
"CURRENT_USER\Root" -s "[naam van het certificaat]"<br />
De volgende accounts dienen hier rechten op te hebben:
</p>
        <ul>
          <li>
Ingelogde gebruiker 
</li>
          <li>
NT Authority\System</li>
        </ul>
        <p>
Local_Machine : "C:\Program Files\Windows Resource Kits\Tools\"winhttpcertcfg -l -c
"LOCAL_MACHINE\Root" -s "[naam van het certificaat]"<br />
De volgende accounts dienen hier rechten op te hebben:
</p>
        <ul>
          <li>
Ingelogde gebruiker 
</li>
          <li>
NT Authority\System 
</li>
          <li>
ASP.NET Account / network service account (Windows 2003)</li>
        </ul>
        <p>
In mijn geval had het ASP.NET account nog geen rechten. Het instellen van de rechten
doe je ook met de WinhttpCertcfg tool. Gebruik  hiervoor onderstaande parameters:
</p>
        <p>
"C:\Program Files\Windows Resource Kits\Tools"\winhttpcertcfg -g -c "LOCAL_MACHINE\ROOT"
-S "[naam van het certificaat]" -A "ASP.NET"
</p>
        <p>
Na het toevoegen van de rechten kreeg ik echter nog steeds dezelfde foutmelding. In
mijn geval had de systeembeheerder het certificaat ook in de verkeerde certificaat
repository geïnstalleerd. Met de winhttpcertcfg tool kom je hier niet achter. Deze
kijkt namelijk niet naar de locatie waar het certificaat geïmporteerd is.  Middels certificaten.msc
te vinden onder systeembeheer heb ik vervolgens het certificaat geïmporteerd in onderstaande
nodes. 
</p>
        <p>
          <img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="509" src="http://www.richardsoeteman.net/content/binary/certificaatlocaties.jpg" width="782" border="0" />
        </p>
        <p>
          <em>Tip: Er bestaat een mogelijkheid om deze certificaten te copy/pasten. Gebruik
deze optie niet met certificaten waarin een private key is opgenomen, deze wordt namelijk
niet mee gekopieerd en geeft dus weer andere problemen.</em>
        </p>
        <p>
Vervolgens de rechten voor ASP.NET account weer ingesteld en toen werkte alles naar
behoren. Uiteindelijk een simpele oplossing van een probleem dat me een goede dag
gekost heeft. 
</p>
        <h3>Resources:
</h3>
        <ul>
          <li>
            <a title="WinHttpCertCfg.exe, a Certificate Configuration Tool" href="http://msdn2.microsoft.com/en-us/library/aa384088.aspx" target="_blank">WinHttpCertCfg.exe,
a Certificate Configuration Tool</a>
          </li>
          <li>
            <a title="How to call a Web service by using a client certificate for authentication in an ASP.NET Web application" href="http://support.microsoft.com/kb/901183" target="_blank">How
to call a Web service by using a client certificate for authentication in an ASP.NET
Web application</a>
          </li>
          <li>
            <a title="Kerry D. Wong - Using X509 Certificate with Web Service in ASP.Net" href="http://www.kerrywong.com/PermaLink,guid,b2b16516-9ab9-4ba8-bc22-74ab020ddc81.aspx" target="_blank">Kerry
D. Wong - Using X509 Certificate with Web Service in ASP.Net</a>
          </li>
          <li>
            <a title="Working with Certificates" href="http://www.aspnetpro.com/newsletterarticle/2006/10/asp200610mb_l/asp200610mb_l.asp" target="_blank">Working
with Certificates</a>
          </li>
        </ul>
        <img width="0" height="0" src="http://www.richardsoeteman.net/aggbug.ashx?id=986654ed-c122-4718-90ec-76743b1570ef" />
      </body>
      <title>Certificaat perikelen deel II</title>
      <guid isPermaLink="false">http://www.richardsoeteman.net/PermaLink,guid,986654ed-c122-4718-90ec-76743b1570ef.aspx</guid>
      <link>http://www.richardsoeteman.net/2007/07/09/CertificaatPerikelenDeelII.aspx</link>
      <pubDate>Mon, 09 Jul 2007 07:07:05 GMT</pubDate>
      <description>&lt;p&gt;
&amp;nbsp;Een aantal weken terug heb ik het al eens gehad over &lt;a title="problemen met Certificaten" href="http://www.richardsoeteman.net/PermaLink,guid,1d54f40a-4373-4fea-846a-d50c884b9d52.aspx" target=_blank&gt;problemen
met Certificaten&lt;/a&gt;. Deze problemen leken opgelost te zijn totdat ik de applicatie
in&amp;nbsp;acceptatie ging zetten en direct de foutmelding "The request failed with HTTP
status 403: Forbidden. " te zien kreeg.&amp;nbsp;Via google kreeg ik vele resultaten echter
was er geen van toepassing op mijn situatie.&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Mijn&amp;nbsp;ASP.NET pagina roept een externe Webservice aan welke via HTTPS gehost wordt.&amp;nbsp;&amp;nbsp;Wanneer
ik een certificaat mee wil sturen werkt dit correct in mijn development webserver
echter gehost via IIS werkt dit in het geheel niet. Het gevolg is een van onderstaande
foutmeldingen:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
The request failed with HTTP status 403: Forbidden. 
&lt;li&gt;
The request was aborted: Could not create SSL/TLS secure channel 
&lt;li&gt;
The underlying connection was closed: An unexpected error occurred on a send.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Het eerste waar je aan denkt is rechten. Dit bleek in mijn geval ook deels de oorzaak
te zijn.&amp;nbsp;&amp;nbsp;Om de rechten op het certificaat te controleren heb je de tool &lt;a title=WinHttpCertCfg href="http://msdn2.microsoft.com/en-us/library/aa384088.aspx" target=_blank&gt;WinHttpCertCfg&lt;/a&gt; nodig.
&amp;nbsp;&amp;nbsp;Middels deze tool kan je per certificate store (Local_Machine of Current_User&amp;nbsp;)
bekijken&amp;nbsp;hoe de rechten voor een bepaald certificaat zijn ingesteld.
&lt;/p&gt;
&lt;p&gt;
Current_User: "C:\Program Files\Windows Resource Kits\Tools\"winhttpcertcfg -l -c
"CURRENT_USER\Root" -s "[naam van het certificaat]"&lt;br&gt;
De volgende accounts dienen hier rechten op te hebben:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Ingelogde gebruiker 
&lt;li&gt;
NT Authority\System&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Local_Machine : "C:\Program Files\Windows Resource Kits\Tools\"winhttpcertcfg -l -c
"LOCAL_MACHINE\Root" -s "[naam van het certificaat]"&lt;br&gt;
De volgende accounts dienen hier rechten op te hebben:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Ingelogde gebruiker 
&lt;li&gt;
NT Authority\System 
&lt;li&gt;
ASP.NET Account / network service account (Windows 2003)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
In mijn geval had het ASP.NET account nog geen rechten. Het instellen van de rechten
doe je ook met de WinhttpCertcfg tool. Gebruik &amp;nbsp;hiervoor onderstaande parameters:
&lt;/p&gt;
&lt;p&gt;
"C:\Program Files\Windows Resource Kits\Tools"\winhttpcertcfg -g -c "LOCAL_MACHINE\ROOT"
-S "[naam van het certificaat]" -A "ASP.NET"
&lt;/p&gt;
&lt;p&gt;
Na het toevoegen van de rechten kreeg ik echter nog steeds dezelfde foutmelding. In
mijn geval had de systeembeheerder het certificaat ook in de verkeerde certificaat
repository geïnstalleerd. Met de winhttpcertcfg tool kom je hier niet achter. Deze
kijkt namelijk niet naar de locatie waar het certificaat geïmporteerd is.&amp;nbsp; Middels&amp;nbsp;certificaten.msc
te vinden onder systeembeheer heb ik vervolgens het certificaat geïmporteerd in onderstaande
nodes. 
&lt;/p&gt;
&lt;p&gt;
&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=509 src="http://www.richardsoeteman.net/content/binary/certificaatlocaties.jpg" width=782 border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Tip: Er bestaat een mogelijkheid om deze certificaten te copy/pasten. Gebruik
deze optie niet met certificaten waarin een private key is opgenomen, deze wordt namelijk
niet mee gekopieerd en geeft dus weer andere problemen.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Vervolgens de rechten voor ASP.NET account weer ingesteld en toen werkte alles naar
behoren. Uiteindelijk een simpele oplossing van een probleem dat me een goede dag
gekost heeft.&amp;nbsp;
&lt;/p&gt;
&lt;h3&gt;Resources:
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a title="WinHttpCertCfg.exe, a Certificate Configuration Tool" href="http://msdn2.microsoft.com/en-us/library/aa384088.aspx" target=_blank&gt;WinHttpCertCfg.exe,
a Certificate Configuration Tool&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a title="How to call a Web service by using a client certificate for authentication in an ASP.NET Web application" href="http://support.microsoft.com/kb/901183" target=_blank&gt;How
to call a Web service by using a client certificate for authentication in an ASP.NET
Web application&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a title="Kerry D. Wong - Using X509 Certificate with Web Service in ASP.Net" href="http://www.kerrywong.com/PermaLink,guid,b2b16516-9ab9-4ba8-bc22-74ab020ddc81.aspx" target=_blank&gt;Kerry
D. Wong - Using X509 Certificate with Web Service in ASP.Net&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a title="Working with Certificates" href="http://www.aspnetpro.com/newsletterarticle/2006/10/asp200610mb_l/asp200610mb_l.asp" target=_blank&gt;Working
with Certificates&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://www.richardsoeteman.net/aggbug.ashx?id=986654ed-c122-4718-90ec-76743b1570ef" /&gt;</description>
      <comments>http://www.richardsoeteman.net/CommentView,guid,986654ed-c122-4718-90ec-76743b1570ef.aspx</comments>
      <category>Algemeen</category>
    </item>
  </channel>
</rss>