<p>I have a wcf application hosted in a windows service running a local windows account. Do I need to set an SPN for this account? If so, what's the protocol the SPN needs to be set under? I know how to do this for services over HTTP, but have never done it for net.tcp.</p>

[{'answer_id': 40472, 'author': 'Jeremy McGee', 'author_id': 3546, 'author_profile': 'https://Stackoverflow.com/users/3546', 'pm_score': 3, 'selected': True, 'text': '<p>By default (i.e. out of the box) net.tcp services are unsecured and don\'t perform any authentication at all. So you won\'t need (and in fact can\'t) set a service principal name. </p>\n\n<p>If you need to authenticate, then check the <a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.nettcpsecurity.aspx" rel="nofollow noreferrer">net.tcp security</a> modes on MSDN. The best way to understand the different combinations is to experiment!</p>\n'}, {'answer_id': 71039, 'author': 'softveda', 'author_id': 11711, 'author_profile': 'https://Stackoverflow.com/users/11711', 'pm_score': 3, 'selected': False, 'text': '<p>Change the service account to an AD account and register the SPN\'s as shown. Use your own service name e.g. fooservice</p>\n\n<blockquote>\n  <p>setspn -A fooservice/servermachinename domain\\serviceAccountName<br>\n  setspn -A fooservice/servermachinename.fullyqualifieddomainname\n  domain\\serviceAccountName</p>\n</blockquote>\n\n<p>In the client config set:</p>\n\n<pre><code>&lt;identity&gt;\n    &lt;serviceprincipalname value="fooservice/servermachinename" /&gt;\n&lt;/identity&gt;\n</code></pre>\n'}]
['https://Stackoverflow.com/questions/38779', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/781/']