Tôi đang cố gắng tìm một số thông tin về cách (nếu có thể) liệt kê tất cả tên vùng chứa trong CSP tên mạnh (Nhà cung cấp dịch vụ mã hóa).Liệt kê tên vùng chứa của tên mạnh CSP
Về cơ bản, khi bạn nhập sn.exe -i key.snk MyContainerName
, cặp khóa công cộng và khóa cá nhân được lưu trữ vào cái được gọi là "vùng chứa". Sau đó, trong mã của bạn, bạn có thể chỉ định tên chứa trong AssemblyKeyNameAttribute
, ví dụ .:
[assembly: AssemblyKeyName("MyContainerName")]
Điều này sẽ gây ra hội đồng sẽ được ký kết tại thời gian biên dịch.
Tôi đang cố gắng tìm hiểu xem có thể nào đó bằng cách nào đó liệt kê tất cả tên vùng chứa. Tôi đang viết một số plugin for ReSharper cung cấp mã hoàn thành cho thuộc tính InternalsVisibleTo
. Tôi cũng muốn cung cấp mã hoàn thành cho thuộc tính AssemblyKeyName
, nơi tôi sẽ điền trước danh sách có tên vùng chứa đã biết.
Thông tin này có thể truy cập được không?
EDIT: Từ một bình luận trên this question tại Bảo mật CNTT StackExchange, có một liên kết đến một chút util gọi KeyPal. Chạy tiện ích này với LM
sẽ đổ địa phương cửa hàng trọng điểm máy:
--------- KeyPal: MACHINE store: 3 keycontainers --------- [0] VS_KEY_F726FDF898BC4CB8 Signature 1024 [1] IIS Express Development Certificate Container Exchange 1024 CertE: CN=localhost [2] MyContainerName Signature 1024 -------------------------------------------------
đâu tôi có thể thấy rằng cả hai [0] và [2] là tên vùng chứa được hợp lệ để sử dụng với AssemblyKeyName
. Tuy nhiên, có một [1] một - "IIS Express ...", mà không phải là một container hợp lệ. Làm cách nào để phân biệt chúng?
Không giải quyết thực tế vấn đề, nhưng trong trường hợp nó giúp ... Bạn biết nói chung thông qua các thuộc tính không được chấp nhận (như trong bạn sẽ đấu tranh để nhìn thấy nó bên ngoài của V1.1 codebases) trong lợi của VS quản lý cài đặt vào cửa hàng và đi qua chúng vào nhiệm vụ CSC? (http://stackoverflow.com/a/16464894/11635) –
@RubenBartelink Thú vị, cảm ơn. Tôi cho là nhiều, vì hầu như không có thông tin cập nhật về những thứ này. Tôi chỉ làm điều này không quan tâm, vì người dùng plugin ReSharper của tôi đã báo cáo lỗi và trong trường hợp của anh ta, họ vẫn đang sử dụng các thuộc tính. Vì vậy, tôi tự hỏi khó khăn như thế nào để "hỗ trợ" chúng. Nhưng, nó trông giống như bất cứ ai hầu như không sử dụng nó nữa. –