【问题标题】:How do configure/use HTTP Public-Key-Pinning (HPKP) in asp.net MVC application on localhost如何在本地主机上的 asp.net MVC 应用程序中配置/使用 HTTP Public-Key-Pinning (HPKP)
【发布时间】:2019-02-12 09:33:39
【问题描述】:

我必须在 localhost 上配置 HPKP 我不知道如何配置或使用它。 如果你做到了,请帮助我

【问题讨论】:

    标签: asp.net asp.net-mvc http-headers


    【解决方案1】:

    在 ASP.NET Core 中实现 HPKP 实现 HPKP 的一种简单方法是使用我的库,您可以在 NuGet 上获得该库:Joonasw.AspNetCore.SecurityHeaders.

    只需将其安装到您的 ASP.NET Core 项目中,然后您就可以通过单个函数调用将 HPKP 标头添加到您的应用程序中。

    Startup.cs 中的示例配置方法:

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, 
    ILoggerFactory loggerFactory)
    {
    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    loggerFactory.AddDebug(LogLevel.Debug);
    
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseBrowserLink();
    }
    else
    {
        app.UseHttpsEnforcement();
        app.UseHsts(new HstsOptions
        {
            Seconds = 30 * 24 * 60 * 60,
            IncludeSubDomains = false,
            Preload = false
        });
    
        app.UseHpkp(hpkp =>
        {
            hpkp.UseMaxAgeSeconds(7 * 24 * 60 * 60)
                .AddSha256Pin("nrmpk4ZI3wbRBmUZIT5aKAgP0LlKHRgfA2Snjzeg9iY=")
                .SetReportOnly()
                .ReportViolationsTo("/hpkp-report");
        });
    }
    
    app.UseStaticFiles();
    
    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "hpkp-report",
            template: "hpkp-report",
            defaults: new { controller = "Report", action = "Hpkp" });
    
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
    });
       }
    

    【讨论】:

    • 安装 NuGet 时出现此错误:Joonasw.AspNetCore.SecurityHeaders。 PM> 安装包 Joonasw.AspNetCore.SecurityHeaders -版本 2.7.0 安装包:无法安装包“Joonasw.AspNetCore.SecurityHeaders 2.7.0”。您正在尝试将此包安装到以“.NETFramework,Version=v4.5”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。如需更多信息,请联系包作者。
    • 请检查您的 NETFramework 版本是否为“.'.NETFramework,Version=v4.5'”,如果不兼容此 nuget。请在 asp.net 核心项目中升级或设置它工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-29
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    相关资源
    最近更新 更多