
{"id":2343,"date":"2017-03-01T17:27:43","date_gmt":"2017-03-01T22:27:43","guid":{"rendered":"http:\/\/www.ikriv.com\/blog\/?p=2343"},"modified":"2017-03-01T17:28:37","modified_gmt":"2017-03-01T22:28:37","slug":"wcf-named-pipes-no-security-vs-transport-security","status":"publish","type":"post","link":"https:\/\/ikriv.com\/blog\/?p=2343","title":{"rendered":"WCF named pipes: no security vs transport security"},"content":{"rendered":"<p>I am making a little excursion into the WCF land: I need to control my Windows Service from my ASP.NET server. While experimenting, I found that new <strong>NamedPipeBinding(NetNamedPipeSecurityMode.None)<\/strong> on the client is not compatible with<strong> new NamedPipeBinding()<\/strong> on the server. If you mix them, you&#8217;ll get a <strong>ProtocolException: The requested upgrade is not supported<\/strong>.<\/p>\n<p>Apparently, default security is &#8220;Transport&#8221;, which (theoretically) allows to encrypt and sign transmitted messages. More details in <a href=\"https:\/\/web.archive.org\/web\/20120820003722\/http:\/\/blogs.charteris.com\/blogs\/chrisdi\/archive\/2010\/11\/18\/talking-to-wcf-over-named-pipes-2-security-negotiation.aspx\">Chris Dickson&#8217;s blog<\/a>. Since named pipes are local to the machine, most likely we <a href=\"https:\/\/web.archive.org\/web\/20120903180026\/http:\/\/blogs.charteris.com\/blogs\/chrisdi\/archive\/2010\/11\/24\/talking-to-wcf-over-named-pipes-3-do-we-need-all-this-security.aspx\">don&#8217;t need all this security anyway<\/a>.<\/p>\n<p>Incredibly, whether to encrypt\/sign or not to encrypt\/sign a message <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/aa347692%28v=vs.110%29.aspx?f=255&amp;MSPPError=-2147217396\">is decided on the interface (service contract) level<\/a>. I am not sure why it is so, but it smells like a leaking abstraction.<\/p>\n<p>What I generally don&#8217;t like about WCF, that it feels like foreign language. It is too complex and rich with non-trivial concepts. You can study and perfect it, but if you don&#8217;t use it for couple of years, you begin to struggle and feel helpless without a dictionary.<\/p>\n<p><i>&#8220;No us\u00e9 WCF por un tiempo&#8221;<\/i> or &#8220;<i>No utilic\u00e9 WCF por un tiempo&#8221;<\/i>? Or is it neither?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am making a little excursion into the WCF land: I need to control my Windows Service from my ASP.NET server. While experimenting, I found that new NamedPipeBinding(NetNamedPipeSecurityMode.None) on the <a href=\"https:\/\/ikriv.com\/blog\/?p=2343\" class=\"more-link\">[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"Layout":"","footnotes":""},"categories":[3,4],"tags":[],"class_list":["entry","author-ikriv","post-2343","post","type-post","status-publish","format-standard","category-dotnet","category-hack"],"_links":{"self":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2343"}],"version-history":[{"count":3,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2343\/revisions"}],"predecessor-version":[{"id":2346,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2343\/revisions\/2346"}],"wp:attachment":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}