使用easy-rsa的Cert签署Powershell脚本

时间:2018-03-25 02:37:00

标签: powershell code-signing

如果在其他地方已经回答道歉,我道歉,但我找不到任何非常适合我在这里尝试的事情。

我已经在Linux服务器上设置了CA,我用它来创建OpenVPN证书。如果可以,我想利用现有的基础设施。

我打算做的是使用easy-rsa在我的Linux服务器上创建签名证书,将其导入Server 2012 R2环境,然后从那里签名。之后,我会在我部署脚本的服务器上导入必要的证书。

这可能吗?密钥大小有限制吗?我可以使用哪些算法?是否支持EC?如果是这样,哪条曲线?

我所遇到的所有文献都谈到了在Windows服务器上创建CA,所以我在这里有点亏。

2 个答案:

答案 0 :(得分:0)

我从未使用或需要使用easy-rsa进行证书。

然而,在任何情况下,您都受到所有Windows PKI堆栈正确支持的约束。那么,如果公开使用,那么代码签名证书必须满足最低要求。

  

......证书颁发机构安全委员会(CASC)   正式宣布了他们的新的最低要求   公开信任的代码签名证书,这是第一次   证书颁发机构(CA)将拥有一套标准化的发布   和专门为代码签名设计的管理政策。您   可以阅读本文档中的完整要求:最低要求   发布和管理公开信任的代码签名   证书。

     

https://www.globalsign.com/en/blog/casc-code-signing-certificate-requirements-for-developers

因此,PoSH尽管如此,它只是一个代码签名证书,特别是Windows的Microsoft Authenticode签名证书。

还要认识到的是平台比特,意思是x86 / x64。喜欢赛门铁克的这篇支持文章。它在谈论VBA,但同样的事情。

  

64位版本的Microsoft Windows需要内核模式签名。至   使用代码签名证书签署64位内核模式软件   Microsoft身份验证码或Microsoft代码签名证书   Office和VBA,您需要下载并安装以下内容:

     

https://knowledge.symantec.com/support/code-signing-support/index?page=content&id=SO5820&viewlocale=en_US

另见,此讨论......

  

在Windows上创建代码签名证书以签署PowerShell   脚本

     

根据本指南,我尝试创建签名证书   PowerShell脚本:

     

https://serverfault.com/questions/824574/create-code-signing-certificate-on-windows-for-signing-powershell-scripts

答案 1 :(得分:0)

花了 3 年时间,我问了同样的问题,答案是 - 是的

要求:easy-rsa、openssl

步骤 1: 生成 RSA 私钥。
openssl genrsa -out MySPC.key

第 2 步:发出证书请求。
openssl req -new -key MySPC.key -out MySPC.req

第 3 步:将证书请求导入到easyrsa。
easyrsa import-req MySPC.req MySPC

第 4 步: 签署证书请求,并制作 SPC 证书。
easyrsa sign-req code-signing MySPC

第 5 步:制作 PFX。
openssl pkcs12 -export -out MySPC.pfx -inkey MySPC.key -in MySPC.crt -certfile MyCA.crt

最后一步:将 PFX 文件导入 Windows Keystore。
将 PFX 文件导入受信任的发布者证书存储。

现在您可以使用此证书对您的 powershell 脚本和其他可执行文件进行签名!