2009-07-15 39 views
6

Tôi có exe cho dự án im làm việc trên chữ ký của chữ ký số có nghĩa là khi nó yêu cầu quyền quản trị, nó hiển thị tên công ty. Điều này hoạt động rất tốt nhưng nếu bạn sửa đổi các exe nó sẽ vẫn làm việc và hiển thị không biết có thay vào đó.Kiểm tra chữ ký số theo chương trình

Có cách nào để kiểm tra chữ ký kỹ thuật số để xem nó có hợp lệ không khi bạn chạy exe để tránh các phiên bản đã sửa đổi đang chạy?

Visual Studio 2008 windows 7

Trả lời

8

Here là một chương trình mẫu (nó sử dụng WinVerifyTrust chức năng) mà xác minh chữ ký, nhưng tôi không chắc chắn rằng nó sẽ làm việc trong môi trường Windows 7. Bạn nên thử nó.

+2

WinTrustVerify là cuộc gọi để thực hiện. Nó sẽ cho bạn biết rằng mã nhị phân đã được ký mã. Nếu bạn cần đảm bảo rằng nó đã được ký với một chứng nhận cụ thể (ví dụ: công ty của bạn), thì bạn cần gọi CertVerifyCertificateChainPolicy để xác thực (có thể trong vòng lặp). – selbie

0

Xem xét bạn đã có nhu cầu UAC, sẽ không đủ để đặt tùy chọn GPO "Chỉ nâng cấp tệp thực thi được ký và xác thực" trong "Cấu hình máy tính \ Cài đặt Windows \ Local Policies \ Security Options"? Ngoài ra còn có một cài đặt "Use Certificate Rules on Windows Executables for Software Restriction Policies" có thể hữu ích.

Các cài đặt này tốt hơn là cố gắng kiểm tra từ ứng dụng của riêng bạn, bởi vì toàn bộ vấn đề là bạn không còn có thể tin tưởng bản thân khi mã nhị phân của bạn được sửa đổi.

+0

điều này sẽ được cài đặt trên người dùng cuối comp vì vậy tôi không thể đặt tùy chọn đó. Im lo lắng hơn về tham nhũng rồi "tin tặc". – Lodle

+0

Ok, không rõ ràng câu hỏi của bạn cho dù bạn sợ Murphy hay Machiavelli. – MSalters

Các vấn đề liên quan