.net 是否可以使用SSL证书对我的程序集进行签名?

.net 是否可以使用SSL证书对我的程序集进行签名?,.net,ssl,certificate,ssl-certificate,code-signing,.net,Ssl,Certificate,Ssl Certificate,Code Signing,一箭双雕。我对证书、证书的工作方式等不太熟悉。如果我的公司网站上有SSL证书,我可以用它来签署我的程序集并使它们受信任吗?我想不是,但我认为这是值得一问的。您可以在拥有私钥的地方,使用适当的代码签名证书对程序集(以及任何Windows dll或exe)进行签名 除非非常不寻常,否则网站(身份验证)证书将不具有允许其用于代码签名的正确“用法”属性 有关这方面的更多信息(以及进行签名所需的工具):。除了Richard所说的,还需要区分强命名(使用“原始”私钥对程序集进行签名)和身份验证码签名。强命名

一箭双雕。我对证书、证书的工作方式等不太熟悉。如果我的公司网站上有SSL证书,我可以用它来签署我的程序集并使它们受信任吗?我想不是,但我认为这是值得一问的。

您可以在拥有私钥的地方,使用适当的代码签名证书对程序集(以及任何Windows dll或exe)进行签名

除非非常不寻常,否则网站(身份验证)证书将不具有允许其用于代码签名的正确“用法”属性


有关这方面的更多信息(以及进行签名所需的工具):。

除了Richard所说的,还需要区分强命名(使用“原始”私钥对程序集进行签名)和身份验证码签名。强命名特定于.NET程序集,Authenticode用于对任何PE文件(以及其他一些文件类型)进行签名

此外,如果使用Authenticode对程序集进行签名,请准备在加载程序集时获得延迟。这是因为.NET Framework会在每次加载程序集时验证签名并有选择地检索CRL并执行OCSP检查。因此,除非您必须对程序集进行签名,否则出于性能原因,您可能希望跳过此步骤


在我们的SecureBackbox产品中,我们对所有程序集都进行了签名,但是一些客户报告说这些程序集根本无法加载,这与签名验证有关。因此,我们删除了authenticode签名,只保留了.NET strongnaming。

经过组织验证的SSL证书(包括公司名称)如何?@JoshM:如果组织的SSL证书被标记为代码签名,则可以使用,如果没有标记,则无法使用。证书的信任范围对此没有影响。