我想用我已部署到集群的证书(即它存在于Cert:\ LocalMachine \ My中)来保护我自己的HTTPS端点(node.js express.js服务器)。
我当然希望避免在源代码管理中使用我的证书。我无法在ServiceManifest中使用EndpointBindingPolicy
,因为据我所知,这仅适用于基于http.sys(?)的系统,这不是。
我的想法可能是运行SetupEntryPoint
脚本:
这样服务器,呃,代码库不需要证书存在,我只需要相信它会在服务运行时存在。
但是我不认为我可以这样做,如果它甚至 是明智的想法,因为商店中的证书被标记为私钥是不可导出的!或者,至少,他们是我的RDP帐户!
有没有办法使用私钥导出证书?
我有什么选择?
我最终编写了一个在我的发布管道中运行的powershell脚本,参数是clientID,clientSecret和certificateName。 clientSecret存储为我的代理的受保护环境变量。
例如,我选择了这个,而不是在SetupEntryPoint中获取证书,因为这可以更好地从开放世界中隐藏客户端秘密(例如,不应该/不需要访问它的开发人员)