Ok, tôi phải nguyên nhân câm Tôi đã đọc: http://www.csharp411.com/net-assembly-faq-part-3-strong-names-and-signing/tôi dường như không thể hiểu được lắp ráp NET ký điều này
Và tôi vẫn không nhận được nó ...
Giả sử tôi mở thuộc tính của dự án của tôi và đi đến tab "Signing", sau đó tôi kiểm tra "Sign the assembly" và tạo một assembly mới với mật khẩu. Một tệp khóa tên mạnh với phần mở rộng .pfx, với cả khóa công cộng và khóa riêng, đã được tạo và VS sẽ ký kỹ thuật số của tôi khi biên dịch, phải không?
Còn khóa riêng thì sao? Không nên riêng tư và tôi, nhà phát triển, là người duy nhất có nó? Không nên lắp ráp chỉ được ký với khóa công khai?
Có ai có thể giải thích điều này cho tôi không? Về cơ bản, tôi muốn ký hợp đồng dự án của mình và cho phép người dùng kiểm tra xem hội đồng có thực sự được phát triển bởi tôi, nơi tôi là người duy nhất giữ chìa khóa riêng (mà tôi nghĩ là tôi phải làm).
Thực ra, việc sử dụng khóa công khai/riêng tư là khá đối xứng. Mã hóa thông thường (không ký) sử dụng khóa chung. –
@ Henk: Nếu bạn đang nói mã hóa, có, khóa công khai được sử dụng để mã hóa, và khóa riêng được sử dụng để giải mã. Trong phạm vi ký kết, nó bị đảo ngược. Và tôi không chắc tại sao bạn lại gọi đó là đối xứng ... toàn bộ khái niệm sử dụng một chìa khóa để mã hóa/ký tên và một chìa khóa khác để giải mã/xác minh là khá không đối xứng. – jrista
Ký hiệu là mã hóa hiệu quả ngược lại, đó là phần đối xứng. Nhưng bạn nói đúng, nó được gọi là mật mã bất đối xứng. –