CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 47

47

Chương 1: Phát triển ứng dụng

Công cụ Strong Name còn cung cấp tính năng sử dụng kho chứa khóa CSP để đơn giản hóa
việc bảo mật các khóa tên mạnh. Một khi đã tạo một cặp khóa trong một file, bạn có thể cài
đặt các khóa này vào kho chứa khóa CSP và xóa file đi. Ví dụ, để lưu trữ cặp khóa nằm trong
file MyKey.snk vào một kho chứa khóa CSP có tên là StrongNameKeys, sử dụng lệnh

sn -i

MyKeys.snk StrongNameKeys

(mục 1.9 sẽ giải thích cách sử dụng các khóa tên mạnh được lưu

trữ trong một kho chứa khóa CSP).
Một khía cạnh quan trọng của kho chứa khóa CSP là có các kho chứa khóa dựa-theo người-
dùng và có các kho chứa khóa dựa-theo-máy. Cơ chế bảo mật của Windows bảo đảm người
dùng chỉ truy xuất được kho chứa khóa dựa-theo-người-dùng của chính họ. Tuy nhiên, bất kỳ
người dùng nào của máy đều có thể truy xuất kho chứa khóa dựa-theo-máy.
Theo mặc định, công cụ Strong Name sử dụng kho chứa khóa dựa-theo-máy, nghĩa là mọi
người đăng nhập vào máy và biết tên của kho chứa khóa đều có thể ký một assembly bằng các
khóa tên mạnh của bạn. Để công cụ Strong Name sử dụng kho chứa khóa dựa-theo-người-
dùng, sử dụng lệnh

sn –m n

; khi muốn trở lại kho chứa khóa dựa-theo-máy, sử dụng lệnh

sn –

m y

. Lệnh

sn –m

sẽ cho biết công cụ Strong Name hiện được cấu hình là sử dụng kho chứa

khóa dựa-theo-người-dùng hay dựa-theo-máy.
Để xóa các khóa tên mạnh từ kho StrongNameKeys (cũng như xóa cả kho này), sử dụng lệnh

sn –d StrongNameKeys

.

9.

9.

T o tên m nh cho assembly

T o tên m nh cho assembly

Bạn cần tạo tên mạnh cho một assembly để nó:

Có một định danh duy nhất, cho phép gán các quyền cụ thể vào assembly

khi cấu hình Code Access Security Policy (chính sách bảo mật cho việc
truy xuất mã lệnh).

Không thể bị sửa đổi và sau đó mạo nhận là nguyên bản.

Hỗ trợ việc đánh số phiên bản và các chính sách về phiên bản (version

policy).

Có thể được chia sẻ trong nhiều ứng dụng, và được cài đặt trong Global

Assembly Cache (GAC).

Sử dụng các đặc tính (attribute) mức-assembly để chỉ định nơi chứa cặp khóa tên
mạnh, và có thể chỉ định thêm số phiên bản và thông tin bản địa cho assembly.
Trình biên dịch sẽ tạo tên mạnh cho assembly
trong quá trình xây dựng.

Để tạo tên mạnh cho một assembly bằng trình biên dịch C#, bạn cần các yếu tố sau:

Một cặp khóa tên mạnh nằm trong một file hoặc một kho chứa khóa CSP (xem mục 1.8
về cách tạo cặp khóa tên mạnh).

Sử dụng các đặc tính mức-assembly để chỉ định nơi trình biên dịch có thể tìm thấy cặp
khóa tên mạnh đó.

Nếu cặp khóa nằm trong một file, áp dụng đặc tính

System.Reflection.

AssemblyKeyFileAttribute

cho assembly và chỉ định tên file chứa các khóa.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.