<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Web Services Security &#8211; HTTP Digest Authentication without Active Directory</title>
	<atom:link href="http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/</link>
	<description>Musings on just about everything.</description>
	<lastBuildDate>Fri, 27 Jan 2012 16:23:04 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Olivier Voutat</title>
		<link>http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132920</link>
		<dc:creator>Olivier Voutat</dc:creator>
		<pubDate>Thu, 20 Oct 2011 07:49:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.gregrphoto.com/rassoc/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132920</guid>
		<description>and if you want to use Soap12 instead of Soap11 which is the default for BasicHttpBinding

        &lt;bindings&gt;
            &lt;customBinding&gt;
                &lt;binding name=&quot;BindingSoap12&quot;&gt;
                    &lt;textMessageEncoding messageVersion=&quot;Soap12&quot; /&gt;
                    &lt;httpTransport /&gt;
                &lt;/binding&gt;
            &lt;/customBinding&gt;
        &lt;/bindings&gt;

but you will have to configure the service section too

        &lt;services&gt;
            &lt;service name=&quot;WcfAdministrationFederale.AssuranceVieillesse&quot;&gt;
                &lt;endpoint binding=&quot;customBinding&quot; bindingConfiguration=&quot;BindingSoap12&quot; contract=&quot;WcfAdministrationFederale.IAssuranceVieillesse&quot; /&gt;
            &lt;/service&gt;
        &lt;/services&gt;

