在 .net 核心-6ren"> 在 .net 核心-我正在将我的应用程序从 .net 框架转换为 .net 核心 2.1。现在我面临两个问题 1) 在 .net 框架中我们可以使用 HttpClientCertificate cert = Reques-6ren">
gpt4 book ai didi

asp.net - 在 .net 核心

转载 作者:行者123 更新时间:2023-12-05 07:31:44 24 4
gpt4 key购买 nike

我正在将我的应用程序从 .net 框架转换为 .net 核心 2.1。现在我面临两个问题

1) 在 .net 框架中我们可以使用 HttpClientCertificate cert = Request.ClientCertificate;那么我们如何在.net core中使用Request.ClientCertificate。

2) 在.net framework 中我们可以像这样设置位置配置

 <location path="MyPath">
<system.webServer>
<security>
<access sslFlags="Ssl.SslRequireCert,SslNegotiateCert,Ssl128" />
</security>
</system.webServer>
</location>

我想使用 <access sslFlags="Ssl.SslRequireCert,SslNegotiateCert,Ssl128" />在净核心。我该怎么做这两件事。有什么帮助吗?

最佳答案

要访问客户端证书,您可以:

  • 使用HttpContext.Connection.ClientCertificate属性
  • 使用 header 获取证书:Request.Headers["X-ARR-ClientCert"]

要使用 sslFlags,您必须将其添加到 web.config 文件中(与标准 .NET Framework 完全一样)。发布应用程序后,将自动生成 webconfig 文件。打开后可以添加

访问 sslFlags 到它:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\IdentityServer4Demo.dll" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout" />
</system.webServer>
</location>
<location path="account">
<system.webServer>
<security>
<access sslFlags="Ssl,SslNegotiateCert,SslRequireCert" />
</security>
</system.webServer>
</location>
<system.webServer>
<security>
<access sslFlags="SslNegotiateCert" />
</security>
</system.webServer>
</configuration>

关于asp.net - <access sslFlags ="Ssl.SslRequireCer"> 在 .net 核心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51648110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com