【问题标题】:Installing Certificate for CurrenUser/LocalMachine with no AdminRights?为没有管理员权限的当前用户/本地计算机安装证书?
【发布时间】:2019-09-15 21:58:10
【问题描述】:

我正在尝试在 win10 上安装 UWP 应用。 我想自动化整个安装过程(安装证书、依赖项等...)

所以我写了一个调用 2 个 Powershell 脚本的小批处理文件。 一个安装依赖项(检查它们是否已经安装)。 另一个安装证书并将应用程序添加到系统中。

我将证书添加到:

certutil -Enterprise -addstore "TrustedPublisher" .\cert.crt
certutil -Enterprise -addstore "Root" .\cert.crt
Import-Certificate -CertStoreLocation Cert:\LocalMachine\TrustedPublisher -FilePath .\cert.crt
Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root -FilePath .\cert.crt
Add-AppxPackage -Path .\app.appxbundle

现在问题是我的客户希望我在没有管理员权限的情况下这样做。

因此,我认为为 CurrentUser 安装证书会起作用,因为在那里安装证书不需要管理员权限。

所以我像这样更改了我的脚本

certutil -addstore -user -f "TrustedPublisher" .\cert.crt
certutil -addstore -user -f "Root" .\cert.crt
Import-Certificate -CertStoreLocation Cert:\CurrentUser\TrustedPublisher -FilePath .\cert.crt
Import-Certificate -CertStoreLocation Cert:\CurrentUser\Root -FilePath .\cert.crt
Add-AppxPackage -Path .\app.appxbundle

还尝试添加到“TrustedPeople”和“我的”位置。

在没有管理员权限的情况下安装证书工作正常。但是安装应用程序本身失败并出现错误。

“Add-AppxPackage:部署失败,HRESULT:0x800B0109,已处理证书链,但在信任提供者不信任的根证书中终止”

所以证书有点被发现,但它不受信任。 所以我的问题是:

  1. 为什么即使将证书安装在“CurrentUSer/TrutedPublisher”中,系统也不“信任”证书(与 LocalMachine/TrustedPublisher 不同)?
  2. 有没有办法在没有管理员权限的情况下将证书安装到 localMachine?
  3. 我可以通过将应用程序定向到 CurrentUser 中已安装的证书来安装应用程序吗?

我对 Windows 上的整个部署内容不熟悉,所以我希望这些问题有意义:)

【问题讨论】:

    标签: powershell certificate self-signed-certificate


    【解决方案1】:
    1. 如果应用程序安装到-system-,那么它将验证 针对 LocalMachine/TrustedPublisher。这是基本的安全 防止随机用户绕过安全性的机制 “信任”证书并安装随机恶意软件 管理员权限;然后可以由其他用户运行。
    2. “没有管理员权限”安装证书的正确方法是使用组策略安装证书,请参阅Distribute Certificates to Client Computers by Using Group Policy
    3. 没有。不要试图绕过安全措施。基本情况是,您需要管理员才能在 LocalMachine/TrustedPublisher 中安装证书或安装应用程序。最简单的方法是先使用 GPO 安装 Cert。

    【讨论】:

    • 首先,感谢您的回答。 GPO的事情必须由公司自己完成,对吗?我无权访问他们的域或任何东西。所以只是给他们证书,让公司的系统管理员来做?或者有没有办法让我通过 Powersehll 做到这一点,但我可能需要管理员权限来更改我猜的组策略。对吗?
    • 没错。给他们证书,系统管理员将能够轻松设置 GPO 以自动安装。你是对的,你可以使用 PowerShell 来安装证书(具有讽刺意味的是它真的很容易),但你不需要以管理员身份安装它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    相关资源
    最近更新 更多