小编Dan*_*Dan的帖子

如何安全地存储.pfx密码以在MSBuild中使用?

我需要在我的构建中添加证书签名.下面是我编写的工作脚本示例,但它包含.pfx文件的密码.我无法在构建脚本中保留密码.在这种情况下你会使用什么"最佳实践"或黑客?

<ItemGroup Label="SignFiles">
  <SignFilesInclude="$(FileLocation)\**\*.exe"/>
</ItemGroup>

<Exec Command="$(SignTool) sign /v /ac C:\MSCV-VSClass3.cer /f C:\Certificate.pfx /p Password /t http://timestamp.verisign.com/scripts/timestamp.dll %(SignFiles.Identity)"/>
Run Code Online (Sandbox Code Playgroud)

在谷歌搜索之后,我在多个地方读到,一旦你第一次使用密码运行脚本,.pfx就存储在证书存储中,之后构建脚本中不需要密码.这是有效的,但我想确保这是最好的方法,或者更好,但有一种方法可以避免将密码放在脚本中.

msbuild password-protection pfx

13
推荐指数
1
解决办法
2666
查看次数

在远程机器 C# 上向 IIS7 添加网站

我目前有一个用C#编写的应用程序,它在当前机器上的IIS7中添加了一个网站,并且运行良好,代码如下

 var iisManager = new ServerManager();       

 var sites = iisManager.Sites;

 var site = sites.Add("WebsiteName", "C:\Website", 80);

 var application = site.Applications[0];

 application.ApplicationPoolName = appPool;

 iisManager.CommitChanges();
Run Code Online (Sandbox Code Playgroud)

我必须创建此代码的一个版本,以便将网站添加到位于同一网络上的远程计算机上的 IIS。该代码如下。

 var iisManager= ServerManager.OpenRemote("machineName"); //I've also tried machines IP 

 var sites = iisManager.Sites["Default Web Site"];

 var site =  Sites.Applications.Add("WebsiteName", "C:\Website", 80);

 site.ApplicationPoolName = appPool;

 iisManager.CommitChanges();
Run Code Online (Sandbox Code Playgroud)

当 machineName 是执行代码的机器时,它会将网站添加到 IIS。但是,当 machineName 是远程机器时,我收到以下异常

由于以下错误,从“远程机器名称”检索具有 CLSID {2B72138B-3F5E-4502-8052-803546CE3364} 的远程组件的 COM 类工厂失败:80070005“远程机器”

执行时出现异常

var iisManager= ServerManager.OpenRemote("machineName");
Run Code Online (Sandbox Code Playgroud)

在执行上述代码之前,我使用模拟来模拟管理员。我可以远程访问机器,甚至可以使用 C# 代码在机器上创建文件。

我认为远程机器上的权限存在问题,或者可能是因为它是虚拟机,我真的不确定。

代码 80070005 相当通用,表示访问受限,但我不明白为什么要冒充管理员。

我在 Windows 7 sp1 x64 机器上执行代码,远程 VM …

c# iis-7 remote-server windows-server-2008-r2 servermanager

5
推荐指数
1
解决办法
2450
查看次数