gpt4 book ai didi

c# - 当我设置 IIS 池的 LoadUserProfile 时到底发生了什么?

转载 作者:IT王子 更新时间:2023-10-29 03:36:52 24 4
gpt4 key购买 nike

我遇到了以下问题。

我运行下面的代码

var binaryData = File.ReadAllBytes(pathToPfxFile);
var cert = new X509Certificate2(binaryData, password);

分两个过程。其中一个进程在 LOCAL_SYSTEM 下运行,此代码成功运行。另一个在属于“用户”本地组的本地用户帐户下的 IIS 中运行,我得到以下异常:

System.Security.Cryptography.CryptographicException
Object was not found.
at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx)
at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromBlob(Byte[] rawData, Object password, X509KeyStorageFlags keyStorageFlags)
at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(Byte[] rawData, String password)
//my code here

所以我用 Google 搜索了一下,找到了 this answer一个类似的问题。我尝试为应用程序池启用 LoadUserProfile,它现在可以工作了。

问题是我不知道当我设置 LoadUserProfile 时到底发生了什么以及可能产生的后果。我的意思是,如果它是一件“好”的事情,那么为什么默认情况下它没有“打开”,毕竟为什么它在那里?

当我在 IIS 池中设置 LoadUserProfile 时到底发生了什么,它会产生什么负面后果?

最佳答案

I mean if it's a "good" thing then why it is not "on" by default and why is it there after all?

IIS 6 从不加载用户配置文件。我假设默认情况下这是关闭的以保持行为一致,并且管理员必须选择加入它。

I tried to enable LoadUserProfile for the application pool and it works now.

这很可能是因为 Windows 加密服务提供商试图在用户存储中存储或加载您的证书的 key ,并且由于配置文件不可用,cryptographic context不可用。请注意,Load User Profile 设置仅适用于用户帐户。 NETWORK SERVICE 和 ApplicationPoolIdentity 等服务帐户具有特殊处理。

What exactly happens when I set LoadUserProfile in IIS pool

好的,用户配置文件已加载。这包括他们的加密存储、环境变量(如 %TEMP%)和其他变量。

最终归结为 LoadUserProfile在 AppPool 启动时由 IIS 调用。

what negative consequences can it have?

它可能会破坏与在 IIS 6 上运行的应用程序的向后兼容性,该应用程序未加载用户配置文件。加载环境变量。例如,当加载用户配置文件为真时,%TEMP% 环境变量为 C:\Users\AccountName\AppData\Local\Temp(例如)。如果为假,则为 C:\WINDOWS\Temp

关于c# - 当我设置 IIS 池的 LoadUserProfile 时到底发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17149132/

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