2015-08-26 16 views
7

Tôi là nhà phát triển UniversalADBDriver, một công cụ tạo trình điều khiển USB Android tự ký trên máy tính của người dùng.signtool không tìm thấy chứng chỉ trên Windows 10, do bộ lọc khóa riêng

Source code của trình cài đặt và thiết lập gói: https://github.com/koush/UniversalAdbDriver

Công cụ này tạo ra một cặp khóa và thêm một giấy chứng nhận để lưu trữ quan trọng của người dùng, sau đó ký các tập tin trình điều khiển. Điều này làm việc tốt cho đến khi Windows 10, nơi nó không thể giải thích ngừng hoạt động. Tôi đã chạy dòng lệnh theo cách thủ công:

The following certificates were considered: 
    Issued to: UniversalADB 
    Issued by: UniversalADB 
    Expires: Fri Aug 25 17:00:00 2017 
    SHA1 hash: C8701DF4CDC7DD75813400AD2B3B4C2EFDA4E662 

After EKU filter, 1 certs were left. 
After expiry filter, 1 certs were left. 
After Private Key filter, 0 certs were left. 
SignTool Error: No certificates were found that met all the given criteria. 

Trên Windows 10, chứng chỉ đang được lọc bởi "Bộ lọc khóa cá nhân". Không có ý tưởng đó là gì, không có tài liệu bất cứ nơi nào trên đó.

CẬP NHẬT

Tôi đã phát hiện ra rằng không phải makecert.exe hoặc X509Store.add có thể viết giấy chứng nhận/chìa khóa để các cửa hàng Current User khi gọi thông qua cài đặt trên Windows 10. Tuy nhiên, các chứng chỉ trong các cửa hàng máy địa phương được đặt chính xác. Tôi không chắc tại sao lại thế. Vì vậy, về cơ bản, khóa riêng không được đặt trong cửa hàng đúng cách để chữ ký không thành công. Chạy các bước tương tự theo cách thủ công trên dòng lệnh hoạt động. Tôi vẫn cần phải tìm ra lý do tại sao khóa riêng không được lưu giữ trong cửa hàng.

+0

http://blogs.msdn.com/b/windows_hardware_certification/archive/2015/04/01/driver-signing-changes-in-windows-10.aspx – richardwiden

+1

@Richard, Có quá trình ký tên thử nghiệm chính xác là những gì Tôi đang cố gắng làm. – koush

+0

Bạn đã xem xét đầu ra/debug để xem liệu nó có mang lại lợi ích gì không? – JaredPar

Trả lời

4

Tôi đã sử dụng BouncyCastle để tạo chứng chỉ theo chương trình. Vì lý do nào đó, chứng chỉ này dường như không hoạt động nữa trên Windows 10. Tôi đã chuyển sang makecert.exe bao bì để tạo chứng chỉ và dường như sửa chữa nó.

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