Source
http://www.pvle.be/2008/10/soap-12-message-format-with-basichttpbinding/</description>
		<content:encoded><![CDATA[<p>and if you want to use Soap12 instead of Soap11 which is the default for BasicHttpBinding</p>
<p>        <bindings><br />
            <custombinding><br />
                <binding name="BindingSoap12"><br />
                    <textmessageencoding messageVersion="Soap12" /><br />
                    <httptransport /><br />
                </binding><br />
            </custombinding><br />
        </bindings></p>
<p>but you will have to configure the service section too</p>
<p>        <services><br />
            <service name="WcfAdministrationFederale.AssuranceVieillesse"><br />
                <endpoint binding="customBinding" bindingConfiguration="BindingSoap12" contract="WcfAdministrationFederale.IAssuranceVieillesse" /><br />
            </service><br />
        </services></p>
<p>Source<br />
<a href="http://www.pvle.be/2008/10/soap-12-message-format-with-basichttpbinding/" rel="nofollow">http://www.pvle.be/2008/10/soap-12-message-format-with-basichttpbinding/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olivier Voutat</title>
		<link>http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132917</link>
		<dc:creator>Olivier Voutat</dc:creator>
		<pubDate>Wed, 19 Oct 2011 12:23:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.gregrphoto.com/rassoc/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132917</guid>
		<description>Magic part

&lt;system.serviceModel&gt;
           &lt;serviceHostingEnvironment aspNetCompatibilityEnabled=&quot;true&quot; /&gt;
&lt;/system.serviceModel&gt;</description>
		<content:encoded><![CDATA[<p>Magic part</p>
<p>&lt;system.serviceModel&gt;<br />
           &lt;serviceHostingEnvironment aspNetCompatibilityEnabled=&#8221;true&#8221; /&gt;<br />
&lt;/system.serviceModel&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olivier Voutat</title>
		<link>http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132916</link>
		<dc:creator>Olivier Voutat</dc:creator>
		<pubDate>Wed, 19 Oct 2011 12:21:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.gregrphoto.com/rassoc/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132916</guid>
		<description>I love your module and have been using for some time now. But unfortunately at my work they want to migrate do WCF.

What a shock, the module didn&#039;t work...WCF uses security separated from the IIS authentication system.

WCF accepts custom security but only if certificates or https is used. Apparently the credentials are sent in clear mode...

What a crap... I understand why, but leave the choice to the developers. Only they know their environments.

After a complete week of intensive research I found the solution thanks to this project

http://custombasicauth.codeplex.com/

I didn&#039;t like it very much because it implies that you create a new authentication mode and the program is not the same if it is used for IIS 6 or IIS 7. But it lead me to the necessary changes so I can continue using your incredible module.

The magic is:


           


And in your Service class add the following above your class declaration

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    public class Service

So simple, and yet so hard to find out.</description>
		<content:encoded><![CDATA[<p>I love your module and have been using for some time now. But unfortunately at my work they want to migrate do WCF.</p>
<p>What a shock, the module didn&#8217;t work&#8230;WCF uses security separated from the IIS authentication system.</p>
<p>WCF accepts custom security but only if certificates or https is used. Apparently the credentials are sent in clear mode&#8230;</p>
<p>What a crap&#8230; I understand why, but leave the choice to the developers. Only they know their environments.</p>
<p>After a complete week of intensive research I found the solution thanks to this project</p>
<p><a href="http://custombasicauth.codeplex.com/" rel="nofollow">http://custombasicauth.codeplex.com/</a></p>
<p>I didn&#8217;t like it very much because it implies that you create a new authentication mode and the program is not the same if it is used for IIS 6 or IIS 7. But it lead me to the necessary changes so I can continue using your incredible module.</p>
<p>The magic is:</p>
<p>And in your Service class add the following above your class declaration</p>
<p>[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]<br />
    public class Service</p>
<p>So simple, and yet so hard to find out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frank</title>
		<link>http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132294</link>
		<dc:creator>Frank</dc:creator>
		<pubDate>Tue, 05 Oct 2010 11:35:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.gregrphoto.com/rassoc/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132294</guid>
		<description>Solved. 
(I did not see the previous answer, Thanks to Greg):

Dim req3 As HttpWebRequest
req3 = CType(WebRequest.Create(uri), HttpWebRequest)

req3.Credentials = New NetworkCredential(&quot;myuser&quot;, &quot;mypass&quot;)</description>
		<content:encoded><![CDATA[<p>Solved.<br />
(I did not see the previous answer, Thanks to Greg):</p>
<p>Dim req3 As HttpWebRequest<br />
req3 = CType(WebRequest.Create(uri), HttpWebRequest)</p>
<p>req3.Credentials = New NetworkCredential(&#8220;myuser&#8221;, &#8220;mypass&#8221;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frank</title>
		<link>http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132293</link>
		<dc:creator>Frank</dc:creator>
		<pubDate>Tue, 05 Oct 2010 11:19:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.gregrphoto.com/rassoc/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132293</guid>
		<description>Hi, 

I need a client making the authentication programmatically (not via browser).

So, create the 1st request and I catch the WebException.Response. Now I have access to the nonce and to all parameters. In order to authenticate, I need to send the authenticated request, according to the RFC (I mean I&#039;ve to create the header using nonce, user, pass, MD5,..). Do you have any working code to create this response ? 
thanks in advance.
Frank</description>
		<content:encoded><![CDATA[<p>Hi, </p>
<p>I need a client making the authentication programmatically (not via browser).</p>
<p>So, create the 1st request and I catch the WebException.Response. Now I have access to the nonce and to all parameters. In order to authenticate, I need to send the authenticated request, according to the RFC (I mean I&#8217;ve to create the header using nonce, user, pass, MD5,..). Do you have any working code to create this response ?<br />
thanks in advance.<br />
Frank</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olivier Voutat</title>
		<link>http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132291</link>
		<dc:creator>Olivier Voutat</dc:creator>
		<pubDate>Tue, 05 Oct 2010 07:04:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.gregrphoto.com/rassoc/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132291</guid>
		<description>Great, thanks to a post in the BasicAuthenticationModule article, I get this to work.

First, name it CustomDigestAuthenticationModule in the web.config.

Second, to make it works with Integrated pipeline, add this section:

    &lt;system.webServer&gt;
        &lt;validation validateIntegratedModeConfiguration=&quot;false&quot;/&gt;
        &lt;modules&gt;
            &lt;add name=&quot;CustomeDigestAuthenticationModule&quot; type=&quot;Rassoc.Samples.DigestAuthenticationModule, DigestAuthMod&quot;/&gt;
        &lt;/modules&gt;
    &lt;/system.webServer&gt;

This way it will work as well with integrated pipeline as without it. If you only want to make it work in integrated pipeline mode, erase httpmodule section and add only

    &lt;system.webServer&gt;
        &lt;modules&gt;
            &lt;add name=&quot;CustomeDigestAuthenticationModule&quot; type=&quot;Rassoc.Samples.DigestAuthenticationModule, DigestAuthMod&quot;/&gt;
        &lt;/modules&gt;
    &lt;/system.webServer&gt;

The section &lt;validation validateIntegratedModeConfiguration=&quot;false&quot;/&gt; is only there to avoid validation by IIS between the configuration and the integrated mode which doesn&#039;t accept an httpModule section.

------------------------------------------
# Chinh said:
August 24th, 2009 at 2:09 pm

For anyone trying to get this to work with IIS7, you need to do this:

- In web.config, change the name of the httpModule to “CustomBasicAuthenticationModule”. In IIS7, there’s already a built-in module named “BasicAuthenticationModule”.
- Follow the instructions here http://bdotnet.in/blogs/navaneeth/archive/2008/07/06/2056.aspx

Chinh</description>
		<content:encoded><![CDATA[<p>Great, thanks to a post in the BasicAuthenticationModule article, I get this to work.</p>
<p>First, name it CustomDigestAuthenticationModule in the web.config.</p>
<p>Second, to make it works with Integrated pipeline, add this section:</p>
<p>    &lt;system.webServer&gt;<br />
        &lt;validation validateIntegratedModeConfiguration=&#8221;false&#8221;/&gt;<br />
        &lt;modules&gt;<br />
            &lt;add name=&#8221;CustomeDigestAuthenticationModule&#8221; type=&#8221;Rassoc.Samples.DigestAuthenticationModule, DigestAuthMod&#8221;/&gt;<br />
        &lt;/modules&gt;<br />
    &lt;/system.webServer&gt;</p>
<p>This way it will work as well with integrated pipeline as without it. If you only want to make it work in integrated pipeline mode, erase httpmodule section and add only</p>
<p>    &lt;system.webServer&gt;<br />
        &lt;modules&gt;<br />
            &lt;add name=&#8221;CustomeDigestAuthenticationModule&#8221; type=&#8221;Rassoc.Samples.DigestAuthenticationModule, DigestAuthMod&#8221;/&gt;<br />
        &lt;/modules&gt;<br />
    &lt;/system.webServer&gt;</p>
<p>The section &lt;validation validateIntegratedModeConfiguration=&#8221;false&#8221;/&gt; is only there to avoid validation by IIS between the configuration and the integrated mode which doesn&#8217;t accept an httpModule section.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
# Chinh said:<br />
August 24th, 2009 at 2:09 pm</p>
<p>For anyone trying to get this to work with IIS7, you need to do this:</p>
<p>- In web.config, change the name of the httpModule to “CustomBasicAuthenticationModule”. In IIS7, there’s already a built-in module named “BasicAuthenticationModule”.<br />
- Follow the instructions here <a href="http://bdotnet.in/blogs/navaneeth/archive/2008/07/06/2056.aspx" rel="nofollow">http://bdotnet.in/blogs/navaneeth/archive/2008/07/06/2056.aspx</a></p>
<p>Chinh</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olivier Voutat</title>
		<link>http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132290</link>
		<dc:creator>Olivier Voutat</dc:creator>
		<pubDate>Tue, 05 Oct 2010 06:40:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.gregrphoto.com/rassoc/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132290</guid>
		<description>sigh, yeah, I see that DigestAuthenticationModule inherits from IHttpModule. Maybe we should inherit something else instead?</description>
		<content:encoded><![CDATA[<p>sigh, yeah, I see that DigestAuthenticationModule inherits from IHttpModule. Maybe we should inherit something else instead?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olivier Voutat</title>
		<link>http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132289</link>
		<dc:creator>Olivier Voutat</dc:creator>
		<pubDate>Tue, 05 Oct 2010 06:09:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.gregrphoto.com/rassoc/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132289</guid>
		<description>&lt;system.webServer&gt;
  &lt;validation validateIntegratedModeConfiguration=&quot;false&quot;/&gt;
&lt;/system.webServer&gt;</description>
		<content:encoded><![CDATA[<p>&lt;system.webServer&gt;<br />
  &lt;validation validateIntegratedModeConfiguration=&#8221;false&#8221;/&gt;<br />
&lt;/system.webServer&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olivier Voutat</title>
		<link>http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132288</link>
		<dc:creator>Olivier Voutat</dc:creator>
		<pubDate>Tue, 05 Oct 2010 06:02:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.gregrphoto.com/rassoc/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132288</guid>
		<description>tried

  


To make it accept the module in integrated module. Don&#039;t get the 500 error message anymore but it doesn&#039;t ask my login and password. Instead it throws a &quot;401 Refused Access&quot; directly.</description>
		<content:encoded><![CDATA[<p>tried</p>
<p>To make it accept the module in integrated module. Don&#8217;t get the 500 error message anymore but it doesn&#8217;t ask my login and password. Instead it throws a &#8220;401 Refused Access&#8221; directly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olivier Voutat</title>
		<link>http://www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132287</link>
		<dc:creator>Olivier Voutat</dc:creator>
		<pubDate>Mon, 04 Oct 2010 14:58:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.gregrphoto.com/rassoc/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/#comment-132287</guid>
		<description>Another thing that I noticed. If the application pool is pipeline integrated, it doesn&#039;t work. What is pipeline integrated useful for?</description>
		<content:encoded><![CDATA[<p>Another thing that I noticed. If the application pool is pipeline integrated, it doesn&#8217;t work. What is pipeline integrated useful for?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- This Quick Cache file was built for (  www.rassoc.com/gregr/weblog/2002/07/09/web-services-security-http-digest-authentication-without-active-directory/feed/ ) in 0.20207 seconds, on Feb 11th, 2012 at 3:42 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 11th, 2012 at 3:52 am UTC -->
