Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IIS上的客户端证书-我不确定是否已获得-请体验?_Iis_Asp Classic_Certificate_Digital Certificate - Fatal编程技术网

IIS上的客户端证书-我不确定是否已获得-请体验?

IIS上的客户端证书-我不确定是否已获得-请体验?,iis,asp-classic,certificate,digital-certificate,Iis,Asp Classic,Certificate,Digital Certificate,正在寻找有关使用客户端证书将访问控制恢复到现有应用程序的建议 我们公司现有一个内部网应用程序(经典ASP/IIS),我们将其许可给其他公司。到目前为止,它被托管在每个使用它的组织中,安全性包括“如果你能够访问内部网,你就能够访问应用程序” 我现在正在寻找一种外部托管此应用程序的方法,以便其他不希望自己托管它的组织可以使用它(每个新客户端都有自己的安装) 新组织中的所有用户都将拥有客户端证书,因此我想做的是在IIS中使用“需要客户端证书”的内容。它允许你说“如果Organization=BigCl

正在寻找有关使用客户端证书将访问控制恢复到现有应用程序的建议

我们公司现有一个内部网应用程序(经典ASP/IIS),我们将其许可给其他公司。到目前为止,它被托管在每个使用它的组织中,安全性包括“如果你能够访问内部网,你就能够访问应用程序”

我现在正在寻找一种外部托管此应用程序的方法,以便其他不希望自己托管它的组织可以使用它(每个新客户端都有自己的安装)

新组织中的所有用户都将拥有客户端证书,因此我想做的是在IIS中使用“需要客户端证书”的内容。它允许你说“如果Organization=BigClientX,那么就假装他们是本地用户”

我更喜欢这样的说法:“如果Organization=BigClientX,那么让他们访问VirtualDirectory中的资源,否则就忽略它们”


我很乐意购买一个插件(也许是一个ISAPI过滤器?),如果这是最好的方法,它可以帮我做到这一点欢迎任何建议/战争故事

我也做过类似的事情

从组织的域控制器内部生成证书。将它们导出为用于分发的PFX格式,以及用于在IIS中导入的CER格式

分发PFX格式导出以及DC的CA证书,以便您的客户机器“信任”您的CA

现在在应用程序属性IIS中,转到目录安全选项卡,并在“安全通信”下单击“编辑”。在其中,单击“接受客户端证书”、“启用客户端证书映射”,然后单击“编辑”

在1对1选项卡下,单击“添加”并导入CER文件。输入要将此证书映射到的帐户


至于“让他们访问资源”,我建议通过他们映射到的用户帐户这样做——也就是说,您可以通过NTFS权限,或者通过识别登录用户的安全上下文的代码,基于该帐户提供对资源的访问。

我也做了类似的事情

从组织的域控制器内部生成证书。将它们导出为用于分发的PFX格式,以及用于在IIS中导入的CER格式

分发PFX格式导出以及DC的CA证书,以便您的客户机器“信任”您的CA

现在在应用程序属性IIS中,转到目录安全选项卡,并在“安全通信”下单击“编辑”。在其中,单击“接受客户端证书”、“启用客户端证书映射”,然后单击“编辑”

在1对1选项卡下,单击“添加”并导入CER文件。输入要将此证书映射到的帐户


至于“让他们访问资源”,我建议通过他们映射到的用户帐户来实现这一点——也就是说,您可以通过NTFS权限或通过识别登录用户的安全上下文的代码来基于该帐户提供对资源的访问。

您可能希望这样做。客户端证书实际上是用于第二个身份验证因素,但不是主要来源。换言之,您仍然需要为应用程序配置基本身份验证或表单身份验证

公钥/私钥背后的技术坚如磐石。但是,您需要一个处理证书生命周期管理的非常成熟的IT组织。如果您没有此功能,则会出现无法描述的故障情况,因为证书已过期、未复制到新计算机等


在您的应用程序面向internet的场景中尤其如此(在“托管”场景中)-您几乎无法控制向用户颁发证书。

您可能希望这样做。客户端证书实际上是用于第二个身份验证因素,但不是主要来源。换言之,您仍然需要为应用程序配置基本身份验证或表单身份验证

公钥/私钥背后的技术坚如磐石。但是,您需要一个处理证书生命周期管理的非常成熟的IT组织。如果您没有此功能,则会出现无法描述的故障情况,因为证书已过期、未复制到新计算机等


这在您的应用程序面向internet的场景中尤其如此(在“托管”场景中)-您无法控制向用户颁发证书。

感谢您的回复,我非常感谢。。。我为迟迟没有收到你的回复而道歉。谢谢你的回复,我很感激。。。并为迟迟不肯承认而道歉。