我想从Autenticode签名的.Net DLL中提取C#中的公钥而不是公钥令牌吗?
要从Autenticode签名的.Net库获取公共密钥,请使用以下代码:
Assembly assembly = Assembly.LoadFrom("dll_file_name");
X509Certificate certificate = assembly.ManifestModule.GetSignerCertificate();
byte[] publicKey = certificate.GetPublicKey();
但这仅在证书已安装到“受信任的根证书颁发机构”中时才有效。否则,GetSignerCertificate()
返回null。
第二种方法允许获得证书,即使该证书不在“受信任的根证书颁发机构”中也是如此。
X509Certificate executingCert = X509Certificate.CreateFromSignedFile("dll_file_name");
byte[] publicKey = certificate.GetPublicKey();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句