<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Forefront TMG Product Team Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/isablog/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/isablog/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 09 Aug 2017 00:37:12 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Further details and guidance regarding discontinuation of TMG Web Protection Services</title>
      <link>https://docs.microsoft.com/archive/blogs/isablog/further-details-and-guidance-regarding-discontinuation-of-tmg-web-protection-services</link>
      <pubDate>Tue, 15 Dec 2015 01:27:57 GMT</pubDate>
      <dc:creator><![CDATA[Forefront TMG Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/isablog/2015/12/15/further-details-and-guidance-regarding-discontinuation-of-tmg-web-protection-services/</guid>
      <description><![CDATA[As discussed in the following blog, the Forefront Threat Management Gateway (TMG) Web Protection...]]></description>
      <content:encoded><![CDATA[<p>As discussed in the following blog, the Forefront Threat Management Gateway (TMG) Web Protection Services will be discontinued on December 31st, 2015:- <p><a href="https://blogs.technet.com/b/applicationproxyblog/archive/2015/11/02/important-reminder-for-forefront-threat-management-gateway-tmg-web-protection-services-customers.aspx">https://blogs.technet.com/b/applicationproxyblog/archive/2015/11/02/important-reminder-for-forefront-threat-management-gateway-tmg-web-protection-services-customers.aspx</a> <p>We wanted to provide some additional details on what this will affect and recommendations on actions you should be taking. <p>The services that will be affected by this are:- <p>- URL Categorization<br />- Malware Inspection <p>Importantly, the Microsoft Reputation Services that supports URL Filtering will be turned off on or shortly after the 31<sup>st</sup> December 2015. <p>To avoid service impacting issues due to these services no longer being available, or incorrect rule processing where rules rely on URL Categorization categories, we would strongly advise customers review and amend their TMG configurations as follows:- <p>- <b>Review and amend any rules based on URL Categorization categories in your TMG policy</b> <p>Any Allow and Deny rules that currently use URL Categories or URL Category Sets must be changed to remove the usage of URL filtering categories. <p>Using URL Sets or Domain Name Sets may provide limited replacement functionality or you may also want to consider a 3<sup>rd</sup> party URL filtering plug-in or upstream proxy service to provide replacement URL filtering functionality. <p><b>Note - <i>If you have rules that are using URL filtering to <u>allow</u> traffic – HTTP traffic can be totally blocked after the service shutdown. Equally, if you use URL Filtering to block access to certain categories then these may be allowed after the change. There is also a possibility that performance issues will be seen if URL Filtering is left enabled after the MRS service is taken offline.</i></b> <p>- <b>Disable URL Filtering</b> <p>After amending your TMG policy ensure you then disable URL Filtering. This can be done in the TMG Management Console in the Web Access Policy node by selecting URL Filtering and unchecking the “Enable URL Filtering” check-box. This is essential to avoid TMG trying to contact the MRS services after they go offline. <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image002_2D68064B.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image002_5F00_2D68064B.jpg"><img title="clip_image002" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image002_thumb_49313D96.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image002_5F00_thumb_5F00_49313D96.jpg" width="370" height="187" /></a> <p>- <b>Malware Inspection may continue to work but would not receive updated signatures</b> <p>We would recommend implementing an alternative Anti-Virus solution and to disable Malware Inspection once this is in place. <p>As noted in the previous blog, Forefront Threat Management Gateway 2010, remains under extended support until April 14, 2020. <p>For details on moving from TMG to our new web publishing solutions please visit this URL:  <p><a href="https://blogs.technet.com/b/applicationproxyblog/archive/2015/07/02/transitioning-to-application-proxy-from-uag-and-tmg.aspx">https://blogs.technet.com/b/applicationproxyblog/archive/2015/07/02/transitioning-to-application-proxy-from-uag-and-tmg.aspx</a> <p>Some Frequently Asked Questions we’ve had regarding the change are:- <p>Q1. Is it possible to use the MRS Cache to continue to benefit from URL Filtering after 31<sup>st</sup> December 2015? <p>A1. No, the MRS cache is a temporary in-memory cache of the latest lookups intended to provide internal efficiency optimizations. It does not provide a full offline cache and cannot be used for this purpose. There is no mechanism to have an offline database. <p>Q2. Is it possible to extend our usage of Forefront Threat Management Gateway (TMG) Web Protection Services past 31<sup>st</sup> December 2015? <p>A2. No, this is not possible. These dates were announced in September 2012 in order to provide sufficient time for alternative solutions to be deployed.  <p>For the original announcement of the Forefront product roadmap changes please refer to the following URL: <p><a href="https://blogs.technet.com/b/server-cloud/archive/2012/09/12/important-changes-to-forefront-product-roadmaps.aspx">https://blogs.technet.com/b/server-cloud/archive/2012/09/12/important-changes-to-forefront-product-roadmaps.aspx</a></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p>]]></content:encoded>
    </item>
    <item>
      <title>Important Reminder for Forefront Threat Management Gateway (TMG) Web Protection Services customers</title>
      <link>https://docs.microsoft.com/archive/blogs/isablog/important-reminder-for-forefront-threat-management-gateway-tmg-web-protection-services-customers</link>
      <pubDate>Mon, 02 Nov 2015 12:50:57 GMT</pubDate>
      <dc:creator><![CDATA[J.C. Hornbeck]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/isablog/2015/11/02/important-reminder-for-forefront-threat-management-gateway-tmg-web-protection-services-customers/</guid>
      <description><![CDATA[Just a quick FYI in case you missed it. The information below was posted to the Microsoft...]]></description>
      <content:encoded><![CDATA[<p><span style="font-size:medium;font-family:calibri;"><a href="https://blogs.technet.com/b/applicationproxyblog/archive/2015/11/02/important-reminder-for-forefront-threat-management-gateway-tmg-web-protection-services-customers.aspx" target="_blank"><img title="announce" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:left;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="announce" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/announce_199D5BBB.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/announce_5F00_199D5BBB.jpg" width="108" align="left" height="100" /></a>Just a quick FYI in case you missed it. The information below was posted to the <a href="https://blogs.technet.com/b/applicationproxyblog/archive/2015/11/02/important-reminder-for-forefront-threat-management-gateway-tmg-web-protection-services-customers.aspx" target="_blank">Microsoft Application Proxy blog</a> on November 2nd, 2015.</span></p> <p><span style="font-size:medium;font-family:calibri;">=====</span></p> <p><span style="font-size:medium;font-family:calibri;"><em>Back in September 2012, we communicated broadly on </em></span><a href="/b/server-cloud/archive/2012/09/12/important-changes-to-forefront-product-roadmaps.aspx"><span style="font-size:medium;font-family:calibri;color:#0563c1;"><em>Forefront product roadmap changes</em></span></a><span style="font-size:medium;font-family:calibri;"><em>.</em></span></p> <p style="margin:0cm 0cm 0pt;"><span style="font-size:medium;font-family:calibri;"><em>At this time, we would like to remind you that Forefront Threat Management Gateway (TMG) Web Protection Services will be discontinued on December 31st, 2015. There will be no further updates to this URL filtering/categorization service beyond this date.</em></span></p> <p style="margin:0cm 0cm 0pt;"><span style="font-size:medium;font-family:calibri;"></span><em>&nbsp;</em></p> <p style="margin:0cm 0cm 0pt;"><span style="font-size:medium;font-family:calibri;"><em>The gateway product itself, Forefront Threat Management Gateway 2010, will remain under extended support until April 14, 2020.</em></span></p> <p style="margin:0cm 0cm 0pt;"><span style="font-size:medium;font-family:calibri;"></span><em>&nbsp;</em></p> <p style="margin:0cm 0cm 0pt;"><span style="font-size:medium;font-family:calibri;"><em>Microsoft is committed to secure application publishing. Learn more on how to move from TMG to our new solutions here:</em></span></p> <p style="margin:0cm 0cm 0pt;"><em></em>&nbsp;</p> <p style="margin:0cm 0cm 0pt;"><a href="/b/applicationproxyblog/archive/2015/07/02/transitioning-to-application-proxy-from-uag-and-tmg.aspx"><span style="font-size:medium;font-family:calibri;color:#0563c1;"><em>https://blogs.technet.com/b/applicationproxyblog/archive/2015/07/02/transitioning-to-application-proxy-from-uag-and-tmg.aspx</em></span></a><span style="font-size:medium;font-family:calibri;"> </span></p> <p style="margin:0cm 0cm 0pt;"><span style="font-size:medium;font-family:calibri;"></span>&nbsp;</p> <p style="margin:0cm 0cm 0pt;"><span style="font-size:medium;font-family:calibri;">=====</span></p>   <p><b>J.C. Hornbeck</b> <strong>| Solution Asset PM | Microsoft GBS Management and Security Division</strong> <p><b><font color="#ff0000">Get the latest System Center news on </font></b><a href="https://www.facebook.com/pages/Microsoft-System-Center-Support/111513322193410"><b>Facebook</b></a><b><font color="#c0504d"> <font color="#ff0000">and</font> </font></b><a href="https://twitter.com/#!/MS_SystemCenter"><b>Twitter</b></a><b>:</b> <p><a href="https://www.facebook.com/pages/Microsoft-System-Center-Support/111513322193410"><img title="clip_image001" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/medv/WindowsLiveWriter/MEDVPrintingOptionsandIssuesyoumayencoun_8540/clip_image001_64a4101d-1898-43ad-8493-b15123a8f037.gif" original-url="https://blogs.technet.com/blogfiles/medv/WindowsLiveWriter/MEDVPrintingOptionsandIssuesyoumayencoun_8540/clip_image001_64a4101d-1898-43ad-8493-b15123a8f037.gif" width="89" height="21" /></a> <a href="https://www.twitter.com/MS_SystemCenter"><img title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/medv/WindowsLiveWriter/MEDVPrintingOptionsandIssuesyoumayencoun_8540/clip_image002_e463ef66-6372-4614-ad1b-a2e20e16de5f.gif" original-url="https://blogs.technet.com/blogfiles/medv/WindowsLiveWriter/MEDVPrintingOptionsandIssuesyoumayencoun_8540/clip_image002_e463ef66-6372-4614-ad1b-a2e20e16de5f.gif" width="89" height="21" /></a> <p>Main System Center blog: <a href="https://blogs.technet.com/b/systemcenter/">https://blogs.technet.com/b/systemcenter/</a> <p>Configuration Manager Support Team blog: <a href="https://blogs.technet.com/configurationmgr/">https://blogs.technet.com/configurationmgr/</a><br />Data Protection Manager Team blog: <a href="https://blogs.technet.com/dpm/">https://blogs.technet.com/dpm/</a><br />Orchestrator Team blog: <a href="https://blogs.technet.com/b/orchestrator/">https://blogs.technet.com/b/orchestrator/</a><br />Operations Manager Team blog: <a href="https://blogs.technet.com/momteam/">https://blogs.technet.com/momteam/</a><br />Service Manager Team blog: <a href="https://blogs.technet.com/b/servicemanager">https://blogs.technet.com/b/servicemanager</a><br />Virtual Machine Manager Team blog: <a href="https://blogs.technet.com/scvmm">https://blogs.technet.com/scvmm</a> <p>Microsoft Intune: <a href="https://blogs.technet.com/b/microsoftintune">https://blogs.technet.com/b/microsoftintune/</a><br />WSUS Support Team blog: <a href="https://blogs.technet.com/sus/">https://blogs.technet.com/sus/</a><br />RMS blog: <a href="https://blogs.technet.com/b/rms/">https://blogs.technet.com/b/rms/</a><br />App-V Team blog: <a href="https://blogs.technet.com/appv/">https://blogs.technet.com/appv/</a><br />MED-V Team blog: <a href="https://blogs.technet.com/medv/">https://blogs.technet.com/medv/</a><br />Server App-V Team blog: <a href="https://blogs.technet.com/b/serverappv">https://blogs.technet.com/b/serverappv</a> <p>Forefront Endpoint Protection blog: <a href="https://blogs.technet.com/b/clientsecurity/">https://blogs.technet.com/b/clientsecurity/</a><br />Forefront Identity Manager blog: <a href="https://blogs.msdn.com/b/ms-identity-support/">https://blogs.msdn.com/b/ms-identity-support/</a><br />Forefront TMG blog: <a href="https://blogs.technet.com/b/isablog/">https://blogs.technet.com/b/isablog/</a><br />Forefront UAG blog: <a href="https://blogs.technet.com/b/edgeaccessblog/">https://blogs.technet.com/b/edgeaccessblog/</a><br />Application Proxy blog: <a href="https://blogs.technet.com/b/applicationproxyblog/">https://blogs.technet.com/b/applicationproxyblog/</a></p></p></p></p></p></p></p>]]></content:encoded>
    </item>
    <item>
      <title>Modernizing Microsoft Application Access with Web Application Proxy and Azure Active Directory Application Proxy</title>
      <link>https://docs.microsoft.com/archive/blogs/isablog/modernizing-microsoft-application-access-with-web-application-proxy-and-azure-active-directory-application-proxy</link>
      <pubDate>Tue, 30 Jun 2015 03:01:00 GMT</pubDate>
      <dc:creator><![CDATA[J.C. Hornbeck]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/isablog/2015/06/30/modernizing-microsoft-application-access-with-web-application-proxy-and-azure-active-directory-application-proxy/</guid>
      <description><![CDATA[As the trends toward bring-your-own-device (BYOD) and Internet Protocol version 6 (IPv6) security...]]></description>
      <content:encoded><![CDATA[<p><i><a href="/b/isablog/"><img title="NEW" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:left;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="NEW" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/NEW_786C434E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/NEW_5F00_786C434E.png" width="100" align="left" height="100" /></a></i></p> <p>As the trends toward bring-your-own-device (BYOD) and Internet Protocol version 6 (IPv6) security increase, Microsoft understands that remote/mobile access is a strategic area and continues to heavily invest in it. Our solutions for cloud and server technologies are an integral part of the Microsoft portfolio, with security continuing to play an important role in Microsoft’s overall management tool mindset.</p> <p>On September 12, 2012, Microsoft<a href="/b/server-cloud/archive/2012/09/12/important-changes-to-forefront-product-roadmaps.aspx#comments"> announced </a>the discontinuation of any further releases of certain Forefront branded solutions. Forefront Threat Management Gateway 2010 was one of those solutions. Mainstream support for Forefront TMG ended on April 14, 2015 and extended support will cease on April 14, 2020. In addition, mainstream support for another Forefront branded remote access solution, Forefront United Access Gateway (UAG), also expired on April 14, 2015, with extended support ending in on April 14, 2020. Widely deployed, there are a large number of organizations with active deployments of TMG or UAG as a security solution to protect internet-facing applications.</p> <p>That said, for post end of life and end of support, organizations have other Microsoft solutions to address their reverse proxy needs. Microsoft Azure Active Directory (AD) Application Proxy and Microsoft Web Application Proxy can fill this role, while providing enhanced capabilities for integration with modern authentication and cloud-based technologies. Please see Table 1 for details on replacement options for the various roles and features offered by TMG and UAG.</p> <h3>Comparing TMG/UAG Functionalities with Web Application Proxy and Azure AD Application Proxy Capabilities</h3> <p><b>TABLE 1. </b><b>Microsoft Solution Evolution</b></p> <table cellspacing="0" cellpadding="0" border="1"> <tbody> <tr> <td width="361"> <p><b>TMG/UAG Functionality</b></p></td> <td width="361"> <p><b>Web Application Proxy (WAP)/Azure AD Application Proxy (AADAP)</b></p></td></tr> <tr> <td width="361"> <p>Selective HTTP Publishing for Browser Apps</p></td> <td valign="top" width="361"> <p>Available in WAP in Windows Server 2012 R2</p> <p>Available in AADAP today</p></td></tr> <tr> <td width="361"> <p>ADFS Integration</p></td> <td valign="top" width="361"> <p>Available in WAP in Windows Server 2012 R2</p></td></tr> <tr> <td width="361"> <p>Rich Protocols Publishing (e.g., Citrix, Lync, RDG)</p></td> <td valign="top" width="361"> <p>Available in WAP in Windows Server 2012 R2</p> <p>Partially available in AADAP today – will be enhanced</p></td></tr> <tr> <td width="361"> <p>Preauthentication for ActiveSync (HTTP Basic) and RDG</p></td> <td valign="top" width="361"> <p>Will be available in WAP in Windows Server vNext</p> <p>Will be coming to AADAP</p></td></tr> <tr> <td width="361"> <p>Portal</p></td> <td valign="top" width="361"> <p>Use Intune / System Center for WAP</p> <p>Use AAD Access Panel or Office 365 App Launcher available for AADAP</p></td></tr> <tr> <td width="361"> <p>Endpoint Health Detection</p></td> <td valign="top" width="361"> <p>Use Intune / System Center</p></td></tr> <tr> <td width="361"> <p>SSL Tunneling</p></td> <td valign="top" width="361"> <p>Use Windows SSL-VPN capability</p></td></tr> <tr> <td width="361"> <p>Layer 2/3 Firewall</p></td> <td valign="top" width="361"> <p>Use Windows Server capabilities</p></td></tr> <tr> <td width="361"> <p>Web Application Firewall</p></td> <td valign="top" width="361"> <p>No current solution from Microsoft</p></td></tr> <tr> <td width="361"> <p>Secure Web Gateway (Forward Proxy)</p></td> <td valign="top" width="361"> <p>No current solution from Microsoft</p></td></tr></tbody></table> <h3>Secure Access, Simple Administration: Azure AD Application Proxy and Web Application Proxy</h3> <p>For organizations using Azure services or planning to, Azure AD Application Proxy gives remote or cloud users a simple and secure way to access on-premises web applications. Azure AD Application Proxy offers the following:</p> <ul> <li>Pre-authentication can now be accomplished using Azure AD before passing user requests across the proxy.  </li><li>Administrators can use Azure AD users and groups to grant access to on-premises web applications, such as SharePoint, Outlook Web Access, and IIS-based apps, with the ability to publish applications inside an organization’s private network.  </li><li>Deployment is simple and uncomplicated, with no demilitarized zone (DMZ) required.  </li><li>Users can easily access published web applications, on-premises and in the cloud, from a remote location using either home or mobile devices. </li></ul> <p>Microsoft Web Application Proxy for reverse proxy functionality is a remote access role service in Windows Server 2012 R2<b>. </b>Microsoft Web Application Proxy offers the following:</p> <ul> <li>Reverse proxy functionality for web applications inside the corporate network allows users on any device to access on-premises applications from outside the corporate network.  </li><li>Pre-authentication for access to web applications using Active Directory Federation Services (AD FS), and AD FS proxy functionality. </li></ul> <p>In addition, Microsoft Web Application Proxy in Windows Server vNext will offer the following capabilities:</p> <ul> <li>Ability to publish a specific domain name as well as an entire sub-domain for organizations that want to publish sites in bulk rather than one at a time. This is important when there is a need to publish SharePoint applications that use a special sub-domain for all applications. HTTP publishing for applications not using preauthentication ensures there is no leakage of sensitive information.  </li><li>HTTP to HTTPS redirection option reduces the risk of server spoofing and offers an improved user experience.  </li><li>Propagate client IP address to back-end application, adding to every request, “X-Forwarded-For” header that includes the address.  </li><li>Simplified Remote Desktop Gateway (RDG) publishing. AD FS can be used to perform preauthentication for Remote Desktop access using capabilities such as Multi-Factor Authentication and smartcards. Users receive the same experience as they do with their web applications. Admins have a convenient, single entry point to the system and a single authentication and authorization mechanism across all applications.  </li><li>Improved logging for better auditing and easier troubleshooting.  </li><li>Administrator UI enhancements include the ability to edit applications in the UI. </li></ul> <h3>Benefits of Microsoft Web Application Proxy</h3> <p>Microsoft Web Application Proxy affords organizations all of the benefits of a secure network with a lower total cost of ownership (TCO) than hardware-based solutions for a number of reasons:</p> <p><b>A software-based solution that is simple to deploy, maintain, and scale: </b>Unlike most vendors that offer hardware-based solutions, Microsoft Web Application Proxy is software-based. With no additional appliances required, it is much easier to deploy, maintain, and scale than most hardware-based solutions. <b></b></p> <p><b>Favorable economics as part of Microsoft Windows 2012 R2: </b>Since Microsoft Web Application Proxy is software-based, startup and OpEx expenses are lower than those of a hardware-based system. This, in turn, provides organizations with a very low TCO. <b></b></p> <p><b>Consistent management with Windows workloads: </b>It’s not necessary to retrain existing workforce, or hire experts to publish applications. Users can manage them just as they would any other Windows workload. When it comes to publishing Microsoft Office servers (SharePoint, Lync, Exchange), Web Application Proxy provides all of the necessary capabilities. Web Application Proxy vNext will be available with the next version of Windows Server.<b> </b></p> <p><b>Designed and built on modern security standards: </b>Most other vendors’ products are built on legacy protocol stacks using old security standards. Built from a fresh code base, the Web Application Proxy does not store passwords in memory, adding yet another secure layer to systems.<b></b></p> <h3>The Hybrid Cloud and Microsoft Azure AD Application Proxy</h3> <p>Over the last decade, keeping pace with new applications, supporting alternative endpoint devices, and maintaining security across a variety of networks has been challenging for businesses to successfully adapt. Organizations need to be agile to innovate and get to market quickly to stay ahead of the competition, while investing in long-term strategies that can easily adapt to change. This means being able to scale effortlessly and securely, reduce (if not eliminate) downtime, and consume minimal resources.</p> <p>So how are organizations accomplishing this?</p> <p>Many businesses are turning to the hybrid cloud, a combination of the public cloud and private cloud, to deliver the scalability, reliability, and protection they need to do business anytime, from any place.</p> <p>The hybrid cloud provides organizations with:</p> <p><b>Easy scalability.</b>As needs change, organizations can quickly and seamlessly move data centers between public and private clouds, easily deploying workloads where it makes the most sense, and at no additional expense.</p> <p><b>24/7 security</b>. The hybrid cloud provides organizations with a secure means of doing business, ensuring the security of web applications both inside and outside the corporate network—publishing, deploying, and managing applications without compromising security.</p> <p><b>Simple and efficient system administration.</b>Organizations can use a single pane of glass to see the entire hybrid infrastructure, offering IT central and comprehensive visibility into the corporate network and its data, applications, and files.</p> <p><b>Reliability and performance.</b>Businesses enjoy the same reliability and performance as they had with their previous system, using the same processes, tools, and resources.</p> <p><b>Cost containment and savings</b>. With the hybrid cloud, businesses can contain costs since they don’t require additional staff, retraining of existing staff, or purchasing, installing, and learning new management tools.</p> <p>The hybrid cloud is a viable option that enables businesses to scale effortlessly, contain costs, and eliminate the burden of a substantial TCO. It also provides the reliability, performance, and level of security needed to ensure the protection of web applications, both inside and outside the corporate network.</p> <h3>Enterprise Mobility Is Key to Staying Competitive</h3> <p>Businesses today need a convenient and secure means for their workforces to access information anywhere, at any time, and from any place. While this may be second nature for the non-corporate user, there’s a great deal that the business must deal with—it’s about how organizations enable employees, customers, and partners to easily access the corporate cloud. And when you add BYOD to the mix—with the workforce using laptops, tablets, smartphones, thin clients, and other mobile devices—organizations need to get serious about how they’re going to protect the network, while giving those connected to it simple and intuitive access, and a seamless experience. Additionally, it’s essential that those devices and services used by the workforce are developed with a focus on ease of use and an improved and productive experience.</p> <p>Microsoft believes that businesses must embrace mobile productivity to stay ahead of the competition. The Microsoft mobility platform provides office and collaborative solutions with mobile applications available for current lines of business, as well as custom-built applications that provide an enhanced user experience for any mobile device, corporate or personal, with a high level of security.</p> <h3>Looking Forward</h3> <p>Microsoft solutions enable IT to embrace a simplified software-based solution with a set of consistent management tools that IT administrators are familiar with. In addition, the economic efficiencies in Microsoft’s software-based approach enable businesses to federate user identity and access management, while at the same time protecting the data.</p> <p>Though not direct replacements for the Microsoft Threat Management Gateway, Microsoft is offering its new solutions, Microsoft Web Application Proxy and Azure Active Directory Application Proxy, as those built from the ground up to ensure security, enhance the user experience, simplify system administration, and lower the total cost of ownership. Although both TMG and UAG have five more years of extended support, Microsoft recommends that its customers begin evaluating replacement strategies.</p> <p>Microsoft is committed to the on-going development of Azure AD Application Proxy and Web Application Proxy. As such, we will be bringing out new features and functionality to support our vision, and deliver continued value to our customers so that organizations can continue their expansion into the cloud without compromising security.</p> <h3>References</h3> <p><em>Using Application Proxy to publish applications for secure remote access</em>: <a href="https://msdn.microsoft.com/en-us/library/azure/dn768219.aspx">https://msdn.microsoft.com/en-us/library/azure/dn768219.aspx</a></p> <p><em>Introducing the next version of Web Application Proxy</em>: <a href="/b/applicationproxyblog/archive/2014/10/01/introducing-the-next-version-of-web-application-proxy.aspx">https://blogs.technet.com/b/applicationproxyblog/archive/2014/10/01/introducing-the-next-version-of-web-application-proxy.aspx</a></p> <p><em>Web Application Proxy</em>: <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/dn323740(v=vs.85).aspx">https://msdn.microsoft.com/en-us/library/windows/desktop/dn323740(v=vs.85).aspx</a></p> <p><em>Web Application Proxy in Windows Server 2012</em>: <a href="https://technet.microsoft.com/en-us/library/dn584107.aspx">https://technet.microsoft.com/en-us/library/dn584107.aspx</a></p> <p><em>Enable Your On-Premises Apps for the Cloud with Microsoft Azure Active Directory Application Proxy</em>: <a href="https://channel9.msdn.com/events/Ignite/2015/BRK3864">https://channel9.msdn.com/events/Ignite/2015/BRK3864</a></p> <p>This whitepaper is also available <a href="https://download.microsoft.com/download/3/E/3/3E335D93-6DB8-4834-90A8-B86105419F05/Microsoft%20TMG%20and%20UAG%20EOL%20and%20transitioning%20to%20WAP%20and%20AADAP.docx" target="_blank">here</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>KB: HTTPS inspection in Forefront Threat Management Gateway 2010 doesn't use the full URL path for URL categorization</title>
      <link>https://docs.microsoft.com/archive/blogs/isablog/kb-https-inspection-in-forefront-threat-management-gateway-2010-doesnt-use-the-full-url-path-for-url-categorization</link>
      <pubDate>Wed, 18 Mar 2015 12:11:43 GMT</pubDate>
      <dc:creator><![CDATA[J.C. Hornbeck]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/isablog/2015/03/18/kb-https-inspection-in-forefront-threat-management-gateway-2010-doesnt-use-the-full-url-path-for-url-categorization/</guid>
      <description><![CDATA[When HTTPS inspection is enabled, Microsoft Forefront Threat Management Gateway 2010 (TMG 2010)...]]></description>
      <content:encoded><![CDATA[<p><a href="https://support.microsoft.com/en-us/kb/3041871" target="_blank"><img title="KB7334333232" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:left;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="KB7334333232" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/KB7334333232_14B27872.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/KB7334333232_5F00_14B27872.jpg" width="100" align="left" height="115" /></a></p> <p>When HTTPS inspection is enabled, Microsoft Forefront Threat Management Gateway 2010 (TMG 2010) uses only the host part of the URL for URL filtering. For example, consider the following scenario:  <p>- Assume that www.contoso.com belongs in the <em>Education</em> category.  <ul> <li>- You set a URL category override for www.contoso.com/poker to the <em>Gambling</em> category, and a deny rule exists for that category.</li></ul> <p>When you browse to https://www.contoso.com/poker in this scenario, TMG blocks this URL because the category is evaluated as <em>Gambling</em>, however when you browse to https://www.contoso.com/poker, the page loads.</p> <p>This behavior occurs because for HTTPS inspection, TMG passes only the host domain (www.contoso.com) to the categorization service. In the example above, the host domain falls into the <em>Education</em> category.  <p>For additional details please see the following: </p> <p><a href="https://support.microsoft.com/en-us/kb/3041871" target="_blank">KB3041871</a> - <em>HTTPS inspection in Forefront Threat Management Gateway 2010 doesn&#39;t use the full URL path for URL categorization</em> (<a title="https://support.microsoft.com/en-us/kb/3041871" href="https://support.microsoft.com/en-us/kb/3041871" target="_blank">https://support.microsoft.com/en-us/kb/3041871</a>)</p> <p><b>J.C. Hornbeck</b> <strong>| Solution Asset PM | Microsoft GBS Management and Security Division</strong></p> <p><b><font color="#c0504d">Get the latest System Center news on</font> </b><a href="https://www.facebook.com/pages/Microsoft-System-Center-Support/111513322193410"><b>Facebook</b></a><b> <font color="#c0504d">and</font> </b><a href="https://twitter.com/#!/MS_SystemCenter"><b>Twitter</b></a><b>:</b></p> <p><a href="https://www.facebook.com/pages/Microsoft-System-Center-Support/111513322193410"><img title="clip_image001" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/medv/WindowsLiveWriter/MEDVPrintingOptionsandIssuesyoumayencoun_8540/clip_image001_64a4101d-1898-43ad-8493-b15123a8f037.gif" original-url="https://blogs.technet.com/blogfiles/medv/WindowsLiveWriter/MEDVPrintingOptionsandIssuesyoumayencoun_8540/clip_image001_64a4101d-1898-43ad-8493-b15123a8f037.gif" width="89" height="21" /></a> <a href="https://www.twitter.com/MS_SystemCenter"><img title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/medv/WindowsLiveWriter/MEDVPrintingOptionsandIssuesyoumayencoun_8540/clip_image002_e463ef66-6372-4614-ad1b-a2e20e16de5f.gif" original-url="https://blogs.technet.com/blogfiles/medv/WindowsLiveWriter/MEDVPrintingOptionsandIssuesyoumayencoun_8540/clip_image002_e463ef66-6372-4614-ad1b-a2e20e16de5f.gif" width="89" height="21" /></a></p> <p>Main System Center blog: <a href="https://blogs.technet.com/b/systemcenter/">https://blogs.technet.com/b/systemcenter/</a>  <p>Configuration Manager Support Team blog: <a href="https://blogs.technet.com/configurationmgr/">https://blogs.technet.com/configurationmgr/</a><br />Data Protection Manager Team blog: <a href="https://blogs.technet.com/dpm/">https://blogs.technet.com/dpm/</a><br />Orchestrator Team blog: <a href="https://blogs.technet.com/b/orchestrator/">https://blogs.technet.com/b/orchestrator/</a><br />Operations Manager Team blog: <a href="https://blogs.technet.com/momteam/">https://blogs.technet.com/momteam/</a><br />Service Manager Team blog: <a href="https://blogs.technet.com/b/servicemanager">https://blogs.technet.com/b/servicemanager</a><br />Virtual Machine Manager Team blog: <a href="https://blogs.technet.com/scvmm">https://blogs.technet.com/scvmm</a>  <p>Microsoft Intune: <a href="https://blogs.technet.com/b/microsoftintune">https://blogs.technet.com/b/microsoftintune/</a><br />WSUS Support Team blog: <a href="https://blogs.technet.com/sus/">https://blogs.technet.com/sus/</a><br />RMS blog: <a href="https://blogs.technet.com/b/rms/">https://blogs.technet.com/b/rms/</a><br />App-V Team blog: <a href="https://blogs.technet.com/appv/">https://blogs.technet.com/appv/</a><br />MED-V Team blog: <a href="https://blogs.technet.com/medv/">https://blogs.technet.com/medv/</a><br />Server App-V Team blog: <a href="https://blogs.technet.com/b/serverappv">https://blogs.technet.com/b/serverappv</a>  <p>Forefront Endpoint Protection blog: <a href="https://blogs.technet.com/b/clientsecurity/">https://blogs.technet.com/b/clientsecurity/</a><br />Forefront Identity Manager blog: <a href="https://blogs.msdn.com/b/ms-identity-support/">https://blogs.msdn.com/b/ms-identity-support/</a><br />Forefront TMG blog: <a href="https://blogs.technet.com/b/isablog/">https://blogs.technet.com/b/isablog/</a><br />Forefront UAG blog: <a href="https://blogs.technet.com/b/edgeaccessblog/">https://blogs.technet.com/b/edgeaccessblog/</a><br />Application Proxy blog: <a href="https://blogs.technet.com/b/applicationproxyblog/">https://blogs.technet.com/b/applicationproxyblog/</a><br />The Surface Team blog: <a href="https://blogs.technet.com/b/surface/">https://blogs.technet.com/b/surface/</a></p> <p><font color="#ffffff">ConfigMgr 2012 R2</font></p></p></p></p></p></p></p>]]></content:encoded>
    </item>
    <item>
      <title>Missing BDA hook rules – impact and potential root cause</title>
      <link>https://docs.microsoft.com/archive/blogs/isablog/missing-bda-hook-rules-impact-and-potential-root-cause</link>
      <pubDate>Thu, 18 Sep 2014 00:52:59 GMT</pubDate>
      <dc:creator><![CDATA[Forefront TMG Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/isablog/2014/09/18/missing-bda-hook-rules-impact-and-potential-root-cause/</guid>
      <description><![CDATA[Some of you may have already heard and know what NLB is and how it works as described in the general...]]></description>
      <content:encoded><![CDATA[<p>Some of you may have already heard and know what NLB is and how it works as described in the general Network Load Balancing Overview [<a href="https://technet.microsoft.com/en-us/library/cc725946.aspx">https://technet.microsoft.com/en-us/library/cc725946.aspx</a>].  <p>An integral part of a TMG NLB solution is Bi-direction affinity, which is well described at the following link:  <p>Bi-Directional Affinity in ISA Server [<a href="https://blogs.technet.com/b/isablog/archive/2008/03/12/bi-directional-affinity-in-isa-server.aspx">https://blogs.technet.com/b/isablog/archive/2008/03/12/bi-directional-affinity-in-isa-server.aspx</a>].  <p><i>Bi-directional affinity creates multiple instances of Network Load Balancing (NLB) on the same host, which work in tandem to ensure that responses from published servers are routed through the appropriate ISA servers in a cluster. Bi-directional affinity is commonly used when NLB is configured with Internet Security and Acceleration (ISA) servers. If bi-directional affinity is not consistent across all NLB hosts or if NLB fails to initialize bi-directional affinity, the NLB cluster will remain in the converging state until a consistent teaming configuration is detected. </i> <p>Bi-directional affinity is a crucial thing if you enable NLB on multiple interfaces, as it ensures a single client to work through the same node and have consistent data flow.  <p>By default when a client connects to an NLB interface a hash algorithm based on the packet <b>source</b> IP (client) is computed in the NLB driver to decide which NLB node should handle this request. On the way back (the server responses to the client) the source IP is the <b>server</b> IP (not the client IP) and without BDA it may be handled by another TMG NLB node – which would discard the server response, not having seen the client request. Hence, a mechanism is needed to guarantee that client/server packets are handled by the same host in the array.  <p>Bidirectional affinity ensures the server responses are handled by the same TMG NLB node as the original client request. The mechanism ensuring this functionality is implemented as&nbsp; so-called hook rules:  <p><a href="https://technet.microsoft.com/en-us/library/dd348817(v=ws.10).aspx">https://technet.microsoft.com/en-us/library/dd348817(v=ws.10).aspx</a>  <p><i>Filter hooks help to direct traffic in a Network Load Balancing (NLB) cluster by filtering network packets. If the filter hooks are not properly configured, the NLB cluster will continue to converge and operate normally, however, the server application that is running with NLB will not be able to properly register the hooks.</i>  <p>The essential logic of the hook rules is the following:  <p>At each packet, NLB calls out to the registered drivers (in this case fweng) whether they want to modify how the hash is created.  <p>For example, when a client sends a SYN packet, NLB “asks” TMG’s fweng driver how it should calculate the hash. TMG will tell (depending on its hook rules) to use for example the client source IP for hashing (which is the default behavior). The calculated hash instructs NLB for example that the first node should handle the traffic and pass the SYN to the backend server.  <p>When the server responds to the internal NLB of the TMG array, NLB calls out again to ask TMG how the hash is supposed to be calculated.  <p>Based on the same hook rule set and seeing the packet direction, TMG&nbsp; tells NLB to hash based on the destination IP, which is again the client IP, so the packet will be handled by the same node as the original packet.  <p>If the hook rule was not present , TMG would tell to use the default behavior (use the source IP), which would result in&nbsp; calculating the hash based on the&nbsp; source (server) IP, possibly yielding that a different node is supposed to handle the traffic, which is not what we want.  <p>If&nbsp; you have a TMG array with several nodes and NLB is enabled, then TMG service creates hook rules at start.  <p>These rules can be checked by executing <b>netsh tmg show nlb</b> from an elevated command prompt, which yields similar output as can be seen below.  <p>Notice the rules have a source and destination range, and a direction based on which TMG can decide what to tell NLB when its called: whether to hash on source (forward) or destination IP (reverse).  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image001_0997566C.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image001_5F00_0997566C.jpg"><img title="clip_image001" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image001_thumb_24660D29.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image001_5F00_thumb_5F00_24660D29.jpg" width="478" height="249" /></a>  <p>A potential problem occurs if hook rules are missing. In this post, we are going to explore a potential cause for missing hook rules.  <p>The below is from a sample test lab which we built based on a particular issue we got reported by a customer:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image002_2872EBAC.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image002_5F00_2872EBAC.jpg"><img title="clip_image002" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image002_thumb_410519AD.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image002_5F00_thumb_5F00_410519AD.jpg" width="527" height="246" /></a>  <p>In&nbsp; the example above we can see only rules which were created and hash based on source (forward direction) for outgoing scenario.&nbsp; <p>You however do not see any reverse rules, indicating that some rules may be missing .  <p>I took those rules from my TMG Array with Internal 10.0.0.0/24, DMZ 192.168.0.0/24 and External 172.20.1.0/24 networks.  <p>Let&#39;s imagine a scenario where we have created a publishing rule for a server from DMZ with a listener on External network and you have configured the rule to be half NAT (request appears from client).  <p>Because there is no specific rule for the range external network -&gt; DMZ, DMZ -&gt; external, in both directions we use the default behavior to hash based on the source IP.  <p>As described above, because the hook rule is missing, this may or may not work depending on client IP/published server twin. If the NLB hash algorithm gives the same NLB node ID for both the client and the server IP , it will work. Otherwise, client and server packets will be serviced by different hosts, and the published server responses will be dropped with&nbsp;&nbsp; the&nbsp; error 0xc0040017 FWX_E_TCP_NOT_SYN_PACKEP_DROPPED.  <p>The reason of the issue is lack of some NLB hook rules.  <p>These rules are created at the startup based on <i>network rules</i>. In a real world scenario, when we may have a lot of subnets, it&#39;s quite easy to miss a network rule between two networks.  <p>In this case, this is exactly what happened -&nbsp; there was no network relationship defined between External and DMZ, hence the appropriate rule was never created  <p>Once we add the network rule, the hook rules will be created. I created the rule from External to DMZ network with Route relationship. In the output below you can see how hook rules changed.  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image003_0B8EE839.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image003_5F00_0B8EE839.jpg"><img title="clip_image003" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="clip_image003" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image003_thumb_53728BC4.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image003_5F00_thumb_5F00_53728BC4.jpg" width="562" height="348" /></a>  <p>Now we have appropriate rules for processing requests from External to DMZ network back and forth, ensuring that we hash using the same IP in both directions. Hence, we should not get error 0xc0040017 FWX_E_TCP_NOT_SYN_PACKEP_DROPPED any more.  <p>If you see the above error, make sure to check whether the appropriate hook rules are present – one of the root causes for missing hook rules can be the missing network relationship definition.  <p>Author:  <p>Vasily Kobylin, Senior Support Engineer, Microsoft EMEA Forefront Edge  <p>Reviewer:  <p>Balint Toth, Senior Support Escalation Engineer, Microsoft EMEA Forefront Edge  <p>Franck Heilmann, Senior Escalation Engineer, Microsoft EMEA Forefront Edge</p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p>]]></content:encoded>
    </item>
    <item>
      <title>How to create a CNG HTTPSi cert using a 2008r2 CA</title>
      <link>https://docs.microsoft.com/archive/blogs/isablog/how-to-create-a-cng-httpsi-cert-using-a-2008r2-ca</link>
      <pubDate>Fri, 29 Aug 2014 05:54:09 GMT</pubDate>
      <dc:creator><![CDATA[Forefront TMG Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/isablog/2014/08/29/how-to-create-a-cng-httpsi-cert-using-a-2008r2-ca/</guid>
      <description><![CDATA[In a previous article we explained how to create a self-signed CNG certificate, suitable for the...]]></description>
      <content:encoded><![CDATA[<p>In a previous <a href="https://blogs.technet.com/b/isablog/archive/2014/05/28/tmg-https-inspection-is-failing-if-the-target-web-site-is-using-a-cng-certificate.aspx">article</a> we explained how to create a self-signed CNG certificate, suitable for the HTTPS Inspection feature, which can be used to inspect sites using an SHA-256 certificate.  <p>In this article we will explain how to generate a similar certificate using your internal CA based on Windows 2008 R2.  <p>Using a certificate issued by your own CA, rather than a self-signed certificate, has the advantage that you will not have an additional certificate to distribute to the web proxy clients.<br />Bearing in mind that certificates have a limited validity period and that this eases operation maintenances, since you need only to change only the Subordinate CA certificate on TMG.  <p>Arguably it can be said that if you set a validity period long enough, as some tenth of years, this would not be an issue.<br />But the truth is that what is considered secure today, might be easily compromised in a couple of years and for that reason, having an easy way to replace your certificates also improves your overall security.<br />The ability to quickly move to a larger key length or better hash algorithm at any time is the key to an always up to date and secure PKI infrastructure.  <p>Now let&#39;s go ahead and create the certificate.<br />Begin by opening the Certificate Authority administration console, right click on Certificate Templates then Manage.  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image001_1A0C9938.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image001_5F00_1A0C9938.png"><img title="clip_image001" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image001_thumb_62C611FC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image001_5F00_thumb_5F00_62C611FC.png" width="477" height="296" /></a>  <p>First step is duplicating the “Subordinate Certification Authority” template.  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image003_34DB4FF5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image003_5F00_34DB4FF5.png"><img title="clip_image003" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image003" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image003_thumb_5177CBC8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image003_5F00_thumb_5F00_5177CBC8.png" width="517" height="207" /></a>  <p>In Compatibility settings select Windows Server 2008:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image005_7C52C08B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image005_5F00_7C52C08B.png"><img title="clip_image005" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;margin:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image005" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image005_thumb_2323677D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image005_5F00_thumb_5F00_2323677D.png" width="244" height="151" /></a>  <p>Type a display name for the template:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image007_24878A4F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image007_5F00_24878A4F.png"><img title="clip_image007" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image007" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image007_thumb_76309552.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image007_5F00_thumb_5F00_76309552.png" width="353" height="407" /></a>  <p>Put the checkbox on “CA certificate manager approval” if you prefer to. If you do you will have to approve the request once submitted.  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image009_27BE9399.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image009_5F00_27BE9399.png"><img title="clip_image009" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image009" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image009_thumb_54003BDF.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image009_5F00_thumb_5F00_54003BDF.png" width="331" height="380" /></a>  <p>In the Extensions tab select Key usage then Edit:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image011_45C453A0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image011_5F00_45C453A0.png"><img title="clip_image011" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image011" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image011_thumb_37886B61.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image011_5F00_thumb_5F00_37886B61.png" width="323" height="370" /></a>  <p>Put the checkbox on “Certificate signing” only  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image013_49678FDF.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image013_5F00_49678FDF.png"><img title="clip_image013" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image013" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image013_thumb_465531EA.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image013_5F00_thumb_5F00_465531EA.png" width="372" height="370" /></a>  <p>Ensure the local Administrator, or your administrative user/group, has Enroll permissions:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image015_713026AD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image015_5F00_713026AD.png"><img title="clip_image015" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image015" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image015_thumb_5E7DBDA7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image015_5F00_thumb_5F00_5E7DBDA7.png" width="356" height="410" /></a>  <p>Right click on Certificate Templates, New, Certificate Template to Issue:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image017_1B354638.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image017_5F00_1B354638.png"><img title="clip_image017" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image017" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image017_thumb_61B4C6F1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image017_5F00_thumb_5F00_61B4C6F1.png" width="521" height="329" /></a>  <p>Select then newly created template then click OK:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image019_7327B87A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image019_5F00_7327B87A.png"><img title="clip_image019" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image019" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image019_thumb_203F35FA.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image019_5F00_thumb_5F00_203F35FA.png" width="483" height="303" /></a>  <p>The new template will then appear as available:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image021_0AE41143.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image021_5F00_0AE41143.png"><img title="clip_image021" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image021" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image021_thumb_23763F44.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image021_5F00_thumb_5F00_23763F44.png" width="501" height="195" /></a>  <p>Then open MMC, add the Certificates snap-in for the Local computer.  <p>Open the Personal container, right click on Certificates, All Tasks, Advanced Operations, Create Custom request:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image023_2063E14F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image023_5F00_2063E14F.png"><img title="clip_image023" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image023" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image023_thumb_0DB17849.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image023_5F00_thumb_5F00_0DB17849.png" width="652" height="225" /></a>  <p>Select Active Directory Enrollment Policy then click Next:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image025_5F5A834C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image025_5F00_5F5A834C.png"><img title="clip_image025" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image025" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image025_thumb_31038E50.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image025_5F00_thumb_5F00_31038E50.png" width="371" height="259" /></a>  <p>Select the template then click Next:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image027_4039F71D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image027_5F00_4039F71D.png"><img title="clip_image027" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image027" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image027_thumb_6DBDA791.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image027_5F00_thumb_5F00_6DBDA791.png" width="483" height="339" /></a>  <p>Click on Details then Properties:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image029_51AF7957.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image029_5F00_51AF7957.png"><img title="clip_image029" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image029" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image029_thumb_6A41A758.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image029_5F00_thumb_5F00_6A41A758.png" width="414" height="289" /></a>  <p>Enter a Common name then click Add:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image031_4B8ABD6D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image031_5F00_4B8ABD6D.png"><img title="clip_image031" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image031" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image031_thumb_38D85467.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image031_5F00_thumb_5F00_38D85467.png" width="437" height="432" /></a>  <p>Enter a friendly name for the certificate:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image032_5C940CB2.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image032_5F00_5C940CB2.jpg"><img title="clip_image032" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image032" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image032_thumb_1304BEB5.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image032_5F00_thumb_5F00_1304BEB5.jpg" width="353" height="350" /></a>  <p>In the Private key tab ensure the CSP “Microsoft Software Key Storage Provider” is listed:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image033_3798DCEA.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image033_5F00_3798DCEA.jpg"><img title="clip_image033" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image033" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image033_thumb_74BC986F.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image033_5F00_thumb_5F00_74BC986F.jpg" width="359" height="355" /></a>  <p>Ensure “Mark private key exportable is selected”:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image034_12317A2D.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image034_5F00_12317A2D.jpg"><img title="clip_image034" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image034" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image034_thumb_48A22C2F.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image034_5F00_thumb_5F00_48A22C2F.jpg" width="336" height="335" /></a>  <p>In Select Hash Algorithm select “sha256”:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image035_031D2C04.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image035_5F00_031D2C04.jpg"><img title="clip_image035" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image035" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image035_thumb_398DDE06.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image035_5F00_thumb_5F00_398DDE06.jpg" width="469" height="465" /></a>  <p>Then click OK, you will be asked to save the request to a file:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image036_6FFE9008.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image036_5F00_6FFE9008.jpg"><img title="clip_image036" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image036" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image036_thumb_545C94C3.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image036_5F00_thumb_5F00_545C94C3.jpg" width="438" height="308" /></a>  <p>Open an elevated command prompt and execute the command:  <p><b>certreq -submit -config &quot;&lt;ServerName\CAName&gt;&quot; &quot;&lt;CertificateRequest.req&gt;&quot; &quot;&lt;CertificateResponse.cer&gt;&quot;</b>  <p>The last parameter is required if you have not requested an approval before issuing the certificate.  <p>If no approval is required a .cer will be retrieved, otherwise you will have to refer to the RequestID that will be displayed:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image037_041A3D43.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image037_5F00_041A3D43.jpg"><img title="clip_image037" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image037" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image037_thumb_4620AC84.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image037_5F00_thumb_5F00_4620AC84.jpg" width="565" height="39" /></a>  <p>If the approval is required, once the request has been approved in the CA console, enter the following command to retrieve the .cer file:  <p><b>certreq -retrieve -config &quot;&lt;ServerName\CAName&gt;&quot; &lt;RequestID&gt; &quot;&lt;CertificateResponse.cer&gt;&quot;</b>  <p>Then complete the request with the following command:  <p><b>certreq -accept -config &quot;&lt;ServerName\CAName&gt;&quot; &quot;&lt;CertificateResponse.cer&gt;&quot;</b>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image038_36146E7E.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image038_5F00_36146E7E.jpg"><img title="clip_image038" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image038" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image038_thumb_1116AE05.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image038_5F00_thumb_5F00_1116AE05.jpg" width="516" height="25" /></a>  <p>At this point you will find the new certificate in the Personal store of the local computer and you can export it:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image040_3E2B9AD3.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image040_5F00_3E2B9AD3.jpg"><img title="clip_image040" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image040" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image040_thumb_7091FF03.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image040_5F00_thumb_5F00_7091FF03.jpg" width="561" height="192" /></a>  <p>Ensure you export the private key:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image041_51DB1518.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image041_5F00_51DB1518.jpg"><img title="clip_image041" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image041" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image041_thumb_084BC71B.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image041_5F00_thumb_5F00_084BC71B.jpg" width="324" height="291" /></a>  <p>Do not select any of the PFX options:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image042_2CDFE550.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image042_5F00_2CDFE550.jpg"><img title="clip_image042" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image042" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image042_thumb_4A54C70D.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image042_5F00_thumb_5F00_4A54C70D.jpg" width="291" height="265" /></a>  <p>Provide the PFX password when requested and save the file.  <p>Then export the certificate again, this time without the private key:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image043_130E3FD2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image043_5F00_130E3FD2.png"><img title="clip_image043" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image043" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image043_thumb_5BC7B896.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image043_5F00_thumb_5F00_5BC7B896.png" width="358" height="324" /></a>  <p>Click Next then select the DER format:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image044_7FEFA3D6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image044_5F00_7FEFA3D6.png"><img title="clip_image044" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image044" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image044_thumb_61A4ECE0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image044_5F00_thumb_5F00_61A4ECE0.png" width="329" height="296" /></a>  <p>Click Next then save the .CER file.  <p>Notice that the certificate you have just generated might be signed using the SHA1 Hash algorithm, although we have requested a certificate using SHA256 Hash Algorithm. This happens due to the fact that in some operating systems the Subordinate Certification Authority template forces the key hashing algorithm to be SHA1. This however does not prevent TMG from issuing (signing) certificates with SHA256 hash algorithms.  <p>Also note that Microsoft is phasing out weaker certificates such as SHA1 certificates and certificates with keys under 1024 bits in length. So expect at some point in time this to change.  <p>So don’t be surprised and go ahead with the next steps.  <p>Copy the PFX and the CER files to the TMG box, open the HTTPS Inspection configuration and import the certificate form the PFX file:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image045_2C9AEE61.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image045_5F00_2C9AEE61.jpg"><img title="clip_image045" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image045" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image045_thumb_50C2D9A1.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image045_5F00_thumb_5F00_50C2D9A1.jpg" width="261" height="302" /></a>  <p>Then save and apply the configuration  <p>On the TMG server open an MMC console and <a href="https://msdn.microsoft.com/en-us/library/ms788967(v=vs.110).aspx">add the Certificates snap-in for the local computer</a>.<br />Then import the .cer file in the Intermediate certificate store.<br />You will need to restart the TMG server.  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image047_07338BA4.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image047_5F00_07338BA4.jpg"><img title="clip_image047" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image047" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image047_thumb_56A00DEB.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image047_5F00_thumb_5F00_56A00DEB.jpg" width="492" height="126" /></a>  <p>Importing the certificate in the Intermediate store is necessary for the TMG server to send the intermediate certificate in the certificate chain so that the client is able to build the trust chain.  <p>This is further explained bellow.  <p>Now you can try from a client browsing a site using a CNG certificate, such as Twitter.<br />You will see the certificate being signed by the new certificate from your CA:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image048_1F5986B0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image048_5F00_1F5986B0.png"><img title="clip_image048" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image048" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image048_thumb_6812FF74.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image048_5F00_thumb_5F00_6812FF74.png" width="298" height="369" /></a>  <p>Notice that this certificate is signed using SHA256:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image049_1E83B177.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image049_5F00_1E83B177.png"><img title="clip_image049" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image049" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image049_thumb_7C2EACAE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image049_5F00_thumb_5F00_7C2EACAE.png" width="298" height="368" /></a>  <h4>Regarding the building of the certificate chain</h4> <p>Since the Subordinate CA Certificate (“TMG HTTPS Inspection CNG Ent.CA” in this case) is not published anywhere the clients can’t, on its own find the certificate SubCA certificate.  <p>For a normal certificate issuing CA you would be able to publish the SubCA Certificate and publish to either a LDAP or HTTP location and the clients would be able to look it up, by downloading the certificate from the AIA Extension in the certificate.  <p>In the case of TMG issued certificates, for HTTP inspection, these don’t have an AIA extension.  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image051_205697EF.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image051_5F00_205697EF.jpg"><img title="clip_image051" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image051" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image051_thumb_6FC31A36.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image051_5F00_thumb_5F00_6FC31A36.jpg" width="360" height="262" /></a>  <p>TMG will send both the certificate for the URL being accessed on the browser (or other client) and the Subordinate CA, configured in TMG to issue these certificates.  <p>Otherwise the client would end up with a certificate that do not built up to a trusted root, having a &quot;gap&quot; in the chain. So as you can see bellow TMG will send the two certificates on “Server Hello” handshake.  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image053_2633CC39.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image053_5F00_2633CC39.jpg"><img title="clip_image053" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image053" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image053_thumb_1C6E64C1.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image053_5F00_thumb_5F00_1C6E64C1.jpg" width="600" height="379" /></a>  <p>The certificate generated, on the fly by TMG, for the HTTPS site you are visiting, will appear as being issued by an intermediate CA represented by the certificate you generated.  <p>That is why it is essential to add the SubCA to the “Intermediate Certification Authorities” store for the “Local Computer”. Otherwise the TMG issued certificates would need to have the AIA sections which would require the intermediate certificate (the one you have just generated) to be published to a AIA location. This would require further configuration on your environment, so TMG provides some help in the Chain validation process and sends the intermediate CA in the &quot;Certificate&quot; section of the SSL handshake as we can see in the “Server Hello” handshake on the network capture above.  <p>Your “Subordinate CA” (TMG HTTPS Inspection CNG Ent.CA) will then have an AIA Extension and from there up to the Root CA. As you can see from the image  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image054_12A8FD49.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image054_5F00_12A8FD49.png"><img title="clip_image054" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image054" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image054_thumb_1E414B39.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image054_5F00_thumb_5F00_1E414B39.png" width="332" height="370" /></a>  <p>This will then allow to build up a valid certificate chain ending up in your Internal CA and starting in the leaf certificate issued by TMG for HTTP Inspection. The bellow picture shows the expected Certificate chain.  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image055_668E9108.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image055_5F00_668E9108.png"><img title="clip_image055" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="clip_image055" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/clip_image055_thumb_0B22AF3E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/clip_5F00_image055_5F00_thumb_5F00_0B22AF3E.png" width="276" height="344" /></a>  <p><b></b>&nbsp;</p> <p><b>Author:<br /></b>Gianni Bragante <br />Support Engineer – Microsoft Forefront Edge Security Team</p> <p>Luis Sousa<br />Support Engineer - Microsoft PKI/AD Team  <p><b></b> <p><b>Reviewer:<br /></b>Philipp Sand <br />Sr. Support Escalation Engineer – Microsoft Forefront Edge Security Team</p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p>]]></content:encoded>
    </item>
    <item>
      <title>TMG SP2 Rollup 5 now available</title>
      <link>https://docs.microsoft.com/archive/blogs/isablog/tmg-sp2-rollup-5-now-available</link>
      <pubDate>Mon, 30 Jun 2014 07:45:00 GMT</pubDate>
      <dc:creator><![CDATA[Forefront TMG Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/isablog/2014/06/30/tmg-sp2-rollup-5-now-available/</guid>
      <description><![CDATA[We are happy to announce the availability of Rollup 5 for Forefront Threat Management Gateway...]]></description>
      <content:encoded><![CDATA[<p></p>
<p>We are happy to announce the availability of Rollup 5 for Forefront Threat Management Gateway (TMG) 2010 Service Pack 2 (SP2). TMG SP2 Rollup&nbsp;5 is available for download here: <a href="https://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2954173&amp;kbln=en-us">Rollup 5 for Forefront Threat Management Gateway (TMG) 2010 Service Pack 2</a></p>
<p>&nbsp;</p>
<p>Please see <a href="https://support.microsoft.com/kb/2954173">KB Article ID: 2954173</a> for details of the fixes included in this rollup.&nbsp;The Build Number for this update is: 7.0.9193.644</p>
<p>&nbsp;</p>
<p>To install this update, you must be running Forefront Threat Management Gateway 2010 Service Pack 2.</p>
<p>For more information about Forefront Threat Management Gateway 2010 SP2, please see the following<br />Microsoft website: <a href="https://support.microsoft.com/kb/2555840">Microsoft Forefront Threat Management Gateway 2010 Service Pack 2</a></p>
<p><a href="https://www.microsoft.com/download/en/details.aspx?id=27603">Download information for Forefront TMG 2010 SP2</a></p>
<p>&nbsp;</p>
<p>Thank you,</p>
<p>Forefront TMG Team</p>]]></content:encoded>
    </item>
    <item>
      <title>TMG HTTPS inspection is failing if the target Web site is using a CNG certificate</title>
      <link>https://docs.microsoft.com/archive/blogs/isablog/tmg-https-inspection-is-failing-if-the-target-web-site-is-using-a-cng-certificate</link>
      <pubDate>Wed, 28 May 2014 00:58:00 GMT</pubDate>
      <dc:creator><![CDATA[Forefront TMG Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/isablog/2014/05/28/tmg-https-inspection-is-failing-if-the-target-web-site-is-using-a-cng-certificate/</guid>
      <description><![CDATA[If you have configured HTTPS Inspection on TMG you may not be able to access some sites such as...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family:Calibri;font-size:medium;">If you have configured HTTPS Inspection on TMG you may not be able to access some sites such as Twitter and Dropbox.<br /> In this scenario &nbsp;clients will get a blank page and in the TMG logs you will see the error 0x8009000a</span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/httpsi1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/httpsi1.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/httpsi1.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/httpsi1.png" border="0" /></a></p>
<p><span style="font-family:Calibri;font-size:medium;">This happens when:</span></p>
<ul>
<li>
<p>Web site that are using certificate with suite-B algorithm</p>
</li>
<li>
<p>TMG certificate used by HTTPS inspection feature to sign the certificate that will be sent to client is not compatible with suite-B certificate.</p>
</li>
</ul>
<p><span style="font-family:Calibri;font-size:medium;">To resolve the problem you need to install a CNG certificate for the HTTPS Inspection feature</span></p>
<ul>
<li>
<p>This certificate can be issued by your internal CA or it can be a self-signed certificate that you can generate with a script (see below).</p>
</li>
<li>
<p>This certificate must have the &ldquo;Certificate signing&rdquo; key usage<br /> You can read more about CNG certificates in this article: <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/bb931380(v=vs.85).aspx"><span style="color:#0000ff;">https://msdn.microsoft.com/en-us/library/windows/desktop/bb931380(v=vs.85).aspx</span></a></p>
</li>
</ul>
<p><span style="font-family:Calibri;font-size:medium;">As example here is a &nbsp;PowerShell script that create a self-signed CNG certificate: </span></p>
<p><span style="font-family:courier new,courier;font-size:x-small;">#SCRIPT - Generate Self-signed CNG Certificates for Certificate signing purpose, This will be used by TMG Https Inpection &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> #AUTHOR - Franck Heilmann - Microsoft Corporation &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> #VERSION - 1.1</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> #$ErrorActionPreference = &quot;Stop&quot;&nbsp;&nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> Write-Host &quot;`n WARNING: This script sample is provided AS-IS with no warranties and confers no rights.&quot; -ForegroundColor red &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> Write-Host &quot;`n This script sample will generate self-signed CNG Authority certificate to be used by TMG HTTPS Inspection feature&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> Write-Host &quot; in the Local Computer Personal certificate store.`n Private is can be exported. As well the .cer and .pfx files will be save ini the provided directory`n`n&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $outputDir = Read-Host &quot;`nEnter directory path where certificate will be saved&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $Subject = Read-Host &quot;`nEnter the Subject for certificate &quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $password = Read-Host -assecurestring &quot;`nPfx password&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $ValidateDays = Read-Host &quot;`nCertificate Validity days: (please enter number of days)&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> #Generate cert in local computer My store &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $name = new-object -com &quot;X509Enrollment.CX500DistinguishedName.1&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $name.Encode(&quot;CN=$Subject&quot;, 0) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> # The Key &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $key = new-object -com &quot;X509Enrollment.CX509PrivateKey.1&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $key.ProviderName = &quot;Microsoft Software Key Storage Provider&quot; # CNG is Software Key Storage &quot;Microsoft RSA SChannel Cryptographic Provider&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $key.KeySpec = 0 # was 1 but 0 looks needed for CNG https://msdn.microsoft.com/en-us/library/aa379409(VS.85).aspx &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $key.keyUsage =0xfffff # Set the key usage to all usage https://msdn.microsoft.com/en-us/library/windows/desktop/aa379410(v=vs.85).aspx &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $key.Length = 2048 &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $key.SecurityDescriptor = &quot;D:PAI(A;;0xd01f01ff;;;SY)(A;;0xd01f01ff;;;BA)(A;;0x80120089;;;NS)&quot; # Allow Write NT AUTHORITY\SYSTEM Allow Write BUILTIN\Administrators Allow Write NT AUTHORITY\NETWORK SERVICE &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $key.MachineContext = 1 &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $key.ExportPolicy = 1 # Allow private key to be exported XCN_NCRYPT_ALLOW_EXPORT_FLAG 0x00000001 https://msdn.microsoft.com/en-us/library/windows/desktop/aa379002(v=vs.85).aspx &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $key.Create() &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> Write-Host &quot;`nPrivate Key created ......&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> #The certificate itself &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $cert = new-object -com &quot;X509Enrollment.CX509CertificateRequestCertificate.1&quot; # Interface for self signed cert request https://msdn.microsoft.com/en-us/library/windows/desktop/aa377124(v=vs.85).aspx &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $cert.InitializeFromPrivateKey(2, $key, &quot;&quot;) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $cert.Subject = $name &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $cert.Issuer = $cert.Subject &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $today =get-date &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $cert.NotBefore = $today.AddDays(-1) # yesterday &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $cert.NotAfter = $cert.NotBefore.AddDays($ValidateDays) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> # Add Key usage to the certificate, this is needed as TMG chek this during certificate import &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $KeyUsage = new-object -com &quot;X509Enrollment.CX509ExtensionKeyUsage.1&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $Keyusage.InitializeEncode(0x4) #0x4 XCN_CERT_KEY_CERT_SIGN_KEY_USAGE https://msdn.microsoft.com/en-us/library/windows/desktop/aa379410(v=vs.85).aspx &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $cert.X509Extensions.Add($keyusage) &nbsp;</span></p>
<p><span style="font-family:courier new,courier;font-size:x-small;">$BasicConstraints = new-object -com &quot;X509Enrollment.CX509ExtensionBasicConstraints.1&quot;</span></p>
<p><span style="font-family:courier new,courier;font-size:x-small;">$BasicConstraints.InitializeEncode(1,0) #set isCA to true, max path of 0 means it can&#39;t create subordinate CAs, only endpoint certs</span></p>
<p><span style="font-family:courier new,courier;font-size:x-small;">$cert.X509Extensions.Add($BasicConstraints)<br /></span><span style="font-family:courier new,courier;font-size:x-small;">$cert.Encode() &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> Write-Host &quot;`nCertificate created ......&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $enrollment = new-object -com &quot;X509Enrollment.CX509Enrollment.1&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $enrollment.InitializeFromRequest($cert) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $certdata = $enrollment.CreateRequest(0) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $enrollment.InstallResponse(2, $certdata, 0, &quot;&quot;) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> Write-Host &quot;`nCNG self signed installed in the Computer certificate local store&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> #Create the &quot;.pfx&quot; and &quot;.cer&quot; version by exporting the just inserted certificate &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $store = new-object System.Security.Cryptography.X509Certificates.X509Store &quot;My&quot;,&quot;LocalMachine&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $store.Open(&quot;ReadOnly&quot;) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $certs = $store.Certificates &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $cerPath = $outputDir+ &quot;\&quot;+ $Subject+ &quot;.cer&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $pfxPath = $outputDir + &quot;\&quot; + $Subject + &quot;.pfx&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> foreach ($cert in $certs) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> { &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> # write-host $cert.Subject &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> if($cert.Subject -like (&quot;CN=&quot;+ $Subject)) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> { &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $ExportCert = $cert.Export(1) #https://msdn.microsoft.com/fr-fr/library/system.security.cryptography.x509certificates.x509certificate2.aspx 1=.cer 3=.fx &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> [System.IO.File]::WriteAllBytes(($cerPath), $ExportCert) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> Write-Host &quot;`nCertificate .cer exported to: &quot; $cerPath &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $PFXStrData =$cert.Export(3,$password) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> [System.IO.File]::WriteAllBytes($pfxPath, $PFXStrData) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> Write-Host &quot;`nCertificate with private Key .pfx exported to: &quot; $pfxPath &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> } &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> } &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $store.close() &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> #now Import it to Local computer Root store &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $RootCert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2 $cerPath &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $RootStore = new-object System.Security.Cryptography.X509Certificates.X509Store &quot;Root&quot;,&quot;LocalMachine&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $RootStore.Open(&quot;ReadWrite&quot;) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $RootStore.Add($RootCert) &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> Write-Host &quot;`nCertificate installed in Local computer - Trusted root&quot; &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> $RootStore.close() &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> &nbsp;</span><br /><span style="font-family:courier new,courier;font-size:x-small;"> Write-Host &quot;`nDone ... `n&quot; -ForegroundColor Green</span></p>
<p>You will have to copy the above lines into a new file and then save it into a file name with .ps1 extension, such as CNG-HTTPSi.ps1 on a computer running Windows 2008 R2 SP1 or later.</p>
<p>Then follow these steps:</p>
<ul>
<li>
<p>Open a PowerShell window as administrator</p>
</li>
<li>
<p>Ensure local scripts can be executed by running the command:<br /> <b>Set-ExecutionPolicy Set-ExecutionPolicy RemoteSigned</b><br /> Find more information about execution policy in this article: <a href="https://technet.microsoft.com/en-us/library/ee176949.aspx"><span style="color:#0000ff;">https://technet.microsoft.com/en-us/library/ee176949.aspx</span></a></p>
</li>
<li>
<p>Execute the script with the command <b>./CNG-HTTPSi.ps1</b></p>
</li>
<li>
<p>Enter the path where the certificates will be saved</p>
</li>
<li>
<p>Enter the subject, such as &rdquo;CNG HTTPS Inspection&rdquo;</p>
</li>
<li>
<p>Enter the pfx password</p>
</li>
<li>
<p>Enter the validity of the certificate in days, for example 730 for two years</p>
</li>
<li>
<p>In the specified folder you will find a .cer and a .pfx files</p>
</li>
<li>
<p>Deploy the cer file in the Trusted Root container to all clients and the TMG servers, you can deploy the certificate manually or using Active directory<br /> Find more information in this article: <a href="https://technet.microsoft.com/en-us/library/dd441069"><span style="color:#0000ff;">https://technet.microsoft.com/en-us/library/dd441069</span></a></p>
</li>
<li>
<p>Once the certificate is deployed you can reconfigure HTTP Inspection on TMG importing the pfx certificate generated by the script</p>
</li>
<li>
<p>Save and apply the configuration then you will be able to reach the site</p>
</li>
</ul>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span>&nbsp;</p>
<p><b><span style="text-decoration:underline;">Author:</span></b></p>
<p>Gianni Bragante <br />Support Engineer &ndash; Microsoft Forefront Edge Security Team</p>
<p></p>
<p><b><span style="text-decoration:underline;">Reviewer:</span></b></p>
<p>Franck Heilmann<br />Sr. Escalation Engineer - Microsoft Forefront Edge Security Team</p>
<p>Philipp Sand <br />Sr. Support Escalation Engineer &ndash; Microsoft Forefront Edge Security Team</p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>TMG Web Listener Certificate "Private Key handle error" 0x80090016</title>
      <link>https://docs.microsoft.com/archive/blogs/isablog/tmg-web-listener-certificate-private-key-handle-error-0x80090016</link>
      <pubDate>Tue, 27 May 2014 08:24:00 GMT</pubDate>
      <dc:creator><![CDATA[Forefront TMG Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/isablog/2014/05/27/tmg-web-listener-certificate-private-key-handle-error-0x80090016/</guid>
      <description><![CDATA[You may face an issue with a certificate assigned to a listener that suddenly becomes invalid and...]]></description>
      <content:encoded><![CDATA[<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;font-size:medium;">You may face an issue with a certificate assigned to a listener that suddenly becomes invalid and therefore the incoming SSL connection are dropped.</span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;font-size:medium;">Restarting the service you will show the following error:</span></p>
<p><span style="font-family:Calibri;font-size:medium;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key1.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key1.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key1.png" border="0" /></a><br /></span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><i><span style="font-family:Calibri;font-size:medium;">Event Source: Microsoft Firewall<br /> Event ID: 14060<br /> Description: Description: Cannot load an application filter Web Proxy Filter ({4CB7513E-220E-4C20-815A-B67BAA295FF4}). FilterInit failed with code 0x80092004.<br /> To attempt to activate this application filter again, stop and restart the Firewall service.</span></i></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;font-size:medium;">The problem can be caused by the permission on private keys of the certificate store becoming corrupted. This may be affecting one or more certificates.<br /> In these cases deleting the bad certificate and re-importing can help to resolve the the problem most of the times.</span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;">Find more information in this article: <a href="/b/isablog/archive/2009/03/10/unable-to-start-microsoft-firewall-service-in-isa-server-2006.aspx"><span style="color:#0563c1;">https://blogs.technet.com/b/isablog/archive/2009/03/10/unable-to-start-microsoft-firewall-service-in-isa-server-2006.aspx</span></a></span></span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;font-size:medium;">In some cases you may have lost the original PFX file or forgot the password and need the fix the issue using a different approach.<br /> In this article we will discuss how to better diagnose the issue and try to fix it, this may or may not work in your environment depending on the entity of the damage.</span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;font-size:medium;">You can identify the invalid certificates by opening the TMG console, even if the Firewall service is not running, and try to assign the right certificate to all of your listeners.<br /> By unselecting the checkbox &ldquo;Show only valid certificates&rdquo;, you will see a message similar to that in the screenshot below:</span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key2.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key2.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key2.png" border="0" /></a></p>
<p></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;font-size:medium;">In the properties of the listener, when selecting a certificate, you may get the status &ldquo;Private key handle error&rdquo; or &ldquo;Invalid key&rdquo;</span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;font-size:medium;">You can try fixing the issue from the Certificates console:</span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<ul>
<li>
<p>Execute MMC</p>
</li>
<li>
<p>Add the Certificate snap-in for the Local computer</p>
</li>
<li>
<p>In the Personal store right click on the certificate, All task, Manage Private keys<br /> <br /> <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key3.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key3.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key3.png" border="0" /></a></p>
</li>
<li>
<p>If you can assign Full control to the local Administrators group and to SYSTEM<br /> <br /> <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key4.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key4.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key4.png" border="0" /></a></p>
</li>
<li>
<p>Then go back to the TMG console and select the certificate, it should appear valid</p>
</li>
<li>
<p>Save and apply the configuration and try to start the Firewall service</p>
</li>
</ul>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;font-size:medium;">However you may be unable to assign the permission from the certificates console, you may get an Access denied error.<br /> In this case you will have to identify the file with the certificate&rsquo;s private key, the file is located in the folder c:\ProgramData\Microsoft\Crypto\RSA\MachineKeys</span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;"><span style="font-size:medium;">To troubleshoot the issue, you can use Process Monitor from SysInternals (DOWNLOAD: <a href="https://technet.microsoft.com/en-us/sysinternals/bb896645.aspx"><span style="color:#0563c1;">https://technet.microsoft.com/en-us/sysinternals/bb896645.aspx</span></a>).Once downloaded and extracted follow these steps:</span></span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<ul>
<li>
<p>Close all running programs, just keep the Certificates MMC open</p>
</li>
<li>
<p>Start Process Monitor, a capture will start automatically</p>
</li>
<li>
<p>On the Certificate MMC go to Manage Private keys as described above</p>
</li>
<li>
<p>Once you get the Access Denied error go back to Process Monitor and press CTRL-E to stop the capture</p>
</li>
<li>
<p>Click on Tools then Process Tree</p>
</li>
<li>
<p>Scroll down to mmc.exe, right click then Add process to Include filter, then click Close<br /> <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key5.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key5.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key5.png" border="0" /></a><br /> </p>
</li>
<li>
<p>The events will be filtered and only those generated by MMC will be displayed</p>
</li>
<li>
<p>Scroll down in the list and you will see some rows generated while trying to access to the private key file and ACESS DENIED in the result column, right click on any of them then Jump To &hellip;<br /> <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key6.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key6.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key6.png" border="0" /></a><br /> </p>
</li>
<li>
<p>The right folder and file will automatically be opened and you will be able to assign the permissions. You may also need to take ownership of the file in order to do that.<br /> <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key7.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/key7.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31/key7.png" border="0" /></a><br /> </p>
</li>
<li>
<p>Then go back to the TMG console and select the certificate, it should appear valid</p>
</li>
<li>
<p>Save and apply the configuration and try to start the Firewall service</p>
</li>
</ul>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;font-size:medium;">It is important to always re-select the certificate in the TMG console, this way the additional permissions required by the TMG Firewall service will be assigned automatically.</span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><span style="font-family:Calibri;font-size:medium;">Depending on the entity of the damage you may need to follow the above steps for all the certificates affected by the issue.</span></p>
<p><b><span style="text-decoration:underline;"><span style="font-family:Times New Roman;font-size:medium;"> </span></span></b></p>
<p><b><span style="text-decoration:underline;">Author:</span></b></p>
<p>Gianni Bragante <br />Support Engineer &ndash; Microsoft Forefront Edge Security Team</p>
<p></p>
<p><b><span style="text-decoration:underline;">Reviewer:</span></b></p>
<p></p>
<p>Philipp Sand <br />Sr. Support Escalation Engineer &ndash; Microsoft Forefront Edge Security Team</p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>The case of the big AD LDS database</title>
      <link>https://docs.microsoft.com/archive/blogs/isablog/the-case-of-the-big-ad-lds-database</link>
      <pubDate>Tue, 10 Dec 2013 23:50:04 GMT</pubDate>
      <dc:creator><![CDATA[Forefront TMG Team]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/isablog/2013/12/10/the-case-of-the-big-ad-lds-database/</guid>
      <description><![CDATA[recently we were working with customers, who did run into issues where the AD LDS database grew very...]]></description>
      <content:encoded><![CDATA[<p>recently we were working with customers, who did run into issues where the AD LDS database grew very large and they ended up with a full disc on System Drive.</p>  <p>The AD LDS database files can be found in <strong>%windir%\ADAM</strong>. The file which did grow quite big is the <strong>adamntds.dit</strong>.</p>  <p>The AD LDS on TMG is used to save and distribute the TMG configuration. Back in ISA days, you could only find it for Enterprise Edition Servers, in TMG every server has AD LDS installed, but only the Master Node or the EMS has a running and active AD LDS instance running. The AD LDS instance is called ISASTGCTRL.</p>  <p>When analyzing the customers environment, we found, that they were applying multiple configuration changes every hour, by running a custom script which modified the configuration in a way, that some elements were deleted and added.</p>  <p>By design AD LDS keeps track on all deleted records though. This lead to the scenario where the database file grew more and more, as all deleted records were not permanently deleted by only flagged as “to be deleted”.</p>  <p>When we did run the command </p>  <p><strong>Ldifde –m –f exportfpc2.ldf –s localhost –t 2171 –d “CN=FPC2”</strong></p>  <p>we did see a quite small export file of the configuration, which can be some MB depending on the configuration.</p>  <p>When you execute ldifde and add the –X parameter to also show deleted or tombstone objects like this:</p>  <p><strong>Ldifde.exe –x -m -f exportfpc2.ldf -s localhost -t 2171 -d &quot;CN=FPC2&quot; </strong>you might see that the output file can grow very large indeed.</p>  <p>&#160;</p>  <p>The reason for this behavior is, that the AD LDS is configured with a default Tombstone lifetime of 180 days. Therefore all objects remain in the database file until this tombstone lifetime had been exceeded.</p>  <p>Please be aware, that the Tombstone lifetime also controls the amount of days, which can be between a sync of the AD LDS for the case you have multiple AD LDS Server, e.g. in a EMS scenario. </p>  <p>Please visit these sites or some useful information about the tombstone lifetime: </p>  <p>Scenario Overview for Restoring Deleted Active Directory Objects - <a title="https://technet.microsoft.com/en-us/library/dd379542(v=WS.10).aspx" href="https://technet.microsoft.com/en-us/library/dd379542(v=WS.10).aspx">https://technet.microsoft.com/en-us/library/dd379542(v=WS.10).aspx</a></p>  <p>Appendix A: Additional Active Directory Recycle Bin Tasks - <a title="https://technet.microsoft.com/en-us/library/dcf3431a-c562-447f-a591-4742d2bcdbfa(v=ws.10)#BKMK_1" href="https://technet.microsoft.com/en-us/library/dcf3431a-c562-447f-a591-4742d2bcdbfa(v=ws.10)#BKMK_1">https://technet.microsoft.com/en-us/library/dcf3431a-c562-447f-a591-4742d2bcdbfa(v=ws.10)#BKMK_1</a></p>  <p>Depending on your backup strategy for AD LDS you might want to decrease this value if you face the issue, that the AD LDS is using all your Systemdrive disc space. As a rule of thumb the Tombstone Lifetime should not be smaller than the period of days between every full backup of AD LDS. E.g. Full Backup every 7 days -&gt; Tombstone should be at least 8+ days. The minimum value you can define is 3 days.</p>  <p>You can modify the Tombstone lifetime like this:</p>  <p>On TMG where AD LDS is running, open ADSI Edit and connect to the local AD LDS -&gt; localhost:2171 in Well-known-Context: “Configuration”</p>  <p>In Services-&gt;Windows NT -&gt; Directory Services – right-click Directory Services and search for tombstoneLifetime. By default this is set to 180, depending on the customers backup strategy they can decrease this value. As a rule of thumb the Tombstone Lifetime should not be smaller than the period of days between every full backup of AD LDS. E.g. Full Backup every 7 days -&gt; Tombstone should be 8+ days.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/3005.clip_image002_384469A4.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/3005.clip_5F00_image002_5F00_384469A4.jpg"><img title="clip_image002" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/1460.clip_image002_thumb_2A088165.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/1460.clip_5F00_image002_5F00_thumb_5F00_2A088165.jpg" width="493" height="357" /></a></p>  <p>After the change, you need to restart the ISASTGCTRL to apply the change.</p>  <p>To manually trigger a garbage collection, you need to open ldp.exe on the host and connect to localhost:2171 again. Please make sure to connect using a local admin or AD LDS admin.</p>  <p>Next choose Browse -&gt; Modify. </p>  <p>In Attribute add <b>dogarbagecollection</b> with value „1“. Next click Enter and afterwards run. </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/8750.clip_image0026_1C38CC1B.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/8750.clip_5F00_image0026_5F00_1C38CC1B.jpg"><img title="clip_image002[6]" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="clip_image002[6]" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/2251.clip_image0026_thumb_39417AE3.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/2251.clip_5F00_image0026_5F00_thumb_5F00_39417AE3.jpg" width="364" height="394" /></a></p>  <p>Depending on the size of the DB, the garbage collection might not be able to clean all records at once / it might take some days to completely clean up the records.</p>  <p>To monitor the garbage collection, you can increase the tracing using by changing the registry. </p>  <p><b>Important</b> This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base: </p>  <p>How to back up and restore the registry in Windows <a href="https://support.microsoft.com/kb/322756">322756</a> (<a href="https://support.microsoft.com/kb/322756/">https://support.microsoft.com/kb/322756/</a>) </p>  <p>The RegKey you need to look for is HKLM\SYSTEM\CCS\services\ADAM_ISASTGCTRL\Diagnostics you can change the value of the key „6 Garbage collection” to 5 for purposes of monitoring/troubleshooting.</p>  <p>Afterwards you can monitor the events in Application and Services -&gt; ADAM (ISASTGCTRL).</p>  <p>Please be aware the garbage collection is usually triggered once a day, therefore you do not need to trigger the garbage collection manually. </p>  <p>Afterwards you can check the size of the database files on your disc again, and you will realize, that the size did not change… at least it should not grow any more now <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-bottom-style: none; border-right-style: none; border-left-style: none" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/48/31/metablogapi/1780.wlEmoticon-smile_41C4DA2D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-48-31-metablogapi/1780.wlEmoticon_2D00_smile_5F00_41C4DA2D.png" /></p>  <p>In order to free up some disc space, you will need to perform an offline defragmentation of the AD LDS as described here: <a href="https://support.microsoft.com/kb/232122">https://support.microsoft.com/kb/232122</a> or <a href="https://support.microsoft.com/kb/930832">https://support.microsoft.com/kb/930832</a></p>  <p>If you decide to use esentutl, the command looks like this: <b>esentutl.exe /d adamntds.dit</b></p>  <p><strong></strong></p>  <p><strong>Hope that helps!</strong></p>  <p><b><u></u></b></p>  <p><b><u>Author:</u></b></p>  <p>Philipp Sand</p>  <p>Microsoft CSS Forefront Security Edge Team</p>]]></content:encoded>
    </item>
  </channel>
</rss>