将.pfx证书附加到exe文件

Dro*_*ode 0 exe c++-cli certificate x509certificate2 visual-studio

我必须将软件部署到n个客户端,这些客户端将安装证书并使用它.我不想只部署两个文件(.pfx和exe)(包含.pfx的.exe).

我现在正在做的是从一个位置导入证书.

X509Certificate2^ x509 = gcnew X509Certificate2;
x509->Import( "C:\\Tmp\\certficate.pfx" );
Run Code Online (Sandbox Code Playgroud)

可能吗 ?

jgl*_*uie 12

您始终可以将证书数据作为资源嵌入.

但有一个警告:如果有人获得可执行文件,他们可以很容易地提取PFX文件.

您是否能够安全地分发可执行文件?

以下是一些粗略的步骤,摘自:http://www.spikezilla-software.com/blog/? p = 24

  • 将PFX添加到项目中.然后在文件上单击一次,在"属性"窗口中,将"构建操作"设置为"嵌入资源"
  • 阅读嵌入式PFX文件并导入证书

这是C#但你应该能够很容易地翻译成C++/CLI:

var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("MyFile.pfx");
var bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
var cert = new X509Certificate2(bytes, "certPassword");
Run Code Online (Sandbox Code Playgroud)