3
我有一个数字签名的二进制APP.EXE。证书由商业CA颁发。在文件属性(在Windows上),数字签名信息说这个数字签名是好的。如果我以某种方式修改二进制文件(例如,通过在资源黑客改变资源)的数字签名信息说,该数字签名是无效。X509Certificate2.Verify行为
我试图以编程方式验证证书,但X509Certificate2.Verify()返回true
无论我使用哪个文件 - 原始(app.exe)或篡改(app-modified.exe)。
string filename = "app.exe"; // "app-modified.exe"
X509Certificate cert1 = X509Certificate.CreateFromSignedFile(filename);
X509Certificate2 cert2 = new X509Certificate2(cert1);
bool isValid = cert2.Verify();
为什么这个函数在两种情况下都返回true?这是验证文件数字签名的正确方法吗?