{"id":2867,"date":"2023-09-19T08:52:06","date_gmt":"2023-09-19T15:52:06","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/dotnet\/?p=2867"},"modified":"2023-09-19T08:52:06","modified_gmt":"2023-09-19T15:52:06","slug":"https-everywhere-update","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/https-everywhere-update\/","title":{"rendered":"HTTPS Everywhere Update"},"content":{"rendered":"<h2>Mistakes were made<\/h2>\n<p>When we first published the plan for the effort of <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/https-everywhere\/\">HTTPS everywhere<\/a>, we wanted to get developer community feedback on the various HTTP and HTTPS scenarios that we don&#8217;t have much everyday visibility of. After we published that blog, <a href=\"https:\/\/github.com\/NuGet\/Home\/issues\/12015\">we heard you loud and clear<\/a> that there was a gap. This plan needed a clear way to suppress the eventual error case when a non-HTTPS source is used due to various scenarios where you are able to accept the security risk.<\/p>\n<p>We&#8217;ve recently added such functionality that will allow you to do just that. In NuGet 6.8, you will be able add the <code>allowInsecureConnections<\/code> attribute to your respective <code>packageSources<\/code> in your <code>nuget.config<\/code> to enable or disable this functionality. The default is <code>allowInsecureConnections=\"false\"<\/code>.<\/p>\n<p>Here&#8217;s an example:<\/p>\n<pre><code>&lt;packageSources&gt;\n    &lt;clear \/&gt;    \n    &lt;add key=\"nuget.org\" value=\"https:\/\/api.nuget.org\/v3\/index.json\" protocolVersion=\"3\" \/&gt;\n    &lt;add key=\"Contoso\" value=\"http:\/\/contoso.com\/packages\/\" allowInsecureConnections=\"true\" \/&gt;\n    &lt;add key=\"Test Source\" value=\"c:\\packages\" \/&gt;\n&lt;\/packageSources&gt;\n<\/code><\/pre>\n<p>In this example, the insecure http source called <code>Contoso<\/code> has the <code>allowInsecureConnections<\/code> attribute set to <code>true<\/code> and therefore will ignore any default non-HTTPS warnings and errors.<\/p>\n<h2>How we&#8217;ve made it right<\/h2>\n<p>For how we got here, we took all the community feedback to come up with an <a href=\"https:\/\/github.com\/NuGet\/Home\/blob\/dev\/proposed\/2023\/InsecureConnectionsDisableCertificateValidation.md\">open source proposal<\/a> on what we believe will improve this experience. Next, we created an <a href=\"https:\/\/github.com\/NuGet\/Home\/issues\/12785\">epic of including this functionality in all the various NuGet tooling<\/a>. You should see this functionality in NuGet 6.8, .NET SDK 8.0.100, and Visual Studio 17.8.<\/p>\n<h2>Continuing on<\/h2>\n<p>We will continue on the original plan&#8217;s trajectory of upgrading this warning into an error when non-HTTPS sources are used. The only difference is that you will now be able to opt-out of this behavior. Keep an eye on the <a href=\"https:\/\/docs.microsoft.com\/nuget\/release-notes\/\">NuGet official release notes<\/a> for when that will be.<\/p>\n<h2>Feedback<\/h2>\n<p>Your feedback is important to us. If there are any problems with this experience, check our <a href=\"https:\/\/github.com\/NuGet\/Home\/issues\">GitHub Issues<\/a> and <a href=\"https:\/\/developercommunity.visualstudio.com\/\">Visual Studio Developer Community<\/a> for existing issues. For new issues within NuGet, please report a <a href=\"https:\/\/github.com\/NuGet\/Home\/issues\/new\/choose\">GitHub Issue<\/a>. For general NuGet experience issues, let us know via the <a href=\"https:\/\/docs.microsoft.com\/visualstudio\/ide\/how-to-report-a-problem-with-visual-studio\">Report a Problem<\/a> option found in your favorite IDE under <code>Help &gt; Report a Problem<\/code>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mistakes were made When we first published the plan for the effort of HTTPS everywhere, we wanted to get developer community feedback on the various HTTP and HTTPS scenarios that we don&#8217;t have much everyday visibility of. After we published that blog, we heard you loud and clear that there was a gap. This plan [&hellip;]<\/p>\n","protected":false},"author":551,"featured_media":56240,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7874,7928,326],"tags":[],"class_list":["post-2867","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nuget","category-other-announcements","category-security"],"acf":[],"blog_post_summary":"<p>Mistakes were made When we first published the plan for the effort of HTTPS everywhere, we wanted to get developer community feedback on the various HTTP and HTTPS scenarios that we don&#8217;t have much everyday visibility of. After we published that blog, we heard you loud and clear that there was a gap. This plan [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/2867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/551"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=2867"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/2867\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/56240"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=2867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=2867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=2867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}