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

575

Chương 14: Mật mã

2. Thiết lập trường

KeyContainerName

của đối tượng

CspParameters

là một giá trị chuỗi

mô tả tên của kho chứa khóa cần sử dụng; chuỗi có thể chứa khoảng trắng.

3. Tạo một đối tượng

RSACryptoServiceProvider

hay

DSACryptoServiceProvider

, và

truyền đối tượng

CspParameters

làm đối số cho phương thức khởi dựng.

Nếu kho chứa khóa tồn tại bên trong tầm vực của CSP và chứa các khóa thích hợp, CSP sẽ sử
dụng các khóa này khi thực hiện các thao tác mật mã. Nếu kho chứa khóa hay khóa không tồn
tại, CSP sẽ tự động tạo khóa mới. Để buộc CSP lưu trữ các khóa mới được tạo vào kho chứa
khóa, bạn phải thiết lập thuộc tính

PersistKeyInCsp

(của đối tượng

RSACryptoServiceProvider

hay

DSACryptoServiceProvider

) là

true

.

Phương thức

LoadKeys

dưới đây là một đoạn trích trong file StoreAsymmetricKeyExample.cs

(xem đĩa CD đính kèm).

LoadKeys

tạo một đối tượng

RSACryptoServiceProvider

và cấu hình

cho nó sử dụng một kho chứa khóa có tên là

MyKeys

. Bằng cách chỉ định

PersistKeyInCsp

true

, giải thuật sẽ tự động lưu trữ các khóa mới được tạo vào kho chứa khóa này.

// Phương thức này tạo một đối tượng RSACryptoServiceProvider

// và nạp các khóa từ một kho chứa khóa nếu chúng tồn tại; nếu không,

// RSACryptoServiceProvider sẽ tự động tạo các khóa mới và lưu

// chúng vào kho chứa khóa để sử dụng sau này.

public static void LoadKeys(string container) {

// Tạo một đối tượng CspParameters và thiết lập trường

// KeyContainerName là tên của kho chứa khóa.

System.Security.Cryptography.CspParameters cspParams =

new System.Security.Cryptography.CspParameters();

cspParams.KeyContainerName = container;

// Tạo một đối tượng giải thuật RSA và truyền đối tượng

// CspParameters làm đối số trong phương thức khởi dựng.

using (System.Security.Cryptography.RSACryptoServiceProvider

rsaAlg = new

System.Security.Cryptography.RSACryptoServiceProvider(cspParams)){

// Cấu hình cho đối tượng RSACryptoServiceProvider

// lưu trữ khóa vào kho chứa khóa.

rsaAlg.PersistKeyInCsp = true;

// Hiển thị PUBLIC KEY.

System.Console.WriteLine(rsaAlg.ToXmlString(false));

}

}

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.