2012-06-18 24 views
6

Công ty của tôi muốn ngăn chặn cửa sổ bật lên UAC xuất hiện khi khách hàng cài đặt sản phẩm của chúng tôi. Chúng tôi đã mua chứng chỉ từ VeriSign (VeriSign Class 3 Code Signing 2010 CA) và tôi nhận được tệp MyCompany.cer.Làm thế nào để ký một MSI?

Tôi đã cài đặt chứng chỉ bằng cách nhấp đúp vào chứng chỉ đó và chọn cửa hàng "Cá nhân". Nó bây giờ xuất hiện trong snapin Certificates, cùng với một vài certs khác. Snapin nói mục đích của nó là "Code Signing". Tôi đã nhận được hàm băm SHA1 bằng cách sao chép dấu vân tay.

tôi cố gắng ký msi với lệnh này:

signtool sign /sha1 <thumbprint> myInstaller.msi 

và nhận được một thông "SignTool Lỗi:. Không có chứng chỉ đã được tìm thấy rằng đáp ứng tất cả các tiêu chí được đưa"

Nếu tôi rời khỏi "/ sha1", tôi nhận được danh sách hầu hết các chứng chỉ khác trong cửa hàng - những người nói mục đích của họ là "< Tất cả >" Chứng chỉ của tôi không được liệt kê.

Tôi đang làm gì sai?

+0

bản sao có thể có của [Làm cách nào để đăng xuất exe và dll bằng chứng chỉ ký mã của tôi] (http://stackoverflow.com/questions/2718776/how-do-i-sign-exes-and-dlls-with-my -code-signed-certificate) –

+0

Tôi đã thử mọi thứ trong bài đăng đó và những người khác nhưng không có kết quả. Tôi nhận thấy rằng mục "Sử dụng khóa" trong tab Chi tiết có một màu vàng nhỏ "!" ký hiệu. Giá trị là "Chữ ký số (80)" – Sisiutl

Trả lời

2

Điều này là khá cũ nhưng tôi hy vọng nó sẽ giúp ai đó.

Trước hết bạn cần phải kiểm tra xem bạn có một khóa riêng cho rằng tập tin cer, Nếu bạn mở nó, bạn sẽ thấy một biểu tượng quan trọng ở đâu đó tiếp theo là câu:

You have a private key for this certificate 

Lưu ý rằng những gì bạn phải cài đặt chứng chỉ trong cùng một máy tính nơi đã tạo cặp khóa (và CSR). Rõ ràng nếu bạn không có khóa riêng, bạn không thể ký bất cứ điều gì.