我是一名软件开发人员。 我的团队encryption了ASP.NET web.config文件的敏感部分。 aspnet_regiis.exe用于pipe理本地密钥库,encryption和解密。
我想build立一个快速的关键pipe理器工具,以避免记住它的位置和语法,基于我发现使用知名search引擎的Powershell脚本 。 这被域策略阻止:
PS H:\> Get-ExecutionPolicy Restricted
在我请求之前,这被改为RemoteSigned …
如果Intranet上的所有计算机都设置为RemoteSigned ,那么是否可以在域CS中为假设的代码安全组创build一个证书,以便证书不能用于SSL或其他证书保护的进程?
这将允许低级开发人员编写脚本并让他们签名,而不会给每个代码审查人员过度的信任。
是。 您可以创build仅适用于代码签名的证书。 您甚至可以自动注册该证书的团队成员,以便自动获取该证书,只要您在域中使用Active Directory证书服务即可。

注意“预期用途”栏中的“代码签名”。 这样的证书将不可用于服务器身份validation,EFSencryption等。您可以修改该证书模板的安全性,以便只有特定的域用户(例如您的开发团队)有资格接收这样的证书。
我在这里和这里写了一些关于签署Powershell脚本的内容。
为了扩大Ryan的答案..
是的,你可以创build一个代码签名证书,唯一的目的是签署AuthentiCode。 Ryan在模板上指出了你的意思。 您必须从该模板创build一个证书types,并将其用于注册,但是您的CApipe理员可以相当快地(几分钟以及您已经实施的任何更改控制)来执行此操作。
下一个重要的部分是将任何已颁发的证书发布到您的所有计算机上。 这可以通过组策略完成,只需将每个人签名代码的单个证书添加到计算机中的“受信任的发布者”存储区即可。

再次,您的AD / GPOpipe理员可以在几分钟内执行一个非常快速的更改。 抛砖引玉是因为AuthentiCode信任不遵循信任链,所以你必须这样做。 (阅读:devise是你必须单独信任每个发布者/签名者,以防止某人从受信任的根购买证书,并将世界上最糟糕的病毒发布为可信软件)